バージョン管理システムGitのインストール、初期設定、Tipsなど。
git-daemon
Ubuntu 10.04でgit-daemonをxinetd経由で起動させるための設定方法。 ここではローカルネットワーク内からのアクセスのみを許可する条件で設定を行う。
設定
まずはgit-coreパッケージをインストールしておく。
まずはsvnserveを動作させるためのユーザ(ここではgitとする)を作成する。
続いてリポジトリを格納するルートディレクトリ(ここでは/srv/git)を作成する。 git-daemonが書き込めるようにオーナをgitにしておく。
/etc/servicesにgitのサービス名と使用ポート番号が記述されていることを確認する(もしなければ追記する)。
/etc/hosts.allowに下記の内容を追記し、内部ネットワークからの接続のみを許可する。
また、iptablesなどを使ってファイヤーウォールの設定がされている場合は、9418番のポート(/etc/servicesで指定したポート)を忘れずに空けておくこと。
続いて、xinetdでgit-daemonを起動するための設定を行う。 /etc/xinetd.d配下にgit-daemonというファイルを作成し、下記の内容を書き込む。
設定項目の意味は次の通り。
- user
- git-daemonを実行するユーザ
- server
- git-daemonへのフルパス
- server_args
- git-daemonに渡す引数
- --base-path=/srv/git
- リポジトリのルートディレクトリを/srv/gitに設定
- --enable=receive-pack
- 認証なしでpushできるようにする(xinetd経由で動作させた場合は認証機構がないため)
- log_on_failure
- 接続に失敗した場合、ユーザ名をログに記録する
起動設定が整ったところで、xinetdの設定を再読み込みする。
公開用のリポジトリの作成
sandboxというリポジトリを/srv/gitに作成する場合の例。 まずは適当な場所でローカルリポジトリを作成、コミットする。
--bareオプションを付けて公開用のリポジトリを作成する。 (リポジトリのオーナgitで実行するか、chown -Rしてオーナを変更するのを忘れないこと)
作成したローカルリポジトリは不要になるので削除する。
git cloneで公開用リポジトリを複製できるかどうか試す。