2007年5月13日日曜日

Trac Web Admin Pluginを入れてみた.

 先日書いた「Tracインストール手順メモ.」の続きです.
 とは言え、かなり間が開いてしまいましたが orz

 今回は
  
 ・Trac Web Admin Plugin [ver 0.1.2dev_r4240](Python2.4版)

 をインストールし、TracのWeb画面上から管理者機能を使える様にしようと思います.

1. setuptoolsをインストール.



 オプション機能のsetuptoolsをインストールします.
 上記の「Tracインストール手順メモ.」を先に見ていれば、ダウンロードからインストール方法まで書いてあります.
 Trac Web Admin Pluginをインストールする前に、このオプション機能をインストールしておかなければいけないようです.



2. Trac Web Admin Pluginをインストール.



 インストールと言っても、手順は非常に簡単です.
 インストールパスは、前回作成したテストプロジェクトのディレクトリである事を前提にしています.

[??@fedora]# cd /sources
mv TracWebAdmin-0.1.2dev_r4240-py2.4.egg.zip /usr/local/trac/testprj/plugins/TracWebAdmin-0.1.2dev_r4240-py2.4.egg
[??@fedora]# chown [apache user]:[apache group] TracWebAdmin-0.1.2dev_r4240-py2.4.egg

 実行している事は、Trac Web Admin Pluginの本家サイトに書いてある事だけです.
  1. ダウンロードしたファイルから「.zip」拡張子を削除
  2. プロジェクトの「plugins」ディレクトリにファイルを配置
  3. ファイル権限変更(これは書いてませんが)

 次に、プロジェクト設定ファイルで、Trac Web Admin Pluginを有効にします.

[??@fedora]# vi /usr/local/trac/testprj/conf/trac.ini
…[中略]…
[components]
webadmin.* = enable

 設定ファイル中に[components]セクションが無い場合は、適切な場所に追記します.
 この設定方法は、Tracのマニュアル(TracGuid)に記載してあります.

 さて、インストールは完了しましたが、これだけでTrac Web Admin Pluginが使える訳ではありません.
 ちゃんとユーザー設定、パーミッション設定をする必要があります.



3. ユーザー設定.



 前回のインストール手順メモでは、ごく簡単に(と言うか概要のみ)しか触れていませんでしたが、Trac用のユーザー設定を行います.

[??@fedora]# vi /usr/local/apache2/conf/extra/httpd-trac.conf
 # Tracの設定項目は省略. 前回分参照.
 <LocationMatch "/trac/[^/]+/login">
  AuthType Basic
  AuthName "Test Project"
  AuthUserFile /usr/local/trac/testprj/.htpasswd
  Require valid-user
 </LocationMatch>

 「AuthUserFile」は好みのパスを指定します.
 今回は分かり易い様に、Tracのテストプロジェクト内に「.htpasswd」と言うファイルを作成する事にしました.
 そして、実際に「.htpasswd」(要するに、普通にApacheでパスワード認証する場合と同じファイル)を生成します.

[??@fedora]# htpasswd -c -b /usr/local/trac/testprj [user name] [password]
 ※当然[user name]と[password]を自分の環境にあわせて書き換えます.

 これでユーザー設定が完了しました.
 続いて、Tracプロジェクトのパーミッション設定を行います.



3. パーミッション設定.



 Trac Web Admin Pluginはその名前の通り、Web上からAdministrator的な機能を実行する為のプラグインですので、設定したユーザーがTrac上のAdministrator権限を持っていなければいけません.
 先ほど作成したユーザーに、「TRAC_ADMIN」と言うAdministrator権限を付与します.

[??@fedora]# trac-admin /usr/local/trac/testprj permission add [user name] TRAC_ADMIN

 後は実際に使ってみるだけです.



4. Trac Web Admin Pluginを使う.



 まず、Tracからログインします.
 Tracのトップ画面標示後、右上にある「ログイン」から認証処理を実行します.
 当然、htpasswdで作成したユーザー名、パスワードを入力します.

 そうすると、画面上にユーザー名が表示され(ここまでは標準機能のログイン)、メニューバー(?)に「Admin」ボタンが追加されます.

 環境によっては(?)、認証時に以下の様なエラーが発生するかもしれません.

Traceback (most recent call last):
…[中略]…
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ディレクトリに作成しようとしてエラーが発生しているので、アクセス可能なディレクトリを指定して下さいよ、と言う事でしょう.
 この場合、↑の指示に従って、Apacheの設定ファイルに変更を加えます.

[??@fedora]# vi /usr/local/apache2/conf/extra/httpd-trac.conf
 <Location /trac>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /usr/local/trac
  PythonOption TracUriRoot /trac
  SetEnv PYTHON_EGG_CACHE /usr/local/trac/testprj/.python_eggs
  #↑この1行を追記
 </Location>
 # 以下はパスワード制限する場合に必要.
 <LocationMatch "/trac/[^/]+/login">
  AuthType Basic
  AuthName "Test Project"
  AuthUserFile /usr/local/trac/testprj/.htpasswd
  Require valid-user
 </LocationMatch>

 設定に誤りが無ければ、これで正常にログインできるかと思います.

 Trac Web Admin Pluginの各機能は、この「Admin」ボタンから実行可能です.
 この各種機能を使う事で、上述したtrac-adminを使用したパーミッション設定などをWeb画面上から設定可能になります.
 おお、何とも便利!!

 …ただ、これ公開用で使うのはちょっと恐い気がしないでも無いですね.
 どうなんだろう?
 まぁ、私はローカルでしか使わないので問題ありませんが.

0 件のコメント: