今回は,TracをLinuxにインストールする手順と,Tracの管理者が行う基本的な設定,の2つについて説明します。ただし,前回はTrac Lightning 1.8,すなわちTrac 0.10.4日本語版を用いましたが,今回は新たにリリースされたTrac 0.11日本語版を用います。
※ Trac 0.11(英語版)が2008-06-23にEdgewallから,そして2008-07-07にTrac 0.11日本語版がインタアクトからリリースされました。また,Trac Lightningも2008-07-14にリリースされた2.0.0以後でTrac 0.11日本語版を採用しています。
Linuxへのインストール
連載第2回で説明したように,Tracの稼働には多数のソフトウエアが必要です。そこで,本連載ではTracを出来るだけ簡単にインストールするために,できるかぎりLinuxディストリビューションに含まれるパッケージを利用します。
今回はUbuntu 8.04 LTS Server Editionを用いて説明します。
※ なお,他のLinuxやUNIXのディストリビューションでは少なくともDebian,Fedora,CentOS,openSUSE,Vine,FreeBSDにはTracやTracに必要なパッケージが提供されています。
Tracのインストール(Ubuntu 8.04)
今回は,TracをApache+mod_pythonで,SubversionをApache+mod_dav_svnで動作させる方法を説明します。
さて,Ubuntu 8.04にTracをインストールするには,以下の方法があります。
- ディストリビューションが提供しているtrac (英語版)を使用する
- Trac日本語版をsetuptoolsでインストールする
- Trac日本語版からPython Egg (setuptoolsのパッケージ形式)を作成してインストールする (Trac 0.11以後)
- Trac日本語版からパッケージ(*.deb)を作成してインストールする
- ディストリビューションが提供しているtracパッケージとtrac-ja-resourceパッケージの2つをインストールする
今回は,Trac 0.11から用意された3の方法を使います。
Ubuntuでパッケージをインストールするには,コマンドラインからapt-getやaptitudeコマンド,GUIからはsynapticを使います。今回はコマンドラインからaptitudeとapt-getを用いる手順を説明します。
最初にパッケージ情報を更新し,さらに既存のパッケージを最新版にしておきます。
~$ sudo aptitude update
:(略)
~$ sudo aptitude safe-upgrade
:(略)
次に,trac,apache,mod_python,subversion,setuptools,unzipとそれに関連するパッケージをインストールします。
~$ sudo aptitude install trac libapache2-mod-python libapache2-svn python-setuptools unzip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
Reading extended state information
Initializing package states... 完了
Building tag database... 完了
The following NEW packages will be automatically installed:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libneon27 libpcre3 libpq5
libsvn1 libxml2 python-clearsilver python-pkg-resources python-pysqlite2 python-subversion sgml-base
subversion xml-core
The following NEW packages will be installed:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapache2-mod-python libapache2-svn libapr1
libaprutil1 libneon27 libpcre3 libpq5 libsvn1 libxml2 python-clearsilver python-pkg-resources
python-pysqlite2 python-setuptools python-subversion sgml-base subversion trac unzip xml-core
0 packages upgraded, 23 newly installed, 0 to remove and 6 not upgraded.
Need to get 5873kB of archives. After unpacking 22.2MB will be used.
Do you want to continue? [Y/n/?] : y
: (略)
これでtracとtracに関連するパッケージがすべてインストールされました。
今回はTrac0.11日本語版を使用するため,次にtracパッケージのみをapt-getでアンインストールします。
~$ sudo apt-get --purge remove trac
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが,もう必要とされていません:
python-subversion subversion python-pysqlite2 python-clearsilver
これらを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
trac*
アップグレード: 0 個,新規インストール: 0 個,削除: 1 個,保留: 6 個。
この操作後に 2130kB のディスク容量が解放されます。
続行しますか [Y/n]? y
(データベースを読み込んでいます ... 現在 19208 個のファイルとディレクトリがインストールされています。)
trac を削除しています ...
以上で,Ubuntuのパッケージに含まれるソフトウエアのインストールは完了しました。
次に,Trac 0.11に必須のソフトウエアをインストールします。今回はTrac 0.11日本語版を使用していますが,Ubuntu 8.04のパッケージはTrac 0.10.4ですので,Trac 0.11に必要なGenshi(テンプレートエンジン)がまだインストールされていません。
そこで,先ほどインストールしておいたsetuptools (python-setuptoolsパッケージ)に含まれるeasy_installコマンドを用いて,Genshi 0.5.1をインストールします。
~$ sudo easy_install -Z Genshi==0.5.1
Searching for Genshi==0.5.1
Reading http://pypi.python.org/simple/Genshi/
Reading http://genshi.edgewall.org/
Reading http://genshi.edgewall.org/wiki/Download
Best match: Genshi 0.5.1
Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1-py2.5-linux-i686.egg
Processing Genshi-0.5.1-py2.5-linux-i686.egg
creating /usr/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg
Extracting Genshi-0.5.1-py2.5-linux-i686.egg to /usr/lib/python2.5/site-packages
Adding Genshi 0.5.1 to easy-install.pth file
Installed /usr/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686.egg
Processing dependencies for Genshi==0.5.1
Finished processing dependencies for Genshi==0.5.1
$
このとき,easy_installに「-Z」(--always-unzip) を付けてインストールします。これは #7320 (traceback for genshi-related error) -- The Trac Project -- Tracの障害を回避するためです(この障害は2008-07-26に修正されているため,Trac 0.11の将来のリリースでは不要になるでしょう)。
なお,HTTPプロキシが必要なときは,環境変数HTTP_PROXYでプロキシの情報を与えてから,easy_installを実行してください。
~$ export HTTP_PROXY='http://username:password@proxy.example.jp:8080/'
~$ sudo easy_install -Z Genshi==0.5.1
: (略)
また,あらかじめEgg形式のファイルをGenshi Downloadsから入手していたときは,次のようにしてインストールすることもできます。
~$ sudo easy_install -Z Genshi-0.5.1-py2.5-linux-i686.egg
: (略)
最後にインタアクト社のTrac日本語版をダウンロードして,Eggを作成し,インストールします。
~$ wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.ja1.zip
: (略)
~$ unzip Trac-0.11.ja1.zip
: (略)
~$ cd Trac-0.11.ja1/
~/Trac-0.11.ja1$ python setup.py bdist_egg
running bdist_egg
running egg_info
creating Trac.egg-info
writing requirements to Trac.egg-info/requires.txt
: (略)
creating dist
creating 'dist/Trac-0.11.ja1-py2.5.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
~/Trac-0.11.ja1$ sudo easy_install dist/Trac-0.11.ja1-py2.5.egg
Processing Trac-0.11.ja1-py2.5.egg
removing '/usr/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg' (and everything under it)
creating /usr/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg
Extracting Trac-0.11.ja1-py2.5.egg to /usr/lib/python2.5/site-packages
Trac 0.11.ja1 is already the active version in easy-install.pth
Installing trac-admin script to /usr/bin
Installing tracd script to /usr/bin
Installed /usr/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg
Processing dependencies for Trac==0.11.ja1
Finished processing dependencies for Trac==0.11.ja1
~/Trac-0.11.ja1$