濱谷 千尋(はまたに ちひろ)
2004年にTracの存在を知って惚れ込む。Tracや同様のソフトウエアを普及させるべく,収集した情報をdiscypus.jpにて発信している。

 今回は,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のディストリビューションでは少なくともDebianFedoraCentOSopenSUSEVineFreeBSDにはTracやTracに必要なパッケージが提供されています。

Tracのインストール(Ubuntu 8.04)

 今回は,TracをApache+mod_pythonで,SubversionをApache+mod_dav_svnで動作させる方法を説明します。

 さて,Ubuntu 8.04にTracをインストールするには,以下の方法があります。

  1. ディストリビューションが提供しているtrac (英語版)を使用する
  2. Trac日本語版をsetuptoolsでインストールする
  3. Trac日本語版からPython Egg (setuptoolsのパッケージ形式)を作成してインストールする (Trac 0.11以後)
  4. Trac日本語版からパッケージ(*.deb)を作成してインストールする
  5. ディストリビューションが提供している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$

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら