VPS作業メモ[4]-SVN+trac

引き続き今度はSVN+trac。
色々と起きすぎなんだけど、ちょいまとめきれないので覚えている分だけ。

_____
まずはSVNインストール。

VPS に Subversion 導入

認証をかけておく。
第10回 ユーザー認証によるアクセス制限(ベーシック認証編)

# htpasswd -c /var/project/svnrepository/.htpasswd svnuser
New password:
Re-type new password:
Adding password for user svnuser

作業中にこんなエラーが出てくる。

Repository moved permanently to 'http://VPSアドレス/svn/sample/'; please relocate

同様の症状を見つける。
Locationで指定したディレクトリが実際に存在してると起きるらしい。
Apache + Subversion
ということで場所を/var/project/以下に移動。解決

# vi /etc/httpd/conf.d/subversion.conf
DAV svn
SVNParentPath /var/project/svnrepository/

あと、まだ行っていないけどプロジェクト毎の認証はこのような感じらしい。
Apache 2 + mod_dav_svnでSVNParentPath以下の特定レポジトリにのみBasic認証を噛ます方法
_____
引き続きtracインストール

CentOSでyumからTracをインストール
CentOS5 で Subversion+Trac
■[サーバ][linux][svn] CentOSにtracを入れてsvn連携するまでのメモ

標準リポジトリにはtracはないがDAGレポジトにはある。
しかしながら日本語tracはないので、インタアクトのサイトからダウンロード。
公開資料(Trac)

依存ライブラリを取得するためにDAGレポジトリ追加
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

enabledを1から0へ。
# vi /etc/yum.repos.d/rpmforge.repo
enabled = 0

依存ライブラリをDAGレポジトリからインストール。
# yum --enablerepo=rpmforge install -y python-clearsilver
# yum install -y mod_python

設定中に、mod_python設定項目があり、
そういやぁインストールしてないと思い確認してみるといつのまにやら入れてる。
Trac と mod_python
どこで設定されてるかと探してみるとここでした。
/etc/httpd/conf.d/python.conf

日本語版tracをダウンロード、インストール
# wget http://www.i-act.co.jp/project/products/downloads/Trac-0.12.2.ja1.zip
# unzip Trac-0.12.2.ja1.zip
# cd Trac-0.12.2.ja1
# python setup.py install
Traceback (most recent call last):
File "setup.py", line 17, in ?
from setuptools import setup, find_packages
ImportError: No module named setuptools

setuptoolsが無いと言われるのでインストール
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py

これで再度インストール
# python setup.py install
・・
Finished processing dependencies for Trac==0.12.2.ja1

成功したらしい。

trac.confの編集。
# vi /etc/httpd/conf.d/trac.conf

SetHandler mod_python
PythonDebug On
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/project/tracrepository
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "trac"
AuthUserFile "/var/project/tracrepository/.htpasswd"
Require valid-user

ここまできてアパッチの再起動
/etc/init.d/httpd restart

これでサイトへアクセス

http://VPSアドレス/trac/

以下のエラー

Mod_python error: "PythonHandler trac.web.modpython_frontend"

Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 287, in HandlerDispatch
log=debug)
File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 461, in import_module
f, p, d = imp.find_module(parts[i], path)
ImportError: No module named trac

こちらで対処法を見つけた。
http://h3x.no/2011/02/24/importerror-no-module-named-trac

# cd /usr/lib/python2.4/site-packages
# unzip Trac-0.12.2.ja1-py2.4.egg
これで解決

サイトで確認するもしょっちゅう
TracError: The Trac Environment needs to be upgraded
と表示され不安定。しかもリポジトリブラウザが表示されない。
しばらくサイトを彷徨い、apacheユーザに権限を与えるという記述を発見、
まさかと思いつつ試してみる。
chown -R apache:apache /var/project/tracrepository/
まさに原因はこれでした。
この後問題なく可動した。

そして、プロジェクトごとにアクセス制限できるように変更。
Trac: Trac利用ユーザーへのアクセス制限をする方法

以上で一応SVN+trac日本語環境できた。
次はruby+rails環境を整える。

Comments

  1. Indy より:

    Great airtcle, thank you again for writing.