Subversion入れたらTracも入れてみる
Trac なんてどうやって使うのかも知らないけど、とりあえずかっこよさそうなので入れてみる。
Apache で普通に動かす
以下のサイトを参考にしたら、あっさり動いた。
$ sudo apt-get install trac
$ mkdir ~/trac
$ tracadmin ~/trac/test initenv
[中略]
Project Name [My Project]> test
[中略]
Database connection string [sqlite:db/trac.db]>
[中略]
Repository type [svn]>
[中略]
Path to repository [/path/to/repos]> /home/username/trac/test
[中略]
Templates directory [/usr/share/trac/templates]>
[中略]
Congratulations!
$ sudo chown -R www-data.www-data ~/trac
このあと、/etc/apache2/httpd.conf に以下を書いたら動いた。
Alias /trac/docs "/usr/share/trac/htdocs/"
ScriptAlias /trac/test /usr/share/trac/cgi-bin/trac.cgi
<location "/trac/test">
SetEnv TRAC_ENV "/home/username/trac/test"
</location>
<locationMatch "/.+/login$">
AuthType Digest
AuthName "Subversion repository"
AuthUserFile /home/username/svn/.htdigest
Require valid-user
</locationMatch>
ユーザ認証のファイル(/home/username/svn/.htdigest)は SVN と Trac で共通にすることで うれしいことがあるようですので共通にしておきます。
python-module を使って Trac
しかし、普通に動かすともっさりしてて遅いので、Apache の python-module を使って動かします。
$ sudo apt-get install libapache2-mod-python enscript
多分、モジュールは自動で有効になっているはず。設定ファイルは今度は/etc/apache2/sites-available/default のなかで、との間に以下を記述。
<location /trac/test>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/username/trac/test
PythonOption TracUriRoot "/trac/test"
</location>
<location "/trac/test/login">
AuthType Digest
AuthName "Subversion repository"
AuthUserFile /home/username/svn/.htdigest
Require valid-user
</location>
あと、これを実行したけど、なんかうまくいってないかも。
$ sudo trac-admin ~/trac/test permission ユーザ名 TRAC_ADMIN
permission list [user]
-- List permission rules
permission add <user> <action> [action] [...]
-- Add a new permission rule
permission remove <user> <action> [action] [...]
-- Remove permission rule
*追記 日本語化してみる
Ubuntu のパッケージで日本語版の Trac があったので入れてみた。
$ sudo apt-get install trac-ja-resource
さっき作った~/trac/test は一回消して、もう一回最初から作る。(てきとうなメモさんの記述が trac-ja-resource”s”になってて少しはまった^^)
$ sudo -u www-data trac-admin ~/trac/test initenv
[中略]
Templates directory [/usr/share/trac/templates]> /usr/share/trac-ja-resource/templates
続いて、Wiki の部分を日本語化。
$ sudo -u www-data trac-admin ~/trac/test wiki load /usr/share/trac-ja-resource/wiki-default
最後に、メニュー部分を日本語化。/etc/apache2/sites-available/default の先ほど追加した場所に以下も記述。
PythonPath "['/usr/share/trac-ja-resource/python'] + sys.path"
こんな感じであっさり日本語化。
*追記 ソースブラウザの文字化け対策
ソースブラウザで UTF-8 が文字化けする理由は~/trac/test/conf/trac.ini の中の default_charset が合ってないかららしい。とりあえず全部 UTF-8 で書いてるので
default_charset = utf-8
としておいた。
自動判別させるには以下のリンクが参考になりそうだが、めんどいのでまたの機会に。
*追記 WebAdmin も追加してみた
さらに続く。ブラウザの画面から trac-admin の動作が行えるっぽい Trac のプラグイン「WebAdmin」も 入れてみた。
これも非常にお手軽で、以下のサイトから ez_setup.py という Python ファイルを落としてきて、実行。 続いて、その導入した easy_install というもので WebAdmin をインストール。
$ sudo python ez_setup.py
$ sudo easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin
もう終わり。あとは上のほうで失敗してたコマンドで、ユーザに管理者権限を与える。(“add”が足りなかったらしい)
$ sudo trac-admin ~/trac/test permission add ユーザ名 TRAC_ADMIN
そして、プラグインを有効にするために、~/trac/test/conf/trac.ini に以下を追加。
[components]
webadmin.* = enabled
これで、このユーザで Trac にブラウザからアクセスすると、メニューの右端に Admin ってのが追加されてるはず。 されてなきゃ、Apache でも再起動してみそ。