« Python2.5 + Trac0.10.4 + macro | Main | JavaアプリからXML-RPCでTracのTicketを更新 »

2007.10.14

Ubuntu ServerでTrac

 UbuntuServer(7.04)環境でのTrac環境構築。0.11ではなく、使い慣れた(?)0.10.4(ja)をベースに一部独自に編集したもの。なお、XMLRPCを使用するため、Pythonは2.5を使用。

 各種アプリケーション類をインストール。もしかしたら不要なものも混じっているかもしれませんが(^^; なお、ディレクトリ移動等は省略している場合もあります。

$ sudo apt-get install apache2-mpm-prefork
$ sudo apt-get install python
 (⇒Python2.5が既に入っていたようだ)
$ sudo apt-get install subversion
$ sudo apt-get install python-sqlite
$ sudo apt-get install clearsilver-dev
$ sudo apt-get install python-clearsilver
$ sudo apt-get install python-docutils
$ sudo apt-get install libapache2-mod-python
$ sudo apt-get install libapache2-svn
$ sudo apt-get install python-subversion
$ sudo apt-get install enscript

apt-getでここまでインストールできると、かなり楽ですね。なお、SilverCityのパッケージが見つからなかったので、リポジトリブラウザでのハイライト表示用にenscriptを使用しています(おそらく、SilverCityをソースからビルドして、パスを通しておけば動くような気もしますが)。

 Tracのアーカイブを展開し、

$ sudo python setup.py install

でインストール。テンプレートファイル等は/usr/share/tracフォルダにインストールされました。

 WebAdminプラグインのインストール。Python2.5用のeggファイルがないので、リポジトリからソースをチェックアウトしてからインストール(事前に別途ez_setup.pyを準備しておく必要があります)。

$ sudo wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py
$ mkdir webadmin
$ svn co http://svn.edgewall.com/repos/trac/sandbox/webadmin/ webadmin
$ cd webadmin
$ sudo python setup.py install

 リポジトリ等の準備。/var内に作成することとします。trac-adminは実行ファイルとしてパスが通っています。

$ sudo mkdir /var/tracdata
$ sudo mkdir /var/tracdata/svn
$ sudo mkdir /var/tracdata/trac
$ sudo mkdir /var/tracdata/auth
$ cd /var/tracdata/svn
$ sudo svnadmin create test --fs-type fsfs
$ cd /var/tracdata/trac
$ sudo trac-admin test initenv
 (必要な項目を入力)
$ cd /var/tracdata/auth
$ sudo htpasswd -cm svn.passwd (username)

 フォルダへの権限設定。これをしておかなければ、アクセス時にいろいろなエラーが発生してしまいます。

$ sudo chown -R www-data:www-data /var/tracdata
$ sudo mkdir /var/www/.python-eggs
$ sudo chown www-data:www-data /var/www/.python-eggs

 なお、頻繁にソースの編集を行うような場合は、ソースファイルが入っているフォルダに対してwww-dataの書き込み権限を与えるか、あるいはchownをしておかないとコンパイル後のpycファイルの(自動)生成を行うことができません。

 Apacheの設定。apt-getでApache2をインストールした場合、/etc/apache2/conf.dフォルダ内に追加した.confファイルは自動的にロードされるような設定になっているので、Subversion用にsvn.confファイルとTrac用にtrac.confファイルを準備。

【svn.conf】

<Location /svn >
DAV svn
SVNParentPath /var/tracdata/svn
SVNAutoversioning on
SVNListParentPath On

AuthName "Subversion TestRepository"
AuthUserFile /var/tracdata/auth/svn.passwd
</Location>
<Location /svn/test>
AuthType Basic
Require valid-user
</Location>

【trac.conf】

Alias /trac "/usr/share/trac/htdocs"
<Directory "/usr/share/trac/htdocs">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Location "/tracproj/test/login">
AuthType Basic
Require valid-user
AuthUserFile "/var/tracdata/auth/svn.passwd"
</Location>

<Location "/tracproj">
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracUriRoot /tracproj
PythonOption TracEnvParentDir /var/tracdata/trac

AuthName "TracTestProject"
AuthUserFile /var/tracdata/auth/svn.passwd
</Location>

#ちなみに、apt-getでpython-genshiもインストールできるようなので、Trac0.11が出た場合も比較的インストールしやすそうな感じ? ちなみに、Ubuntuも7.10が近々リリースされるようで。

|

« Python2.5 + Trac0.10.4 + macro | Main | JavaアプリからXML-RPCでTracのTicketを更新 »

Subversion・Trac・etc.」カテゴリの記事

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Ubuntu ServerでTrac:

« Python2.5 + Trac0.10.4 + macro | Main | JavaアプリからXML-RPCでTracのTicketを更新 »