痛みに耐えてさくらのレンタルサーバにSubversion + Tracを構築する 
昨今、磨きがかかった名刀正宗級の切れ痔が痛すぎて、
ボラギノールやらプリザエースやら競走馬の名前のような薬を買ってみて
なんとか落ち着いたaltです。
小泉元首相の言ってた痛みに耐えるってこのことなんだな・・
ケツの構造改革はまだ始まったばかりだぜ!
と前置きでもなんでもないですが、
Flash案件でも社内の複数人が関わる開発や他社とのコラボレーション開発においても
Subversionのバージョン管理って覚えておいた方が身の為だなと思い
自前のさくらサーバーにインストールしてみました。
システムよく分からないので、他サイトの記事を見よう見まねでやってみましたが
ソースにのってる各モジュールのバージョンが古く、苦戦しました。
以下、手順。
—- インストール —-
(1)環境設定
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
setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages
setenv PATH $HOME/local/bin:$PATH
setenv LD_LIBRARY_PATH $HOME/local/lib
(2) swigインストール
cd $HOME/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/swig/swig-1.3.21.tar.gz
gunzip swig-1.3.21.tar.gz
tar xvf swig-1.3.21.tar
cd SWIG-1.3.21
./configure --prefix=$HOME/local
make
make runtime
make install
make install-runtime
cd ..
(3) Subversionインストール
cd $HOME/local/src
wget http://subversion.tigris.org/downloads/subversion-1.2.3.tar.bz2
tar jxf subversion-1.2.3.tar.bz2
cd subversion-1.2.3
./configure --prefix=$HOME/local --with-neon=$HOME/local --without-berkeley-db --enable-swig-bindings=python --with-swig=$HOME/local/bin/swig --disable-static
make
make install
make swig-py
make install-swig-py
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
cd ..
(4) sqliteインストール
cd $HOME/local/src
wget http://www.sqlite.org/sqlite-3.5.3.tar.gz
gunzip sqlite-3.5.3.tar.gz
tar -xvf sqlite-3.5.3.tar.gz
cd sqlite-3.5.3
./configure --prefix=$HOME/local --disable-dynamic
make
make install
cd ..
(5) pysqliteインストール
cd $HOME/local/src
wget http://initd.org/pub/software/pysqlite/releases/1.1/1.1.7/pysqlite-1.1.7.tar.gz
gunzip pysqlite-1.1.7.tar.gz
tar -xvf pysqlite-1.1.7.tar
cd pysqlite
setenv LOCALBASE $HOME/local
python setup.py build
python setup.py install --prefix=$HOME/local
(6) clearsilverインストール
cd $HOME/local/src
wget http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz
gunzip clearsilver-0.9.14.tar.gz
tar -xvf clearsilver-0.9.14.tar
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
cd python
python setup.py build
python setup.py install --prefix=$HOME/local
(7) docutilsインストール
cd $HOME/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz
gunzip docutils-0.4.tar.gz
tar -xvf docutils-0.4.tar
cd docutils-0.4
python setup.py install --home=$HOME/local
(8) ここ を参考にsetuptoolsインストール
mkdir $HOME/local/src/setuptools
cd $HOME/local/src/setuptools
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py --prefix=$HOME/local
python ez_setup.py --prefix=$HOME/local -U setuptools
(9) tracインストール
cd $HOME/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
cd $HOME/local/src/Trac-0.11.2.1.ja1
python ./setup.py install --prefix=$HOME/local
—- 動くまでの設定 —-
(1) ここ を参考にSubversionのリポジトリを作成
mkdir -p $HOME/var/svn
$HOME/local/bin/svnadmin create --fs-type=fsfs $HOME/var/svn/repo
(2) リポジトリ内のディレクトリを作成
mkdir $HOME/tmp
cd $HOME/tmp
mkdir proj
cd proj
mkdir trunk branches tags
cd ..
$HOME/local/bin/svn import proj file:///$HOME/var/svn/repo -m "Import First"
rm -r proj
(3)tracの環境を設定
mkdir -p $HOME/var/trac※各種設定作業が対話形式で始まるのでプロジェクト名は空欄(=My Project)、データベースも空欄、リポジトリの場所は/home/XXX/var/svn/repoで入力。うまくいくとCongratulations!が出る。
$HOME/local/bin/trac-admin $HOME/var/trac/repo initenv
(4)trac.cgiの作成
cp $HOME/local/src/Trac-0.11.2.1.ja1/cgi-bin/trac.cgi $HOME/www/svn/trac_.cgiテキストエディタで
#!/bin/shをtrac.cgiで新規保存して$HOME/www/svnにアップ。
LD_LIBRARY_PATH=/home/XXX/local/lib;export LD_LIBRARY_PATH
TRAC_ENV=/home/XXX/var/trac/repo;export TRAC_ENV
PYTHONPATH=/home/XXX/local/lib/python:/home/XXX/local/lib/python/site-packages;export PYTHONPATH
/usr/local/bin/python /home/XXX/www/svn/trac_.cgi
(4)trac.cgiのパーミッションを変更
cd $HOME/www/svn/
chmod 755 trac.cgi trac_.cgi
(5)URLのRewrite設定
$HOME/www/.htaccessを以下のよう作成
RewriteEngine On※設定後、http://xxx.sakura.ne.jp/ にとんでみると、
RewriteBase /
RewriteRule ^$ /svn/trac/ [R=301,L]
RewriteRule ^/svn/trac/(.*)$ /svn/trac.cgi/$1 [L]
http://xxx.sakura.ne.jp/svn/trac/に移動してtracのホーム画面が表示されます。
ここまででインストールは完了。
あとは、AccountManagerプラグインとか入れてアカウント作ればOKなはずなんだけどうまくいかないです。
ToritoiseSVNで接続するところまでやりたかったけど。
今度はここから頑張る。
参考:
http://weekbuild.sakura.ne.jp/trac/wiki/TracDoc/SakuraInternet
http://d.hatena.ne.jp/yzono/20071209
http://mishuku.net/archives/2008/04/trac.php
alt

