gitweb を使う
RHEL/CentOS での設定方法と Ubuntu での設定方法をまとめておきます。
RHEL/CentOS 編
# yum install gitweb
でインストール。
/var/www/git/
以下に一式入った。
httpd の設定に
/etc/httpd/conf.d/git
が追加される。
中身は以下のような感じ。
Alias /git /var/www/git
<Directory /var/www/git>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
1行目の Alias
ディレクティブは、URLに http://host_name/git
が指定されると、/var/www/git
以下がアクセスされるよ、という意味。
/var/www/git
以下はすでに CGI を実行できるようにしてくれてるので、結局 httpd の設定は何もしなくてよいです。
gitwebの設定ファイルは /etc/gitweb.conf
に入っています。
とりあえず
our $projectroot = "/var/git";
という設定を入れておく。別の場所に置きたい場合は、適宜変更してください。
これで /var/git/
以下に git のリポジトリを置けば、公開される。
早速ローカルでブラウザを開いて、 http://127.0.0.1/git にアクセスしてみると、「404 - No projects found」と表示される。
しばらく検索で情報収集していたら、SELinuxが影響しているらしい。
(SELinux自体あまりよくわかってないけど。)
/etc/sysconfig/selinux
を開いて、
SELINUX=enforcing
になっていたところを、
SELINUX=disabled
にしたらうまくいきました。
Ubuntu 編
$ sudo apt-get install
でインストール。
設定ファイルは /etc/apache2/conf.d/gitweb
と /etc/gitweb.conf
に入るが特に変えなくてもよい。
/etc/gitweb.conf
を見ると
$projectroot="/var/cache/git"
になっているので、 /var/cache/git/
以下に git リポジトリを置けば公開される。
ちょっと気になるのはそのディレクトリ位置。
FHS によると、/var/cache/
以下は、キャッシュ置き場であって、消されても復旧可能なものという位置づけのようです。
ここに git リポジトリを置くのはいかがなもんなんでしょうね。
というわけで、気になる場合は git リポジトリは別のディレクトリに置き、 /var/cache/git
からリポジトリ置き場にシンボリックリンクを貼っておくというようにします。
ブラウザを開いて http://127.0.0.1/gitweb/ にアクセスして表示されることを確認します。
簡単ですね。
blog comments powered by Disqus