SAKURA internetにTrac0.11.1.ja1をインストールしてみました。
でもSubversionは使わない方向で。(^^;
インストールにはもちろん、sshでのログインは必須になります。
今回は関連するモノをすべて$HOME/localにインストールしてみました。
sqlite3は最初からインストールしてあります。なので、そのままそれを使う方向で。
まずはpysqlite。バージョンは2.4.1。
ここで重要なのは、2.5以上のモノは使わないこと。おいらはここでハマりました。
手順は以下のとおり。
$ curl -O http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/pysqlite-2.4.1.tar.gz
$ tar xvfz pysqlite-2.4.1.tar.gz
$ cd pysqlite-2.4.1
$ vi setup.cfg(※内容は後述)
$ python setup.py build
$ python setup.py install –prefix=$HOME/local
setup.cfgを編集する内容は以下の通り。
#define=
include_dirs=/usr/local/include
library_dirs=/usr/local/lib
libraries=sqlite3
3〜4行目の行頭の#を取り除くんですな。
これでコンパイルエラーが無くなります。
後はGenshiとTrac本体なんですが。
これはもう両方とも
$ python setup.py install –prefix=$HOME/local
で済みますので、省略。
実際に動かすときは。
$HOME/wwwの中が見えきってしまいますので見えないところにTracのデータをおきます。
$ cd ~/local/trac
$ trac-admin test initenv
ここで重要なのは、バージョン管理ソフトとリポジトリパスを空入力すること。
バージョン管理にMercurialを使いたいので後でtrac.iniを編集します。
Tracを起動するためには外からアクセスできるところにスクリプトを作っておく必要があります。
データは見えないところに置いたので、そこからデータを読み、見えるようにするcgiを作成します。
$ mkdir -p trac/test
$ cd trac/test
$ vi trac.cgi
で、trac.cgiの実際の内容は、こう。
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$HOME/local/lib
export PATH=$HOME/local/bin:$PATH
export PYTHONPATH=$HOME/local/lib/python2.4/site-packages
export TRAC_ENV=$HOME/local/trac/test
export LANG=ja_JP.UTF-8
/usr/local/bin/python $HOME/local/dist/Trac-0.11.1.ja1/cgi-bin/trac.cgi
環境変数TRAC_ENVで見えないところに置いたデータのディレクトリを指し、解凍したアーカイブの中のtrac.cgiを起動させます。
また、Mercurialの変更履歴の文字列が文字化けしない様にLANGをUTF-8に設定します。
これで、http://ユーザー名.sakura.ne.jp/trac/test/trac.cgiでTracのページを表示させることが出来ます。
いちいちtrac.cgiでページを参照させるのはおかしいので、.htaccessでtrac.cgiを参照する様に設定します。
また、認証などその他の設定もしておきます。
$ vi .htaccess
内容は以下のとおりです。
次に、TracからMercurialのリポジトリを触れるようにします。
TracのプラグインTracMercurialをインストールします。
おいらのSAKURAの環境にはsubversionをインストールしていないのでローカルマシンでリポジトリから取得、scpにてコピーを行いました。
$ svn co http://svn.edgewall.com/repos/trac/sandbox/mercurial-plugin
$ scp -r mercurial-plugin ユーザー名@ユーザー名.sakura.ne.jp:local/dist
$ ssh ユーザー名@ユーザー名.sakura.ne.jp
$ cd local/dist/mercurial-plugin
$ python setup.py install –prefix=$HOME/local
最後に、trac.iniの設定です。
Mercurialのプラグインを有効にし、リポジトリを指すようにします。
$ vi conf/trac.ini
書く内容は以下の通り。
repository_dir = Mercurialのリポジトリのディレクトリ
repository_type = hg
(追加する部分)
[components]
tracext.hg.* = enabled
[hg]
show_rev = yes
node_format = short
これで、SAKURAにTracをインストールし、Mercurialのリポジトリで使えるようになります。