忍者ブログ
ブログツール、2007/11/06作成
[56] [55] [54] [53] [52] [51] [50] [49] [48] [47] [46
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

TortoiseSVNでSubversionのバージョン管理が出来るようになったので、
次はバグトラックと情報共有のためにTracを導入。

まずはYumでTracのインストール。

この辺を参考に、yumのリポジトリを変更。

/etc/yum.repos.d/Dag.repoでやってみたら失敗しちゃったので、
/etc/yum.repos.d/ContOS-Base.repoの最後に以下を追加。

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

おお、Redhatのリポジトリがそのまま使えるのね、
と感心しつつyumでtracをインストール。

# yum install trac

どこを見ても、関連するプラグインのインストールではまっているみたいなので、
参考にしているサイトのまねをして一度tracをアンインストール。

# yum remove trac

 で、日本語版をダウンロード。

# wget http://www.i-act.co.jp/project/products/downloads/trac-0.10.4-ja-1.zip
# unzip trac-0.10.4-ja-1.zip
# cd trac-0.10.4-ja-1
# python setup.py install

後は、Pythonがうまくインストールしてくれる。

次に、Tracのプロジェクトを追加。
諸々の設定をある程度共有してプロジェクトを複数立てたいので、
/var/www/trac/以下にプロジェクトを配置することにする。

#trac-admin /var/www/trac/projectname initenv

順次質問されるのでそれぞれにきちんと答える。
Project Name [My Project]>  任意のプロジェクト名を入れる
Database connection string [sqlite:db/trac.db]> そのままエンター
Repository type [svn]> そのままエンター
Path to repository [/path/to/repos]>  svnリポジトリの場所
Templates directory [/usr/share/trac/templates]> そのままエンター
ここで、tracdを起動して、きちんと動くのを確認。

# tracd -p 8000 /var/www/trac/projectname

これで、対象サーバーにアクセスしてみて動作を確認してみる。

http://localhost:8000/projectname

きちんと動いてる。

ここまでは順調。

アクセス制限をベーシック認証で行うために、htpasswdファイルを作る。

# htpasswd -c /var/www/trac/.htpasswd [アカウント名]
パスワードを聞かれるので、任意のパスワードを設定。
Linuxユーザーのパスワードとは無関係なので注意。

二人目以降のパスワードは-cオプションを外して同じ事を繰り返す。

ベーシック認証のためにApacheと連携させてみる。
が、ここではまった。

mod_pythonなど、諸々のプラグインをインストール、
Apahceの設定のために/etc/httpd/conf.d/trac.confを作って設定。
先ほどのTracプロジェクトフォルダのオーナーをapacheユーザーに変更。

Apacheを再起動してアクセスしてみる。
http://localhost/trac/projectname

プロジェクトページはきちんと表示されるし、
ログインもきちんと出来る。

でも、画面の上の方にSubversionへのアクセス制限が無い、とエラー表示。
どうやら、Tracプロジェクトで指定したSubversionリポジトリのformフォルダへのアクセス権が無い、
といっているらしい。

調べてみると、そのフォルダの読み書き権限をapacheユーザーに与えてやればいいらしいが、
プロジェクトが増えるたびにその操作をするのも大変だし、
第一セキュリティ的に問題がありすぎ。

で、他の方法を探す。

ちとしらべてみると、Subversionの旧バージョンに発生するバグらしい。
インストールされているSubversionはCentOSで自動的にインストールされたものなので、
アップデートしてみる。

# yum update subversion

最新版になったところで再トライ。

すると、今度は違うエラーが。
「Unsupported version control system "svn"」とか何とか・・・

調べると、Python系のプラグインのバージョンが何とか・・
いろいろと情報が錯綜していて、Python門外漢の自分には何の事やらさっぱり、
と頭をかかえる。 

で、ハタと思った。

tracdでなにが悪いの?と。

というわけで、構成をシンプルに考え直す。
1.宅内ルータからのポートフォワーディングでしか外からアクセスできない。
2.ポートフォワーディングで80番を開放しているwebサーバーがすでにある。
3.外からアクセスは結局、そのサーバーからリバースプロクシでtracサーバーに転送するつもりだった。
4.別にhttpsでアクセスさせるつもりはない。

と考えれば、Apacheを使うメリットが思いつかない。

ベーシック認証がtracdで使えるらしいので、
オプションを調べる。

# tracd --help

おー。きちんとベーシック認証に対応してるではありませんか。
デーモナイズも出来る。
ただ、停止のためのオプションはないので、
オプションでpidを書き出させて、それを使ってプロセスをkillしないといけない。

tracのヘルプを見ると、複数プロジェクトもこれでうまくいけるらしい。

というわけで、起動、停止用のシェルスクリプトを書いて、
/etc/init.dにコピー、chkconfigで起動リストに加えて完了。

試しにサーバーを再起動してみて、きちんとTracdが動いているのを確認。

お~、うまくいった。

後は、プロジェクト毎の権限設定などをしてゆく。

というわけで続く・・・・

PR
この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
この記事へのトラックバック
この記事にトラックバックする:
ついめ~じ
ブログ内検索
フリーエリア
サニーカメラ
Powered by Ninja Blog    template by Temp* factory    icon by MiniaureType

忍者ブログ [PR]