お名前.comのVPSにTracをインストールしてみた。

業務でプロジェクト管理用にBTS(バグトラッキングシステム)とwikiを使いたくて
以前の職場で利用していたTracを使うことにしました。

どうせなら自分でインストールしてみようと、初期状態のお名前.comのVPSでやってみました。
正直初心者にはハードルが高すぎて大ハマりしてしまいましたが、
いろいろなブログなどを参考になんとか動くところまでいったので記録しておきます。

下の記述についてもおかしなところがいっぱいあると思いますが笑っておいてください。
あとで自分でやり直せるようにすっごい基本的なコマンド(cdとかmkdirとか)も入れたまんまです。

▼環境

サーバー:お名前.comのVPS
OS:CentOS5.3
Trac:Trac-0.11.7(日本語)

■sudoのリメイク

お名前.comのVPSはなんだかsudoが微妙な動きをするのでwadap氏の記録を元にリメイクしました。
◇参考:Unix的なアレ お名前.comのsudoがおかしいので対応してみた

▼sudoのリメイク

wget http://www.sudo.ws/sudo/dist/sudo-1.7.2.tar.gz
tar xvfz sudo-1.7.2.tar.gz && cd sudo-1.7.2
./configure –prefix=/usr/local/sudo-1.7.2
make
sudo make install

▼バイナリを移動

su -
cd /usr/bin/
mv sudo org.sudo
ln -s /usr/local/sudo-1.7.2/bin/sudo .

■yumのインストール

パッケージ管理コマンドのyumが標準では使えないためインストール
◇参考:Unix的なアレ お名前.comのVPSサーバを使うまで

▼yumのインストール

wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/m2crypto-0.16-6.el5.6.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
sudo rpm -ivh m2crypto-0.16-6.el5.6.x86_64.rpm
sudo rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
sudo rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
sudo rpm -ivh python-urlgrabber-3.1.0-5.el5.noarch.rpm
sudo rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm
sudo rpm -ivh yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
sudo rpm –import http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/RPM-GPG-KEY-CentOS-5
sudo rpm -ivh yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-3.2.22-26.el5.centos.noarch.rpm

▼Pythonのパッケージ管理ツールeasy_installのインストール

wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py

ここまではサーバーを使うための最初の下準備

■Tracインストールの下準備

さていよいよTracをインストールするために、動作に必要なパッケージなどをインストールします。

▼mod_pythonインストール

yum install mod_python

▼mod_dav_svnインストール

yum install mod_dav_svn

■Tracのインストール

実際にTracをインストールしていきます。

▼Tracリポジトリ登録

vi /etc/yum.repos.d/dag.repo

=================================================
[dag]
name=Dag RPM Repository for Redhat EL4
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
=================================================

▼Tracをyumでインストールしつつ削除
yumでインストールをするとTracの英語版といっしょに必要なパッケージがインストールされるので
入れつつ、Tracだけ削除します。(後で日本語版を入れます)

yum install trac
yum remove trac

▼Trac日本語版のインストール
Tracの日本語ローカライズを行っているInterACTよりhttp://www.i-act.co.jp/project/products/products.html日本語版を手に入れて回答し、インストールします。
(今回の時点での最新版 Trac-0.11.7.ja1)

wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.7.ja1.zip
unzip Trac-0.11.7.ja1.zip
cd Trac-0.11.7.ja1
sudo python ./setup.py install

■プロジェクトとユーザーの作成

Tracのインストールはできたので、プロジェクトとユーザーを作っていきます。

▼プロジェクトを作成

trac-admin /path/to/trac/project1 initenv

Project Name [My Project]> project1 (プロジェクト名を書く、後で変更可能)
Database connection string [sqlite:db/trac.db]> (このままEnter)
Repository type [svn]> (このままEnter)
Path to repository [/path/to/repos]> (svnリポジトリの場所)

▼プロジェクトのフォルダをapacheユーザーに

chown -R apache:apache /path/to/trac/project1

▼Tracユーザーを作成

trac-admin /path/to/trac/project1 permission add user1 TRAC_ADMIN

▼パスワードを作成

htpasswd -c /path/to/trac/.htpasswd user1

▼trac.confを編集
Apache読み込み用のTrac設定ファイルの書き換えを行います。
今回は業務用ということで、Basic認証を通らないと見えないようにしました。
Trac用にサブドメインを切ったのでTracのルートは/(ルート)です。

vi /etc/httpd/conf.d/trac.conf

=================================================

SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /path/to/trac
PythonOption TracUriRoot /
AuthType Basic
AuthName “Trac”
AuthUserFile /path/to/trac/.htpasswd
Require valid-user

=================================================

▼Apacheのリスタート

/etc/rc.d/init.d/httpd restart

サイトにアクセスしてみて動いてたらオッケー。

はたして上記の作業すべてが必要だったんか、若干必要のなさそうなところもありそうですが

これで動いたのでなんとか。

あと、Apacheのリスタートをすると2回に1回失敗します。これは直さないと。。

数年後にはすごい恥ずかしいエントリーとなっているかもしれません。

◇参考サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>