kanonをさくらVPS上にインストールした その3 GitをHTTP経由で使用できるようにする。

kanonをCent OS 5.5にインストールした場合、Gitに関するApacheの設定もオミットされるらしく、まぁしかたが無いことなので、自分で設定する必要があります。

また、GitをWevDavでアクセスするようにすると、Clone/PullはできてもPushできないとか素敵なことになるので、git-http-backendをCGIとして使用する必要があります。(こちらの方が推奨のようだし。)

まずは、その2までで、Git Coreがインストール済みとして、以下のようにGit用のApacheの設定を作成します。
また、以降の作業は、SUコマンドでrootになって作業してください。

# nano /etc/httpd/conf.d/git.conf

ファイルの内容は以下のようにします。

SetEnv GIT_PROJECT_ROOT /var/opt/kanon/git
SetEnv GIT_HTTP_EXPORT_ALL

ScriptAlias /git/ /usr/bin/git-http-backend/


        AuthType Digest
        AuthName kanon
        AuthUserFile /etc/opt/kanon/kanon_users.htdigest
        Require valid-user

このように設定するとkanonのプロジェクト追加コマンドで追加されたGitのリポジトリをhttpで公開し、kanonで設定したユーザーを使用するようになります。
このファイルをセーブしたら、Apacheを再起動します。

# service httpd restart

基本的にこれで問題ないはずです。うまくいかない場合には以下を参照して、ディレクトリのパーミッションやオーナーを確認してみてください。

参考:TracでGitを利用する(http://kanon.ultimania.org/?p=179)

以下は私のクライアント環境でpull, pushを実行した例。WindowsでmsysGitを使用。

$ git pull origin master
Username for 'XXX.sakura.ne.jp':
Password for 'XXX.sakura.ne.jp':
From http://XXX.sakura.ne.jp/git/hokurikunet_speak
 * branch            master     -> FETCH_HEAD
Already up-to-date.

$ git push origin master
Username for 'XXX.sakura.ne.jp':
Password for 'XXX.sakura.ne.jp':
Counting objects: 3, done.
Writing objects: 100% (3/3), 220 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://XXX.sakura.ne.jp/git/hokurikunet_speak/
 * [new branch]      master -> master

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください