gitwebで、gitサーバ上のgitリポジトリ一覧を表示させる。
gitwebのインストール
$ sudo apt install gitweb
関連CGIモジュールのインストール
$ sudo apt install cgi.pm
- 本モジュールをインストールしないと、”Can’t locate CGI.pm”のエラーが発生。
CGIモジュールを有効化
$ sudo a2enmod cgi
- この時「AH00558エラー」が発生した。
127.0.1.1のFQDNが解決できないというもので、/etc/hosts
に下記のように記述する事で解消。
127.0.1.1 gitserver.hoge.com gitserver
/etc/gitweb.conf
の、リポジトリパスを確認
$projectroot = "/var/lib/git";
- /var/lib/git -> /home/git/repositories へはシンボルリンクして参照させる。
- シンボルリンクの作成手順は、git-daemonの記事参照。
gitoliteのリポジトリ一覧のパスを、/etc/gitweb.conf に記述
#$projects_list = $projectroot;
↓
$projects_list = "/home/git/projects.list";
下記記述を追加
# ページに表示されるサイト名
$home_link_str = "git://gitserver.hoge.com/git";
# ブラウザのタブに表示されるサイト名。
$site_name = "GitWeb >> gitserver repos";
# リポジトリのダウンロードを有効にする。下はzip形式でダウンロード。
$feature{'snapshot'}{'default'} = ['zip'];
gitwebから、gitリポジトリがアクセスできるように
gitグループに、www-dataユーザを追加しておく。
$ sudo usermod -a -G git www-data
gitoliteで、gitdwebからの参照を許可しpushする
$ cd gitolite-admin/conf
$ nano gitolite.conf
----------
repo testtest
R = daemon gitweb
----------
$ git add gitolite.conf
$ commit
$ git push
gitweb.conf を有効にし、apacheを再起動
/etc/apache2/conf-available/gitweb.conf
がインストールされているので、そのまま有効にする。
$ sudo a2enconf gitweb
$ sudo service apache2 restart
下記URLをブラウザから表示する
http://[サーバURL]/gitweb/
補足
gitwebは、/usr/lib/cgi-bin/gitweb
のCGIを実行している
(実体は、/usr/lib/share/gitweb/ にある)
コメント