TracをXreaに入れる(1) TracとSubversionをインストールする
レンタルサーバにTracをインストールするやりかた、検索するとかなり情報があるにはありますが、さくらに入れている例が多いですね。xreaにインストールする例もひとつくらいあったけど、メモ的すぎてなんだかよくわからないので、試行錯誤しつつやってみます。
なお、うちの借りてるサーバのスペックはこんな感じです。
CPU | Memory | Apache | Perl | PHP | Ruby | MySQL | PgSQL | Python | SQLite | SQLite3 |
T7200 2.00GHz x 2 | 2073MB | 1.3.37 | 5.8.8 | 5.2.2 | 1.8.5 | 5.1.19 | 8.1.4 | 2.4.3 | 2.8.17 | 3.3.7 |
たぶんさくらとxreaの違いは大してなくて、「xreaはデフォではbashしか入ってない」「xreaは.htaccessでのSetEnvが書ける」くらいではないかと思ってますが。
パスの設定
$HOME/local/以下にsrcとlibを作成して、環境変数を変更します。
mkdir -p $HOME/local/src cd $HOME/local/src mkdir -p $HOME/local/lib/python2.4/site-packages ln -s $HOME/local/lib/python2.4 $HOME/local/lib/python PYTHONPATH=$HOME/local/lib/python:$HOME/local/lib/python/site-packages PATH=$HOME/local/bin:$PATH LD_LIBRARY_PATH=$HOME/local/lib export PYTHONPATH export PATH export LD_LIBRARY
Subversionをインストールする
これがちょっとややこしい感じ。まず必要なライブラリのバージョンを知るために、何も設定せずおもむろにconfigureしてみることにします。いちおうmakeも書いておきます。で、実行。
cd $HOME/local/src wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz tar xzvf subversion-1.4.6.tar.gz cd $HOME/local/src/subversion-1.4.6 ./configure --prefix=$HOME/local --without-berkeley-db --with-python=$HOME/local/lib/python --enable-swig-bindings=python --with-swig=$HOME/local/bin/swig --with-ssl --with-libs=$HOME/local --disable-static make clean && make && make install make swig-py make install-swig-py
エラーになった。
configure: Apache Portable Runtime (APR) library configuration checking for APR... yes checking APR version... 0.9.6 wanted regexes are 0\.9\.[7-9] 0\.9\.1[0-9] 1\.
APRをインストールする
ということで、Apache Portable Runtime (APR) が0.9.7以降を必要としているようだ。これはApacheがマルチプラットフォームで連携できるようなインターフェースみたいですね。入れるバージョンはとりあえず最新でいいか。でも、APR 0.9.xとAPR 1.x系は互換性がないって書いてあるところがあるけど……Subversionはこれでいいとして、Tracのほうはこのライブラリ使ってないのかなあ。
とりあえず最新でやってみます。失敗したらやり直す。
うわさによれば、このライブラリはインストールしないで、Subversionのディレクトリにおいておけばいいらしい。ほんとか。
cd $HOME/local/src wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.2.12.tar.gz wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.2.12.tar.gz tar xzvf apr-1.2.12.tar.gz tar xzvf apr-util-1.2.12.tar.gz cp -rf apr-1.2.12 subversion-1.4.6/apr cp -rf apr-util-1.2.12 subversion-1.4.6/apr-util
もいっかい、configure。だいぶ進んだが、またエラーになりました。と、眺めていると、エラーになってないけどこんなことになている部分がありました。こっちを先に片付けましょう。
configure: checking neon library An appropriate version of neon could not be found, so libsvn_ra_dav will not be built. If you want to build libsvn_ra_dav, please either install neon 0.25.5 on this system or get neon 0.25.5 from: http://www.webdav.org/neon/neon-0.25.5.tar.gz unpack the archive using tar/gunzip and rename the resulting directory from ./neon-0.25.5/ to ./neon/ no suitable neon found
Neonをインストールする
じゃあneonをいれますか。これもSubversionのディレクトリにおいておけばいいようですね。
cd $HOME/local/src wget http://www.webdav.org/neon/neon-0.25.5.tar.gz tar xvzf neon-0.25.5.tar.gz cp -rf neon-0.25.5 subversion-1.4.6/neon
OKぽいですね。こんなふうに表示されていました。
configure: Configured to build neon 0.25.5: Install prefix: /virtual/gakusi/local Compiler: gcc XML Parser: expat SSL library: SSL support enabled, using OpenSSL (0.9.7 or later) zlib support: zlib support enabled, using -lz Build libraries: Shared=no, Static=yes neon configured properly
ていうかsubversion-depsでいいんじゃね?
ここまでやって検索していたらsubversion-depsを入れればそんなことはいらないのではないかということに気づきました。がーん。
どうも subversion-deps-1.4.2.tar.gz の中には apr, apr-util, neon, zlib が入っていて subversion のインストールの際にまとめて入れてくれるみたいです。
http://www.hasta-pronto.org/archives/2006/12/09-1953.php
まあいい。一個ずつ入れてもエラーになってないんですし。
Swigをインストールする
さて、最後はswig。何も設定しないでさっきconfigureをやると次のエラーがでてくるはず。いや、存在しないんだから当たり前ですが。
configure: error: Could not find swig binary at /virtual/gakusi/local/bin/swig/bin/swig
swigは、スクリプト言語向けのC/C++で書かれた関数のラッパーですね。
ところで、ふと$HOME/local/src/subversion-1.4.6/subversion/bindings/swig/INSTALLというファイルをみてたら、こんなことがかいてある。
Install a suitable version of SWIG (which is currently swig version 1.3.24 - 1.3.29).
この記事を書いた時点でのswigの最新は1.3.33なのですが、指定通り1.3.29を取得します。
cd $HOME/local/src wget http://nchc.dl.sourceforge.net/sourceforge/swig/swig-1.3.29.tar.gz tar xvzf swig-1.3.29.tar.gz cd swig-1.3.29 ./configure --prefix=$HOME/local make make install
ちなみにINSTALLに気づく前に1.3.33でやってみたんですが、Subversion以前にswigのmake自体が失敗してうまくいきませんでした。
さて、そんなわけで、これでやっとSubversionがインストールされた……んだろうか? とおもいきや、これだとPythonとリンクされていないらしい。こいつを流す。
ln -s $HOME/local/lib/svn-python $HOME/local/lib/python/site-packages/svn-python ln -s $HOME/local/lib/svn-python/svn $HOME/local/lib/python/site-packages/svn ln -s $HOME/local/lib/svn-python/libsvn $HOME/local/lib/python/site-packages/libsvn
Tracをインストールする
EasyInstallをインストールする
Pythonモジュールを簡単にインストールしてくれるEasyInstallをセットアップします。
cd $HOME/local/src wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py --install-dir=$HOME/local/lib/python/site-packages
環境変数PYTHONPATH(=$HOME/local/lib/python:$HOME/local/lib/python/site-packages)がないとエラーになってしまいます。
genshi もしくは clearsilver
開発版のTrac 0.11系を使う場合は、genshiを入れます。 0.10系を使う場合はclearsilverを使う必要があります。1.1はPython製なのでこのEasyInstallで入れられますが、clearsilverはC言語らしいので、いつものようにMakeしたらいい……と思いきや、gmakeする必要があるらしいです。
cd $HOME/local/src wget http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz tar xzvf clearsilver-0.9.14.tar.gz cd clearsilver-0.9.14 ./configure --prefix=$HOME/local --oldincludedir=$HOME/local/include --disable-ruby --disable-java --disable-perl --disable-csharp --disable-python --disable-static gmake gmake install
しかも、その後はpythonでsetupがいる。うーん、これならやっぱ0.11のほうが楽ですね。
cd $HOME/local/src/clearsilver-0.9.14/python python ./setup.py build python ./setup.py install --prefix=$HOME/local
tracをインストールする
やっとTracだ!
cd $HOME/local/src wget http://www.i-act.co.jp/project/products/downloads/trac-0.10.4-ja-1.zip unzip trac-0.10.4-ja-1.zip cd trac-0.10.4-ja-1 python ./setup.py install --prefix=$HOME/local
入ったー。
……のかどうかよくわかりません! うーん。
Tracプロジェクトの作成
データを保存する場所を作っておきます。
mkdir $HOME/data/trac cd $HOME/data/trac trac-admin sample initenv
いろいろ聞かれますが、とりあえず全部空白にしておきます。まだSVNのリポジトリもないし。
ここではエラーは出てないのでプロジェクトはできたっぽい。やー、やっとここまで来たと思ったんですが、まだSubversionの動作も確認できてないんですよね。先は長いぜ。