30 January 2012

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