この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
前提条件
- httpsでアクセスできるwebサーバー(FreeBSD8.3)
- gitインストール済み(portinstall devel/git)
- gitへのアクセスは Basic認証 によるアクセス制限(/home/hoge/.htpasswd)
- gitへのアクセスは /git というURIにする
という条件下での設定です。
Apacheの設定
/usr/local/etc/apache22/extra/httpd-ssl.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:443> (DocumentrRoot やらなにんやらは省略) SetENV GIT_PROJECT_ROOT /home/hoge/git SetENV GIT_HTTP_EXPORT_ALL ScriptAlias /git "/usr/local/libexec/git-core/git-http-backend" <Location /git> DAV on AuthType basic AuthName "Authorization Realm" AuthUserFile /home/hoge/.htpasswd Require valid-user Order allow,deny Allow from all </Location> </VirtualHost> |
としたらwebサーバーを再起動。
レポジトリの作成
レポジトリはROOTディレクトリ(GIT_PROJECT_ROOTの値)の下に作成します。
1 2 3 4 5 6 |
cd /home/hoge/git mkdir ./sandbox.git cd ./sandbox.git git --bare init --shared=true git update-server-info chown -R www:www . |
最後の git update-server-info と chown -R www:www. は忘れがちなので。
特にファイルオーナーはapacheが動いているユーザーにしといたほうがよいです。(追記 2012-04-28 00:30)
これで git clone https://hoge.example.jp/git/sandbox.git として clone することができます。
もちろん git push で push できます。
コメント
[…] gitレポジトリでgit-http-backendを使ってhttpsでアクセスできるようにする | T.T.Soft Code Blog […]