replus

RE;COIL (リコイル)メンバーのarc@dmzによる日記

さくらのサーバでTrac0.10.5

このブログをはじめ、digitalmuseum.jpのサイト全体はSAKURA Internetでレンタルしたサーバで運営している。さくらのサーバは、sshでリモートログインして、ユーザ領域にいろいろなアプリケーションを追加インストールできることで有名だ。(スタンダードプラン以上が対象。)

つい先日の引っ越しに際して自宅サーバの環境を全部消したので、それまで運用していたTracをさくらのサーバに移してみることにした。

Tracの0.10.xから0.11.xへのバージョンアップでテンプレートエンジンが差し替わっているので、それまでの設定を簡単に移行したくて0.10.xをインストールした。いろいろあって、一日がかりの作業になってしまった。ここに書くのは「いろいろ」を省いた、(おそらく)実働までの最短ルート。

主に参考にしたWebサイト

1. 環境整備

さくらにsshでログインして、まず必要なディレクトリを作る。~/localをベースに作業を進めることにする。

mkdir -p $HOME/local/src
cd $HOME/local/src
mkdir -p $HOME/local/lib/python2.4/site-packages
ln -s ~/local/lib/python2.4 ~/local/lib/python

~/local/src はインストールに使うファイル置き場。~/local/lib/python はPythonのパッケージ置き場で、Trac本体と、Tracが使うモジュールを置く。

続いて、環境変数を整備する。次の内容をコマンドで打ってもいいが、途中で接続が切れて打ち直すはめにならないよう、.cshrc(デフォルトシェル用)か.profile(bash用)に書いておくのがお薦め。.profileなら、setenvでなくexport 環境変数=内容というふうになる。

setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages:$HOME/local/lib/svn-python
setenv PATH $HOME/local/bin:$PATH
setenv LOCALBASE $HOME/local
setenv LD_LIBRARY_PATH $HOME/local/lib

PYTHONPATHは(さくらに初めから入っている)Pythonのライブラリを探すパスで、svn-pythonはまだないが、後で作るディレクトリなのでどうせならここで足してしまおう。

PATHは~/local/binにも通るようにする。LOCALBASEは後々pysqliteのインストールで必要な模様。

LD_LIBRARY_PATHはリンクすべきライブラリを探すパスで、優先的に~/local/libを探すようにする。これがないと依存関係のあるコンパイルでコケたり、プログラムの実行ができないこともある。

2. インストール

Subversion

まず、Subversionをインストールするためにapr、apr-utilをインストールする。さらに、SubversionのインストールでPython-bindingオプションを付けるためにSWIGをインストールする。

cd $HOME/local/src
wget 最新のaprアーカイブ(apr-1.3.3.tar.gz)
tar -zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=$HOME/local
make
make install
cd ../

wget 最新のapr-utilアーカイブ(apr-util-1.3.4.tar.gz)
tar -zxvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --prefix=$HOME/local --with-apr=$HOME/local
make
make instal
cd ../

wget 最新のSWIGアーカイブ(swig-1.3.36.tar.gz)
tar -zxvf swig-1.3.36.tar.gz
cd swig-1.3.36
./configure --prefix=$HOME/local
make
make install
cd ../

Subversionをインストールする。

wget 最新のSubversionソースアーカイブ(subversion-1.5.4.tar.gz)
tar -zxvf subversion-1.5.4.tar.gz
cd subversion-1.5.4
./configure --prefix=$HOME/local --with-neon=$HOME/local --with-apr=$HOME/local --with-apr-util=$HOME/local --with-swig=$HOME/local/bin/swig --without-berkeley-db --disable-static
make
make install
make swig-py
make install-swig-py
cd ../

HirobeのHack倉庫に記述のあった--enable-swig-bindings=pythonは使えなかった。たぶん今の版では要らないのだろう。同解説ページではlnでシンボリックリンクを張ってsvnその他をPythonのパスに通していたが、当記事ではY's Diaryに従ってPython自体のライブラリパスを~/local/lib/pythonに通しているので、その作業も不要。

sqlite3

最近の版では、./configureに--enable-load-extensionをつけないと、次にインストールするpysqlite2が動かない。とあるメーリングリストの投稿から。

wget 最新のsqliteソースアーカイブ(sqlite-3.6.4.tar.gz)
tar -zxvf sqlite-3.6.4.tar.gz
cd sqlite-3.6.4
./configure --prefix=$HOME/local --enable-load-extension --disable-dynamic
make
make install
cd ../

pysqlite2

さくらのPythonは2.4.xなので、2.5以降で標準サポートされたsqliteを扱うためにはライブラリを追加インストールしないといけない。

cd $HOME/local/src
wget 最新のpysqlite2ソースアーカイブ(sqlite-2.5.0a.tar.gz)
tar -zxvf pysqlite-2.5.0a.tar.gz
cd pysqlite-2.5.0
python setup.py build
python setup.py install --prefix=$HOME/local
cd ../

ClearSilver

Tracで使われているテンプレートエンジン。

wget 最新のClearSilverアーカイブ(clearsilver-0.10.5.tar.gz)
tar -zxvf clearsilver-0.10.5.tar.gz
cd clearsilver-0.10.5
./configure --prefix=$HOME/local --oldincludedir=$HOME/local/include --disable-ruby --disable-java --disable-perl --disable-csharp --disable-python --disable-static
gmake
gmake install
cd python
python setup.py build
python setup.py install --prefix=$HOME/local
cd ../../

--disable-pythonしてあとから改めてPythonビルドしているのは、Makefileの中で--prefix指定が保持されないからかな?とりあえずHirobeのHack倉庫に従った。

Docutils

Tracで使われているWikiエンジン?

wget 最新のDocutilsアーカイブ(docutils-0,5.tgz)
tar -zxvf docutils-0.5.tgz
cd docutils-0.5
python setup.py install --home=$HOME/local
cd ../

Trac

お待ちかね、Tracのインストール。

wget 最新の日本語版アーカイブ(trac-0.10.5-ja-1.zip)
unzip trac-0.10.5-ja-1.zip
cd trac-0.10.5-ja-1
python ./setup.py install --prefix=$HOME/local
cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/www/trac_.cgi

ここまで周到に準備してきているので、インストール自体はあっけないほど単純。

ただ、実働させるまでにはまだ壁がある。以降、近日中に続きを書く予定。


2008年11月6日の記事を全1件中1件目から計1件表示