WebAdminプラグインのインストールでハマリ
Tracの管理はすべてコマンドラインツールのtrac-adminで行います。コマンドラインツールでの管理は、バッチ処理とかもできるので便利だとは思います。でも、ちょっと権限を直したいようなときにも、サーバにリモートログインしてコマンド叩かなきゃならないってのはやはり面倒。
「Webインタフェースないのかな~」と思ってたらありました。その名もWebAdmin!さっそくインストール。
全プロジェクトで使いたいので、グローバルにインストールすることにします。
まずは、マニュアルの「Tracプラグイン」のページに書いてある通りに、setuptoolsをインストール。
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
Python2.3の場合は、TracWebAdmin-0.1dev_r2440-py2.3.egg.zipをダウンロードして、TracWebAdmin-0.1dev_r2440-py2.3.eggにリネームしたものを/usr/lib/python2.3/site-packages/(CentOSの場合。このディレクトリがなければ多分別の場所です。locate lib/python2.3/site-packagesして探してください)にコピーすればいいみたい。
# wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1dev_r2440-py2.3.egg.zip
# cp TracWebAdmin-0.1dev_r2440-py2.3.egg.zip /usr/lib/python2.3/site-packages/TracWebAdmin-0.1dev_r2440-py2.3.egg
あとは、trac.iniの編集
# vi /home/trac/project/conf/trac.ini
(省略)
[components]
webadmin.* = enabled
↑この2行を追加
管理者ユーザにTRAC_ADMIN権限が与えられていないといけません。確認します。
# trac-admin /home/trac/trac/ permission list admin
User Action
------------------------
admin BROWSER_VIEW
(省略)
admin TRAC_ADMIN
TRAC_ADMINがない場合は、
# trac-admin /home/trac/trac/ permission add admin TRAC_ADMIN
で権限を追加します。
さて、これでOKのはず。
Oops...
Trac detected an internal error:
Can't extract file(s) to egg cache
The following error occurred while trying to extract file(s) to the Python egg
cache:
[Errno 13] Permission denied: '/root/.python-eggs'
The Python egg cache directory is currently set to:
/root/.python-eggs
Perhaps your account does not have write access to this directory? You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.
がーん。メッセージ読むと、/root/.python-eggsにキャッシュ作ろうとしてるらしい。/rootに権限与えるわけにはいかないしなあ。。。環境変数PYTHON_EGG_CACHEを設定すればキャッシュ先を変えられるらしいけど。apacheにシェルはないし。ここでさんざん悩んだ末。マニュアルよく読んだらかいてあるじゃん。
プラグインのキャッシュの設定 ¶
(略)
PYTHON_EGG_CACHE を SetEnv ディレクティブを使用して Apache に設定するには以下のようにします:SetEnv PYTHON_EGG_CACHE /path/to/dir
あ、そっか。そういえば、そんなディレクティブあったっけ。てことで。昨日編集した/etc/httpd/conf.d/python.confの<Location /projects>ブロックを修正。
<Location /projects>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/trac
PythonOption TracUriRoot /projects
SetEnv PYTHON_EGG_CACHE /home/trac/.python-eggs ←--この行を追加
</Location>
これでWebAdminが動きました。きっと、setuptoolsをrootでインストールしちゃったのがまずかった?
| 固定リンク
|


コメント
参考になりました。ありがとうございます。
投稿: miraphone | 2007/03/11 16:02
>miraphone
こちらこそ、わざわざありがとうございます。
反応がもらえるとうれしいです。miraphoneさんのblog読ませていただきます。
投稿: でんでん♪ | 2007/03/16 10:41
感謝です。
投稿: user | 2007/05/14 11:06