Home > Tech > Server Admin

Server Admin Archive

gitosis をインストール

仕事場では昨年から git を使っています。svn と比べていろんな利点があるとは思いますが、スピードが僕には捨てがたいです。というわけで自分用の git サーバーを立てたいのですが、管理を全て、というのはちょっと面倒くさいし… そこで gitosis という管理ツール群を見つけました。

日本語で書かれたものとして openbooth さんの gitosis – Git リポジトリ群の管理とアクセス制御 vol.1が非常によく纏まっています。僕は Install (Set Up) Git and Gitosis on Ubuntu を参考にしました。

解説は上に上げたページを参考にしてもらうとして僕が少しハマったところを解説します。

  • sudo python setup.py installgitosis-init, gitosis-run-hook, gitosis-serve を /usr/bin 以下にセットアップする
  • gitosis-init は実行したユーザのホームディレクトリに repositories ディレクトリなどを勝手に作ってくれる
  • sudo chmod u+x /var/git/repositories/gitosis-admin.git/hooks/post-update は絶対にする。逆に他の hooks script は +x である必要はない
  • クライアント側でする最初のタスクは、git 開発の手順通り、git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME/gitosis-admin.git git clone の url がわからなかったらマニュアル参照: git-clone(1) 僕は ssh に 22 を使っていないので、git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME:PORT_NUM/gitosis-admin.git のようになりました。
  • gitosis.conf を編集して、新しいレポジトリを作る時、writable にするのを忘れない。そして keyfiles に ユーザの ssh public key を追加するのを忘れない。
  • 一番最初に 新しい repository を追加する前に、僕のように ssh:22 で無い人は、client 側の ssh_config に、
    Host YOUR.HOST.NAME
    Port PORT
    IdentityFile ~/.ssh/id_rsa
    Protocol 2

    を追加しておく必要あり。そうしないと git remote add origin GIT_USER_NAME@YOUR.HOST.NAME:PROJECT_NAME.git が実行できない

あと、エラーがでて git push が成功しなくても、サーバにログインして fix しちゃダメだよね。このツールはサーバに git を使って git を管理できるってのが売りだし。おそらく次回は commit hook の設定の仕方かな?

Update SSL Certificate

あけましておめでとうございます。本年もどうぞよろしく。2009 年のまとめもせずに、本題に入ります。

僕は別のサイトで、CAcert.org を利用して、いわゆるオレオレ証明書ではない、https 通信を実現しています。利用者に root 証明書のインストールを要求するので、本質的にオレオレと変わりない、という批判は受け入れます。が、これ以降 CAcert がどう化けるかわかりませんし、証明書作成のプロセスの勉強にもなります。

なお本記事の多くは以下のページに依りました。

CACert.orgで無料のSSLサーバを動かすメモ [FreeBSD](fkimura.com)

今回は更新なので、domain の登録は済んでいるものとします。Domain の登録に必要なのは、メールアドレスだけです。

作業手順

  1. サーバ秘密鍵作成の作成
    openssl genrsa -rand /var/log/messages -des3 -out /path/to/example.key 1024 54002 semi-random bytes loaded
    パスワードは後で使うことは、あまり、ない。
  2. 証明書申請データの作成
    openssl req -new -key /path/to/example.key -out /usr/local/etc/apache2/ssl.key/example.jp.csr
    ここで唯一のハマりどころはCommon Name [CN] が、登録済みの domain と一致する必要がある、ということ。
  3. 証明書申請データを提出する
  4. (1)で作成したキーのパスフレーズを解除する
  5. 今回作成した 4 ファイルの permission を全て 600 にする
  6. httpd.conf をアップデート

fkimura.com に書いてあるそのままなんですが、あまりやらない作業はなんとなくやりたくない、という心理障壁になります。blog に書いておけば、また半年後やる時に、思い返せるでしょう。

というわけで本年もどうぞよろしく。

Home > Tech > Server Admin

Search
Feeds
Meta
Links
Ads!

Return to page top