業務でプロジェクト管理用に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_pythonPythonInterpreter main_interpreterPythonHandler trac.web.modpython_frontendPythonOption TracEnvParentDir /path/to/tracPythonOption TracUriRoot /AuthType BasicAuthName “Trac”AuthUserFile /path/to/trac/.htpasswdRequire valid-user=================================================
▼Apacheのリスタート
/etc/rc.d/init.d/httpd restart
サイトにアクセスしてみて動いてたらオッケー。
はたして上記の作業すべてが必要だったんか、若干必要のなさそうなところもありそうですが
これで動いたのでなんとか。
あと、Apacheのリスタートをすると2回に1回失敗します。これは直さないと。。
数年後にはすごい恥ずかしいエントリーとなっているかもしれません。
◇参考サイト