Ubuntu 12.04 LTS のTracでGitレポジトリを管理

Windowsで開発していたときはTracLightningsubversionを使っていましたが、Gitに興味を持ったのとせっかくEeeBOXでLinux簡易サーバをたてたのでhttp://kanon.ultimania.org/でGitを使えるようにして見ました。

$ uname -a
Linux EeeBOX 3.2.0-57-generic #87-Ubuntu SMP Tue Nov 12 21:35:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Gitのインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git

$ git --version
git version 1.7.9.5

kanon(Trac)のインストール

Mercurial のインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install mercurial

kanon のインストール

$ sudo hg clone https://bitbucket.org/okamototk/kanonconductor
$ cd kanonconductor
$ sudo bash kanon-setup

ここを参考に(最初わからずコピペしてはまりました orz)

Gitリポジトリの作成

# git init --bare /var/opt/kanon/git/SampleProject
# git --git-dir=/var/opt/kanon/git/SampleProject update-server-info
# chown www-data:www-data -R /var/opt/kanon/SampleProject

Apacheの設定

kanonの場合新たに記述する必要はありません

$ cd /etc/apache2/sites-enabled
$ ls -la vcs < 無かったら(あったと思いますがいろいろやりすぎてわからなくなりました…)
$ sudo ln -s ../sites-available/vcs vcs
$ ls -la vcs
lrwxrwxrwx 1 root root 22 12月 4 19:16 vcs -> ../sites-available/vcs

$ vi vcs
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

$ sudo apachectl configtest
Syntax OK
$ sudo apachectl restart

Tracリポジトリブラウザの設定

TracのGitプラグインインストール

$ sudo # easy_install https://github.com/hvr/trac-git-plugin/zipball/v0.12.0.5

trac.iniの設定変更
$ sudo vi /var/opt/kanon/trac/SampleProject/conf/trac.ini

[components]
...
tracext.git.* = enabled
...

[trac]
...
repository_dir = /var/opt/kanon/git/SampleProject
repository_sync_per_request = (default)
repository_type = git
...

念の為Apacheを再起動して終わりです。

  • 最新のkanonではすでにvcsで記述していたのでバッティングした
  • Gitのバージョン際でScriptAliasのパスが変わっていた

私はこの2つではまったので情報共有しておきます。

追記

Apache2を久しぶりに触ったわけですが、
sites-availableとかmodule-availableとかなんでこんな面倒な事をと
自分でln でシンボリックリンクを張ってしまいましたが
a2dismod a2enmod a2dissite a2ensiteと専用のコマンドがあったのですね。
モジュールやサイト単位の停止・起動ができるのでしょうか?

ちょっと勉強せねばなりませんね。

追記2

ubuntuでの管理方法で昔からあったのですね。
理解すれば確かにわかりやすいかもしれませんね。

ただやっぱりApacheの再起動は必要だったみたいです。
残念