この情報は古い可能性があります!
またやりもしないのに遊んでみます。
HP: http://trac.edgewall.org/
日本語化:
必須
Python 2.3以上
データベースサーバ(SQLite/PostgreSQL/MySQL)
・SQLite→PySQLite
・PostgreSQL→psycopg2かpyPgSQL
・MySQL→MySQLdb
オプション
Subversion 1.0以上
・TracはSWIGを使うのでPySVNは入れなくて良し
Apache
・FastCGI http://www.fastcgi.com/
・mod_python http://www.modpython.org/
・mod_wsgi http://code.google.com/p/modwsgi/
今回はTrac+MySQL+mod_python+Subversionで行きます。
事前準備
mysql -u root -p mysql
mysql> grant all privileges on trac.* to trac@localhost identified by 'tracpass';
mysql> create database trac;
mysql> \q
Subversionは既に/usr/local/svn/reposに作られてるものとしてすすめます。
詳細はsubversionとWebDAVで確認してください。
インストール
cd /usr/local/src
wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.2.1.ja1.zip
unzip Trac-0.11.2.1.ja1.zip
cd Trac-0.11.2.1.ja1
python setup.py install --prefix=/usr
設定
trac-admin /usr/local/trac initenv
#以下の4つの質問にそれぞれ答えて下さい
Project Name [My Project]> テストプロジェクト
#プロジェクト名 UTF-8なら日本語でもOK
Database connection string [sqlite:db/trac.db]>mysql://trac:tracpass@localhost:3306/trac
#データベース設定 デフォルトはsqlite
Path to repository [/var/svn/test]> /usr/local/svn/repos
#Subversionのレポジトリの場所
Templates directory [/usr/share/trac/templates]>
#日本語化してるならそのままエンター
初期化でMysqlのエラーがでたらDBをDrop&Createしないと
何度やってもおこられます。
最後にApacheの権限を与えて終わりです。
chown -R apache. /usr/local/trac
Apacheの設定
<VirtualHost *:80>
Serveradmin webmaster@momo-i.org
DocumentRoot /usr/local/trac
ServerName trac.momo-i.org
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /usr/local/trac
PythonOption TracUriRoot /
</Location>
</VirtualHost>
最後に/usr/local/trac/conf/trac.iniを適宜編集してください。
詳細は適当に調べてから書くかもしれません。
デフォルトのテンプレートを変更したい場合は
/usr/share/trac/templateの各ファイルを変更
コマンドライン
trac-admin /usr/local/trac
Trac [/usr/local/trac]> help
Apache2.0.63のlibexpatが古すぎで
Fedora9+Python2.5+Trac0.11.1が動かない件
普通に設定を終えてアクセスをすると以下の様なエラーが出て起動しません。
httpd: Objects/stringobject.c:107: PyString_FromString: Assertion `str != ((void*)0)' failed.
[Tue Aug 26 23:42:16 2008] [notice] child pid 5086 exit signal Aborted (6)
調べてみたらどうやらlibexpat関連ということらしいので設定を確認してみます。
# strings /usr/local/apache2/lib/libexpat.so | grep expat_
expat_1.95.2
# locate libexpat.so
/lib/libexpat.so.1
/lib/libexpat.so.1.5.2
/lib64/libexpat.so.1
/lib64/libexpat.so.1.5.2
# strings /lib64/libexpat.so.1.5.2 | grep expat_
expat_2.0.1
ということで強制的に(やっていいのかはわかりませんが)
ライブラリを上書きして解決です。
もちろん元々のはバックアップなりしておいたほうが安全ですね。
後httpdの再インストールで元に戻るので、
再インストールしたらもう一回直すとかしたほうがよさそうです。
コメントを追加