gitリポジトリをhttpで公開する
開発環境(クライアント)とgitの公開リポジトリ(サーバー)を別々にして、
httpで公開する設定方法について書きました。
なお、サーバー側はDebian(squeeze)で設定を行いました。
サーバー側
gitの公開リポジトリを準備
% cd /var/www # HTTPサーバで設定したリポジトリの公開場所 % sudo mkdir sample_rep.git % sudo cd sample_rep.git % sudo git init --bare Initialized empty Git repository in /var/www/sample_rep.git/ % sudo git update-server-info % chown -R www-data . # HTTPサーバを動作させる user が www-data である場合
apacheのwebdev用モジュールをロード
% sudo a2enmod dav % sudo a2enmod dav_fs
apacheの設定ファイルに以下を追記
% sudo vim /etc/apache2/sites-available/git <Location "/git"> DAV on AuthType Digest AuthName git AuthUserFile /etc/apache2/.htdigest Require valid-user </Location>
ダイジェスト認証用のファイル作成
オプションパラメーターのgitは、設定ファイルのAuthNameでadminはユーザー名。
% sudo cd /etc/apache2/ % sudo htdigest -c .htdigest git admin
apacheの設定を反映
% sudo apache2ctl graceful
クライアント側
クローンでサーバー側から取得する
git clone http://admin@hogehoge.com/git/sample_rep.git