GitリポジトリをHTTP経由で使うときにSmart HTTP Transportを用いた方が良いとのことなのでそのようにする。
参考サイト
環境
- Debian GNU/Linux Squeeze
- Git 1.7.10.4
- Apache 2.2.22
Git用ディレクトリの準備
Gitリポジトリを置くディレクトリを準備する。
% sudo mkdir -p /var/git % cd /var/git % cd ./sandbox.git % sudo git --bare init --shared=true % sudo git update-server-info % sudo chown -R www-data:www-data .
http://hogehoge.server.jp/git/sandobox.git をリモートリポジトリとして使う。
Apacheの設定
/etc/apache2/site-avaiables/default に以下を追記する。
SetENV GIT_PROJECT_ROOT /var/git SetENV GIT_HTTP_EXPORT_ALL ScriptAlias /git "/usr/lib/git-core/git-http-backend" <Location /git> AuthType Digest AuthDigestProvider file AuthName "Git" AuthUserFile /var/git/git.htdigest Require valid-user Order allow,deny Allow from all </Location>
Apacheを再起動する。
% sudo /etc/init.d/apache2 restart
パスワードファイルの設置
next49をユーザとして、ダイジェスト認証用のパスワードファイルを設置する。
% sudo htdigest -c /var/git/git.htdigest Git next49
確認する
ローカルマシンで確認する。
% git clone http://hogehoge.server.jp/git/sandobox.git % touch newfile % git add % git commit % git push origin master