Tracでトラッキング

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

この情報は古い可能性があります!

またやりもしないのに遊んでみます。

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 このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にしてください
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の再インストールで元に戻るので、
再インストールしたらもう一回直すとかしたほうがよさそうです。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.