Development

ITpro  > Development
Development

Tracで開発現場を交通整理

ITpro

第3回 TracをLinuxにインストール,Tracの基本的な設定

プラグインのインストール

 Webブラウザ経由でTracの設定を行うために,Tracプラグインをいくつかインストールします。

※ なお,Trac 0.10.4以前ではWebブラウザ経由での設定にはWebAdminPluginが必要でしたが,Trac 0.11ではTrac本体に統合されましたので不要になりました。

 プラグインをインストールする方法はいくつかあります。

  1. easy_installを用いて,Python Package Indexからビルド済みのものを検索してインストールする
  2. easy_installを用いて,Subversionリポジトリからプラグインを入手してビルドし,インストールする
  3. Subversionクライアントでソースコードを入手して,setup.pyを手動で実行して,インストールする
  4. 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)。

図1●アクセス画面
図1●アクセス画面
 [2008/08/06]

この記事に対する読者コメント

コメントに関する諸注意 コメント投稿 コメント一覧