プラグインのインストール
Webブラウザ経由でTracの設定を行うために,Tracプラグインをいくつかインストールします。
※ なお,Trac 0.10.4以前ではWebブラウザ経由での設定にはWebAdminPluginが必要でしたが,Trac 0.11ではTrac本体に統合されましたので不要になりました。
プラグインをインストールする方法はいくつかあります。
- easy_installを用いて,Python Package Indexからビルド済みのものを検索してインストールする
- easy_installを用いて,Subversionリポジトリからプラグインを入手してビルドし,インストールする
- Subversionクライアントでソースコードを入手して,setup.pyを手動で実行して,インストールする
- Webブラウザなどでソースコードを入手して,setup.pyを手動で実行して,インストールする
今回は2の方法を使います。また,HTTPプロキシが必要な環境でプロキシがSubversionに対応していない場合やインストール先のPCがインターネットに接続できない場合のために4の方法も説明します。
ユーザーの追加などを行うプラグイン AccountManagerPluginをインストールします。
~$ sudo easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk
Downloading http://trac-hacks.org/svn/accountmanagerplugin/trunk
Doing subversion checkout from http://trac-hacks.org/svn/accountmanagerplugin/trunk to /tmp/easy_install-isPe7D/trunk
Processing trunk
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-isPe7D/trunk/egg-dist-tmp-ZhPBW9
Adding TracAccountManager 0.2.1dev-r3857 to easy-install.pth file
Installed /usr/lib/python2.5/site-packages/TracAccountManager-0.2.1dev_r3857-py2.5.egg
Processing dependencies for TracAccountManager==0.2.1dev-r3857
Finished processing dependencies for TracAccountManager==0.2.1dev-r3857
~$
つまり,easy_installにプラグインのリポジトリURLを指定すれば,プラグインをインストールすることができるわけです。
同様に,設定ファイルtrac.iniを扱うプラグインIniAdminPluginをインストールします。
~$ sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
Downloading http://trac-hacks.org/svn/iniadminplugin/0.11
Doing subversion checkout from http://trac-hacks.org/svn/iniadminplugin/0.11 to /tmp/easy_install-78Q1mS/0.11
Processing 0.11
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-78Q1mS/0.11/egg-dist-tmp-zdfDSA
zip_safe flag not set; analyzing archive contents...
Adding IniAdmin 0.2 to easy-install.pth file
Installed /usr/lib/python2.5/site-packages/IniAdmin-0.2-py2.5.egg
Processing dependencies for IniAdmin==0.2
Finished processing dependencies for IniAdmin==0.2
~$
それでは次に,あらかじめプラグインのソースコードをダウンロードして置き,それをsetup.pyを用いてインストールする場合の手順を説明します。
AccountManagerPluginからあらかじめプラグインのソースコードをダウンロードします。これをunzipで展開し,setup.pyを用いてインストールします。
~$ unzip accountmanagerplugin_trunk.zip
: (略)
~$ cd accountmanagerplugin/trunk/
~/accountmanagerplugin/trunk$ sudo python setup.py install
: (略)
同様にIniAdminPluginからプラグインのソースコードを入手しておき,unzipで展開してsetup.pyでインストールします。
~$ unzip iniadminplugin_0.11.zip
: (略)
~$ cd iniadminplugin/0.11
~/iniadminplugin/0.11$ sudo python setup.py install
: (略)
Apacheの設定(Ubuntu 8.04)
今回,TracとSubversionに必要なディレクトリとファイルを以下の場所に作成します(表1)。
表1●ファイル/ディレクトリの位置と役割
ファイル/ ディレクトリ |
役割 |
| /var/trac |
Tracプロジェクト群を置く |
| /var/trac/htdigest |
Digest認証ファイル(TracとSubversionで使用する) |
| /var/svn |
Subversionリポジトリ群を置く |
| /var/cache/egg |
Tracプラグインの展開先 |
ディレクトリを作成し,Apacheから読み書きできるように所有者をwww-dataユーザーにします。
$ sudo mkdir /var/trac /var/svn /var/cache/egg
$ sudo chown -R www-data:www-data /var/trac /var/svn /var/cache/egg
Apacheの設定を追加します。以下のようにしてエディタを起動して
$ sudo nano /etc/apache2/sites-available/trac
次の内容を入力して保存します。
<Location "/trac">
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir "/var/trac/"
PythonOption TracUriRoot /trac
SetEnv PYTHON_EGG_CACHE "/var/cache/egg"
</Location>
<LocationMatch "/[^/]+/login">
AuthType Digest
AuthName trac
AuthUserFile "/var/trac/htdigest"
Require valid-user
</LocationMatch>
<Location "/svn">
DAV svn
SVNParentPath "/var/svn"
SVNListParentPath on
AuthType Digest
AuthName trac
AuthUserFile "/var/trac/htdigest"
Require valid-user
</Location>
Digest認証ファイルを作成して,Tracの管理用のユーザーアカウントを登録します。
$ sudo -u www-data htdigest -c /var/trac/htdigest trac admin
Adding password for admin in realm trac.
New password: (パスワードを入力)
Re-type new password: (もう一度パスワードを入力)
ApacheのDigest認証モジュールを有効にします。
$ sudo a2enmod auth_digest
Module auth_digest installed; run /etc/init.d/apache2 force-reload to enable.
$
先ほど作成したApacheの設定を有効にします。
$ sudo a2ensite trac
Site trac installed; run /etc/init.d/apache2 reload to enable.
最後に,今回の設定内容の文法チェックを行い,エラーがなければApacheに設定を読み込ませます。
$ source /etc/apache2/envvars
$ apache2 -t
Syntax OK
$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2
...done.
$
以上でApache側の設定は完了です。
WebブラウザでApacheにアクセスして,次の画面が表示されることを確認してください(図1)。