trac は標準では sqlite を使用している。
yum を使用しているとどうやらセットでインストールされるし、余計な手間がかからないので便利は便利。パフォーマンスも通常の用途であれば気にならないはず。

だがしかし、ここはあえて MySQL を使用してみることにした。

trac の公式サイトを参照しながら MySQL 上に database を作成。
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

ユーザも作成。
CREATE USER tracuser IDENTIFIED BY 'password';

tracuser が database にアクセスできるよう設定。
GRANT ALL ON trac.* TO tracuser@localhost IDENTIFIED BY 'password';


trac-admin コマンドで initenv を行う。
いきなりエラー発生。
databaseにつなぐことができないというエラーが出ているため、ざっと調べたところ MySQL-python が無いことが原因と思われる。
早速 yum を使ってインストールする。
yum --enablerepo=remi-test,remi,epel,dag install MySQL-python


再度 trac-admin コマンドで initenv を行う。
今度は正常終了。

Apacheを再起動してブラウザからアクセスしてみると…tracのトップページがエラー表示だらけとなる。
その中で最も根本と思われるエラーが次の一文。
TypeError: unhashable type


検索してみるとtracのサイトでも障害報告があったようだ。
そのやりとりは次のページ
TypeError: unhashable type when installing trac-0.10.3 with mysql

collationの文字コード設定を変えるとよいらしい。
設定を utf8_general_ci にすることで動作した旨の回答あり。

trac のバージョンも MySQL のバージョンも自分の環境とは違うようだが、ダメ元で試してみる。
上記ページの対応内容に合わせる形でデータベースを作り直す。
DROP DATABASE trac;
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


再度 trac-admin コマンドで initenv を行う。
もちろん正常終了。
Apacheを再起動してブラウザからアクセスしてみると…無事 trac のトップページが表示された。

公式サイトの説明が間違っているのかどうか、本当の原因までは調べていないが自分に必要な状態まで構築できたので深くは追求しないことにする。

なお関連していそうな主なソフトウェアのバージョンは次の通り。
MySQL 5.5.11
Python 2.4.3
trac 0.12
MySQL-python 1.2.1