« Twitterを使ってみよう | ホーム | あの頃見た Red lamplight はとっても赤かった »

04 April

さくらレンタルサーバにTracをインストール

以前にサクラレンタルサーバにSubversionを導入し、TortoiseSVNを使ってファイルのバージョン管理をしています。で、最近になってあるプロジェクトでバグ管理するツールが必要になり、何かないかなぁーと探していました。

昔のプロジェクトでBugzillaを使ったときあったのですが、いろいろと面倒そうだったので、簡単にでそうだったTracを導入。そのメモです。

Tracとは
Trac(トラック)は、ソフトウェアのプロジェクト管理とバグ追跡のためのツールである。Web ベース、オープンソースであり、CVSTracに影響を受けた。 Edgewall Softwareにより開発され、保守されている。

Tracはバグのデータベース、バージョン管理、wiki間のハイパーリンク情報を提供する。 また、Subversion、Git、Mercurial、Bazaarといったバージョン管理システムへのウェブインターフェースも提供する。 現在のバージョンのTracでは、フロントエンドにClearSilverというテンプレートシステムを用いている。 番号が0.11からはじまるより新しいバージョンでは、Genshiと呼ばれるテンプレートシステムを用いるが、いくつかのバージョンにおいてはプラグインを使うことで、ClearSilverを使用できる。[Wikipedia

1.準備するもの

・さくらインターネットサーバ(スタンダードプラン以上)
WinSCP(FTPできればOK)
TeraTerm(SSHで接続するために使う)
TortoiseSVN(Windowsの場合)
PuTTY(公開鍵、秘密鍵を作るために使う)


2.TeraTermで接続

ホスト名はさくらレンタルサーバのアドレス。「○○○.sakura.ne.jp」。
SSHバージョンは「SSH2」。ユーザ名・パスワードはFTPで接続するときのやつ。

Welcome FreeBSD!

と陽気なメッセージがでたら接続OK。


3.環境設定

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 

4.swig のインストール

SWIG(Simplified Wrapper and Interface Generator)。スクリプト言語からC/C++のコードを利用するためのインタフェースとなるコードを生成する開発ツール。

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 .. 

5.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 .. 

6.sqlite のインストール

他サイトでは3.3.4とかで動かないとのことだか、3.5.7だと動いた。

cd $HOME/local/src
wget  http://www.sqlite.org/sqlite-3.5.7.tar.gz
gunzip sqlite-3.5.7.tar.gz
tar -xvf sqlite-3.5.7.tar
cd sqlite-3.5.7 
./configure --prefix=$HOME/local --disable-dynamic
make
make install

7.pysqlite のインストール

最新の2.4.1だと動かず。1.1.7をインストールする。

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 

8.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

9.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

10.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 
cd $HOME/local/src/trac-0.10.4-ja-1
python ./setup.py install --prefix=$HOME/local
cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/www

ここまででインストールは完了。
ここからは環境などの設定。
まずはリポジトリをつくります。場所は任意ですが、ここでは/var/svnに。


11.subversion のリポジトリを作成

mkdir -p $HOME/var/svn
svnadmin create --fs-type=fsfs $HOME/var/svn/repo

リポジトリ内にフォルダを作る。

mkdir $HOME/tmp
cd $HOME/tmp
mkdir proj
cd proj
mkdir trunk branches tags
cd ..
svn import proj file:///$HOME/var/svn/repo -m "Import First"
rm -r proj

12.trac の環境を設定

mkdir -p $HOME/var/trac
trac-admin $HOME/var/trac/repo initenv

上のコマンドを実行すると次のように対話形式に。
まずプロジェクト名は自由に。そのままEnterを押すとMy Projectになるようです。

Project Name [My Project]> hogehoge

DB設定。別にそのままEnterでOK。

Database connection string [sqlite:db/trac.db]> 

多分SVNのリポジトリ形式。わかんなかったのでそのままEnter。

Repository type [svn]>

リポジトリのバスを設定します。/home/XXX/var/svn/repo(XXXはユーザー名)にしてください。

Path to repository [/var/svn/test]> /home/XXX/var/svn/repo

テンプレートディレクトリです。別にEnterでいいです。

Templates directory [/home/weekbuild/local/share/trac/templates]>

13.trac.cgi の作成

次にtrac.cgiを作成。
まず、$HOME/www/trac.cgiをtrac_.cgiという名前に変更。

mv $HOME/www/trac.cgi $HOME/www/trac_.cgi

それから新しくtrac.cgiを作成。

vi trac.cgi

中身は以下参照。(XXXは自分のユーザ名)

#!/bin/sh
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

ここでtrac_.cgiとtrac.cgiをwwwの下に作ったsvnというディレクトリに移動。
いまのままだとtracがドキュメントルートの直下に配置されている。
これでは今後.htaccessの設定などをするときに何かと面倒。なので、tracは1つ下の階層にまとめてう。ついでに権限も変える。

cd $HOME/www
mkdir svn
mv trac_.cgi svn/trac_.cgi
mv trac.cgi svn/trac.cgi
cd svn
chmod 755 trac.cgi 

次にURLのRewrite設定。
$HOME/www/svn/.htaccessを以下のように。

RewriteEngine On
RewriteBase /
RewriteRule ^$ /svn/trac/ [R=301,L]
RewriteRule ^/svn/trac/(.*)$ /svn/trac.cgi/$1 [L] 

ここまでくれば「ドキュメントルート/svn/」でtracが見れる。

ここから先は、[神泉ではたらくたまごのブログ]を参考(ほぼコピペ、、すみません!)にしました。ありがとうございます!


14.ベーシック認証

adminという管理ユーザを作成。

htpasswd -c $HOME/var/trac/repo/conf/.tracpasswd admin 

パスワードを聞を入力

New password: ******
Re-type new password: ******

.htaccessでベーシック認証

cd $HOME/www
vi .htaccess 

さっき書いたものに以下を追加。(XXXXXはアカウント名)

AuthUserFile /home/XXXXXX/var/trac/repo/conf/.tracpasswd
AuthGroupFile /dev/null
AuthName “Type your password prease.”
AuthType Basic
require valid-user 

ついでにtracの管理者も設定

trac-admin $HOME/var/trac/repo/ permission add admin TRAC_ADMIN

これで設定完了。

あとtracのロゴをクリックするとデフォルトで設定されたページにリンクしてしまうので設定を変更。 trac.ini に書かれているらしい。

cd var/trac/repo/conf/
vi trac.ini

中身の[header logo]の部分のlinkを変更。17行目くらい。(XXXXは自分のアカウント名)

[header_logo]
alt =
height = -1
link = http://XXXX.sakura.ne.jp/svn/trac/
src = common/trac_banner.png
width = -1

これでTrac のインストールは完了。
来週、Subversion とTortoiseSVN を使ってバージョン管理までやってみよう。

※ 参考サイト

sakuraのレンタルサーバにtracとsubversionを入れてみました。[神泉ではたらくたまごのブログ]
さくらインターネットにTracを構築する[HirobeのHack倉庫]

« Twitterを使ってみよう | ホーム | あの頃見た Red lamplight はとっても赤かった »