GithubみたいにWebからリポジトリを確認したいな.
ODROID C1のUbuntuサーバ構築も一段落ついたので,今回はGitリポジトリをWebから閲覧できるようにしたいと思います. gitlistを使って実現します.チーム内だけの非公開リポジトリをつくるときなどに便利そうですよね.![]() |
gitlistでgitリポジトリを表示したところ |
インストールと設定
$git clone https://github.com/klaussilveira/gitlist.git $cd gitlist $less README.mdApacheは前回の通りインストール済みです.
$sudo apt-get install apache2
しかしREAD.mdによるとrewriteモジュールが必要なようなので有効にします.
$sudo apt-get install php5 $sudo a2enmod rewritegitlistはPHPで書かれているそうですが,まだPHPをインストールしていなかったので,インストールします.
$sudo apt-get install php5 $sudo a2enmod php5
さて,デプロイします.Apacheで設定したDocumentRootのディレクトリ以下にコピーするだけです.
cacheディレクトリがなければ作成してパーミッション変更.設定ファイルはサンプルをコピーして使います.
$sudo mv gitlist /var/www/html $sudo chmod 777 cache $cp config.ini-example config.ini $emacs config.ini [git] client = '/usr/bin/git' ; ←git実行ファイルの場所 default_branch = 'master' ; ←デフォルトのブランチはマスターにするよ repositories[] = '/home/git/repositories/' ;←リポジトリの場所,複数ある場合は改行して追記 ; hidden[] = '/home/git/repositories/BetaTest' ; ←隠したいリポジトリを書く debug = false cache = true theme = "default" baseurl = "http://localhost/gitlist"; ←これを追記している記述を見かけます.
URLをRewriteするための.htaccessが既にgitlistの中に入っていると思います. Apache側で.htaccessを許可するか,.htaccessの中身を<Direcotry>セクションで書いてやるかして,,
これで,OKなはずです.Webブラウザからhttp://xxx.xxx.xx/gitlistで表示されるはず..
遭遇したトラブル?
空白ページが表示された( ゚Д゚)ヒョエー
blank pageです.真っ白.色々試行錯誤した結果ですが,gitのリポジトリディレクトリ(repositories)はApacheのユーザすなわちwww-dataでもアクセスできる許可が要るようです.リポジトリディレクトリのパーミッションを775など公開用にしてやるか,リポジトリのグループにwww-dataを足すなど,方法はいくつかあると思いますが,ともかくパーミッションがないとWebからも見れないみたいです.私の場合は,リポジトリの持ち主はroot:repoでrepoグループに属していればアクセス可能にしていたので,
sudo gpasswd -a www-data repowww-dataをrepoに追加して対応しました.