- 2008-04-01 (火) 14:53
- Ubuntu
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を使って動かします。
Subversion+svkでらくらく分散リポジトリ:第2回 SubversionとBTSの連携|gihyo.jp … 技術評論社
$ 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をインストール。
TracPlugins – The Trac Project – Trac
$ 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でも再起動してみそ。
- Newer: PerlでBotを作成中…
- Older: SubversionのApache経由通信にDigest認証をかける
コメント:3
トラックバック:0
- このエントリーのトラックバックURL
- http://blog.riywo.com/2008/04/01/145305/trackback
- Listed below are links to weblogs that reference
- Subversion入れたらTracも入れてみる from As a Futurist...

