2014.01.30
カテゴリ:Linux
Git をインストール(SmartHTTP)
- Web公開ディレクトリにリポジトリを作成
- /var/www/git/ 以下にリポジトリ rep1 を作成。Apache2 で扱えるように所有者も変更。
sudo mkdir -p /var/www/git/rep1
sudo git --bare init
sudo chown -r www-data.www-data /var/www/git
- /var/www/git/ 以下にリポジトリ rep1 を作成。Apache2 で扱えるように所有者も変更。
- Apache2 のGit用設定ファイル追加
- /etc/apache2/conf.d/git.conf を作成。SmartHTTP というのは git-http-backend を呼ぶものらしい。
とりあえずHTTPでBASIC認証する設定で。
- /etc/apache2/conf.d/git.conf を作成。SmartHTTP というのは git-http-backend を呼ぶものらしい。
SetEnv GIT_PROJECT_ROOT /var/www/git/ SetEnv GIT_HTTP_EXPORT_ALL AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1 AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1 ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ <location /git> AuthType Basic AuthName "Git Repository" AuthUserFile /etc/apache2/passwd.git Require valid-user </location>
- パスワード設定
- パスワードファイル新規作成時は -c 付き。
sudo htpasswd -c /etc/apache2/passwd.git user1
- パスワードファイル新規作成時は -c 付き。
- Apache2再起動
sudo /etc/init.d/apache2 restart
- ブラウザで直接アクセスしても白い画面にしかならない。
- TortoiseGit などのGitクライアントからclone(リポジトリ内容をローカルにコピーすること。SVNでいうcheckout)できれば成功。