てきとうなメモ

本の感想とか技術メモとか

Tracのインストール

tracの再インストールしたのでメモ.OSはubuntu7.10.

subversion

インストール.

$ sudo apt-get install subversion

ディレクトリ作成.webdav経由でアクセスするのでユーザはwww-data

$ sudo mkdir /var/svn
$ sudo chown www-data.www-data /var/svn

テスト用にリポジトリを作ってみる

$ sudo -u www-data svnadmin create --fs-type /var/svn/test 

apachewebdav経由で利用するので,libapache2-svnをインストール

$ apt-get install libapache2-svn

dav_svn.confの設定.

$ cat /etc/apache2/mods-available/dav_svn.conf
<Location /svn>
  DAV svn

  # /var/svn/projnameにリポジトリを作成する
  SVNParentPath /var/svn

  # digest認証の設定
  AuthType Digest
  AuthName "repository"
  AuthUserFile /etc/apache2/.htdigest

  # コミットのアクセス制限
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>

</Location>

パスワードファイルの作成.

$ sudo htdigest -c /etc/apache2/.htdigest svn username
$ sudo chmod 600 /etc/apache2/.htdigest
$ sudo chown www-data.www-data /etc/apache2/.htdigest

モジュールが有効になってなかったら有効にする

$ sudo a2enmod dav_svn
$ sudo a2enmod auth_digest

apacheの再起動

$ sudo /etc/init.d/apache2 restart

これで,http://server/svn/testにアクセスすればリポジトリが表示される

trac

インストール.

$ sudo apt-get install trac trac-ja-resource

ディレクトリ作成.こちらもwww-dataにする

$ sudo mkdir /var/trac
$ sudo chown www-data.www-data /var/trac

テスト環境を作ってみる.テンプレートは/usr/share/trac-ja-resources/templates

$ sudo -u www-data trac-admin /var/trac/test initenv

日本語のwikiをロードする

$ sudo -u www-data trac-admin /var/trac/test wiki load /usr/share/trac-ja-resource/wiki-default

mod_pythonのインストール

$ sudo apt-get install libapache2-mod-python

apacheの設定

<Location /trac>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  # 親ディレクトリの設定.ここにアクセスすると全プロジェクトがリストアップされる
  PythonOption TracEnvParentDir /var/trac
  PythonOption TracUriRoot /trac
</Location>
# 認証
<LocationMatch "/trac/[^/]+/login">
  AuthType Digest
  AuthName "trac"
  AuthUserFile /var/trac/.htdigest
  Require valid-user
</LocationMatch>

/etc/apache2/apache2.confや/etc/apache2/site-available/defaultに書きたくないので,これをどこに置くべきなのか迷ったけども,/etc/apache2/site-available/tracに置いてみた./etc/apache2/conf.d/以下の方がいいのかもしれない.
パスワードファイルにtracのパスワードも追加.面倒なのでrealmを一緒した方がよかったかも.

$ sudo -u www-data htdigest /etc/apache2/.htdigest trac username

apacheの再起動

$ sudo /etc/init.d/apache2 restart

これで動くのかなと思ったら.以下のようなエラーがでた.

TracError: ClearSilver not installed (/usr/lib/python2.5/site-packages/neo_cgi.so: undefined symbol: Py_InitModule4)

ubuntu7でamd64であるせいらしく,これを参考に入れてみる

$ sudo apt-get build-dep python-clearsilver
$ sudo apt-get install python-dev
$ wget http://www.clearsilver.net/downloads/clearsilver-0.10.4.tar.gz
$ tar xzvf clearsilver-0.10.4.tar.gz
$ cd clearsilver-0.10.4
$ ./configure --with-python=/usr/bin/python2.5
$ make

うちの環境ではrubyバインディングのビルドで失敗したのでrubyは無視する.

$ ./configure --with-python=/usr/bin/python2.5 --disable-ruby
$ make clean
$ make
$ sudo make install

これでhttp://server/trac/testにいくとtracが表示される.