Unyablog.

のにれんのブログ

Raspberry pi に GitWeb を入れた

昔 Raspberry Pi に GitLab を入れた記事を書きました。

nonylene.hatenablog.jp

この時、重い重い言いながら運用していました*1が、ニヶ月ほど前にSDカードが壊れる事件が起きて、再構築した時に入れるのがめんどくさくて*2入れてませんでした。そもそもSDカードが壊れたのが GitLab をアップデートして reconfigure 中に突然再起動した後だったのでちょっと怖いというのもあります((

しかし4月になり実験用のレポジトリを作る必要が出てきたため、今回は GitLab をやめて GitWeb を使うことにしました。

Git - GitWeb

GitWeb は Git に含まれてる Perl のウェブアプリで、ブラウザを通じて見る程度の機能しかありませんが素早いようです。これだとアクセスして LA がモリモリ上がることもないでしょう。

環境

  • Raspberry pi 2 B+
  • Raspbian Jessie
  • nginx

導入

gitweb と、nginx で使うために必要な fcgiwrap を入れます。

$ sudo aptitude install gitweb fcgiwrap

設定

  • /etc/gitweb.conf
# path to git projects (<project>.git)
$projectroot = "{{ レポジトリのあるディレクトリ (/git etc.) }}";

# directory to use for temp files
$git_temp = "/tmp";
  • /etc/nginx/sites-enabled/gitweb_nginx.conf
location /{{ address }} {
    root /usr/share/gitweb;
    index index.cgi;
    include /etc/nginx/fastcgi_params;
    if ($uri ~ "/index.cgi") {
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }
}

レポジトリ$projectrootwww-data あたりから見れるようにする必要があります。初め $projectroot750 だったので 404 - No projects found と出て悲しかった。

動かす

$ sudo service fcgiwrap reload // なくてもいいかも
$ sudo service nginx reload

こうして目的のアドレスを見るとプロジェクトにあるレポジトリが表示されます。

f:id:nonylene:20160413235209p:plain

いい感じにログも表示できました。雑なコミットログだ...

f:id:nonylene:20160413235241p:plain

GitLab はまあまあ好きだけど Raspi には大きすぎたよ...ということでしばらくは GitWeb に回帰したいと思います。

参考

*1:Slack に投稿できたりして便利

*2:まあ Ansible コマンド打つだけなんですけど...