本を読む

読書やコンピュータなどに関するメモ

gitのhttpなリポジトリをApacheの仮想ホストに立てるメモ

 OSアカウントを作らずHTTPのBASIC認証でアクセスできるgitリポジトリをDebianで作る手順。なんか毎回やるたびに手元のメモやネットを調べ直してるので、ブログにメモを残しておく。

追記2011.12.15:最近では以下で説明しているWebDAVではなく、gitに付いてくるgit-http-bakcendというCGIプログラムを使うほうがよいらしいので注意。

 以下、http://hoge.example.com/fuga.gitというURLでgit cloneできるようにする場合。

 あらかじめgitとApache 2.2をインストールしておく。Apacheはまず止めておく。

$ sudo apt-get install git-core
$ sudo apt-get install apache2
$ sudo /etc/init.d/apache2 stop

 ApacheのWebDAVモジュールを有効に。

$ sudo a2enmod dav
$ sudo a2enmod dav_fs

 仮想ホストの設定ファイル/etc/apache2/sites-available/hoge.example.comを作成。

<VirtualHost *:80>
        ServerName hoge.example.com
        ServerAdmin webmaster@example.com

        DocumentRoot /path/to/documentroot
        <Directory /path/to/docuentroot>
                AllowOverride None
        </Directory>
        <Directory /path/to/documentroot/fuga.git>
                DAV On
                AuthType Basic
                AuthName "Access control"
                AuthUserFile /path/to/htpasswd
                Require valid-user
        </Directory>

        CustomLog /var/log/apache2/access_hoge.example.com.log combined
        ErrorLog /var/log/apache2/error_hoge.example.com.log
</VirtualHost>

 仮想ホストを有効に。

$ sudo a2ensite hoge.example.com

 BASIC認証のIDとパスワードを設定。

$ sudo -u www-data htpasswd -c /path/to/htpasswd oreore
(パスワードを入力)

 gitリポジトリを作成。これでいいかはちょっと不安。

$ cd /path/to/documentroot
$ sudo -u www-data mkdir fuga.git
$ cd fuga.git
$ sudo -u www-data git init --bare --shared=true
$ sudo -u www-data git --bare update-server-info

 Apacheを起動。

$ sudo /etc/init.d/apache2 start

参考:

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/795-3989cf0d

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad