gitweb
先日gitosisというgitレポジトリをホスティングするためのプログラムに関するエントリを書いたが、今回はgitwebという、webからレポジトリを閲覧するツールについて書く。
■環境
- CentOS 5.5
- Apache 2.2.3 (yumで入れた標準のやつ)
- git 1.5.5.6 (あまり関係ないけど)
■インストール
yumでインストール。標準じゃなくて centosplus に入ってるのかな?
$ sudo yum install gitweb
設定ファイルをコピー
$ sudo cp /usr/share/doc/gitosis-0.2/gitweb.conf /etc/
■設定
設定ファイルは実質数行。以下、コメントで簡単に説明。
# 本来は /etc/gitweb.conf 以外に設定ファイルを置いて、
# /etc/gitweb.conf があればそれを読み込むようにするみたいだけど、
# 面倒なので /etc/gitweb.conf を直接使うようにする。
# この行をコメントアウトしないと、無限ループになるので注意。
#do "/etc/gitweb.conf" if -e "/etc/gitweb.conf";
# gitosisによって作られるプロジェクト一覧ファイル
# これをコメントアウトすると、一覧は表示されない。
#(けど、設定によってはプロジェクト名を直接指定されると見える)
#$projects_list = "/srv/example.com/git/gitosis/projects.list";
# レポジトリが置いてある場所
# ディレクトリにはApacheが読み込める権限が着いてないとダメ。
$projectroot = "/srv/example.com/git/repositories";
# この行を有効にすると、git-daemonがanonymousで既に公開しているレポジトリのみ
# gitwebから閲覧可能。
#$export_ok = "git-daemon-export-ok";
# こちらにすると全てのリポジトリが閲覧可能。
$export_ok = "";
# gitのベースURL
@git_base_url_list = ('git://example.com');
Apacheの設定。環境によって(VirtualHostとか)違うと思うので、適宜読み替えて。
SetEnv GITWEB_CONFIG /etc/gitweb.conf <Directory /var/www/git> Options ExecCGI FollowSymLinks Indexes Allow from all Order allow,deny AddHandler cgi-script cgi DirectoryIndex gitweb.cgi </Directory>
これで http://example.com/git/ でアクセスできるようになる。
■参考にしたサイト
- これ、英語だけどそれ以外にも分かりやすく説明してある。
- CentOSにgitosis入れてgitwebからも参照出来るように