【Ubuntu 16.04 LTS Server】gitwebを使う

スポンサーリンク

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/ にある)

参考

  1. https://git-scm.com/book/ja/v2/Gitサーバー-GitWeb

コメント

タイトルとURLをコピーしました