本日全然使ってなかった自分のローカルのSubversionとTracを再セットアップしてAgiloを入れたので覚書程度になりますが記します。
環境はCentOS5です。G藤部長がいらなくなったというデスクトップのVAIOを略奪しました。Xウインドウシステムは一切入れていないのでグラボが台無しですね。
1.SVNとTracを削除
なんか色々やったので覚えてません
2.SVNをインストール
yumかわいいよyum.しかしrpmforgeから入れます。rpmforgeをyumに追加してない人は追加しておきましょう。
CentOS 5.2 で yum の対象リポジトリに RPMforge を追加するには等を参考にしてください。
# yum install --enablerepo=rpmforge mod_dav_svn
しかしエラー
Error: Missing Dependency
が二個くらいのパッケージで出ます(RubyとJavahとかそんなの)。既に入ってるバージョンが合ってないっぽい。たぶん前のSVNの残骸なので容赦なく削除します。
#yum -y remove パッケージ名
もう一回
# yum install --enablerepo=rpmforge mod_dav_svn
おーけー!
3.SVN用のディレクトリを作る
ディレクトリを作る。全部/home/devel/配下に作ります。いつも後からどこにインストールしたか見失って面倒くさくなるのでメモしましょう
# mkdir -p /home/devel/svn
4.リポジトリを作る
とりあえず今作ってるJSフレームワークのリポジトリを作ります
# svnadmin create /home/devel/svn/vf_framework
トランクとブランチ用とタグのディレクトリ作る
# svn mkdir file:///home/devel/svn/vf_framework/trunk file:///home/devel/svn/vf_framework/tags file:///home/devel/svn/vf_framework/branches -m "init repository layout (trunk,tags,branches)"
apacheから書き込むように所有者変更
# chown -R apache:apache /home/devel/svn/vf_framework
.htpasswd作る(tracでも共有します)
# htpasswd -c /home/devel/.htpasswd ユーザ名
New Password: ぱすわーど
svnのコンフィグ
# vi /etc/httpd/conf.d/subversion.conf
コメントアウトされてるので適宜変更自分の場合はこんな感じに。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<location /svn>
DAV svn
SVNParentPath /home/develop/svn
<limitexcept GE PROPFIND OPIONS REPOR>
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/devel/.htpasswd
Require valid-user
</limitexcept>
</location>
apache再起動
# service httpd restart
これでとりあえずリポジトリが作られます。
http://IPアドレス/svn/vf_framework/
* branches/
* tags/
* trunk/
とタイトルに”Revision 1″とかなんとかでてればOK
ローカルのTortoiseSVNとかiSVNとかからチェックアウトしてみましょう
5.Tracをインストール
日本語版を入れようと思うと色々頑張ることになるのですが、面倒なので英語版を入れます。
そうするとまたまたYUMちゃんのお世話になれるので楽して生きていくことが出来ます。
依存ライブラリを入れます。実は前のインストール時に入れていたので自分は不要でしたが大抵の人は必要だと思います。
RPMforgeから
# yum --enablerepo=rpmforge install -y python-clearsilver
こっちは標準リポジトリから
# yum install -y mod_python
はい、ドーン
# yum -y install trac
おわり。
6.Trac初期設定
TracもSVNと同じく/home/devel以下に全プロジェクトを格納する予定です。
# mkdir /home/devel/trac
7.Tracにプロジェクトを作ろう
先ほど作ったリポジトリ用のプロジェクトを設定!
# trac-admin /home/devel/trac/vf_framework initenv
色々聞かれるので適当に書きましょう。後から修正できます。
Project Name [My Project]> vf_framework
Database connection string [sqlite:db/trac.db]> [Return]
Repository type [svn]> [Return]
Path to repository [/path/to/repos]> /home/devel/vf_framework
Templates directory [/usr/share/trac/templates]> [Return]
これでTracに標準搭載の簡易サーバでテスト!確認!
# tracd --port 8000 /home/devel/trac/vf_framework
起動した!のでブラウザで確認。
http://サーバのIPアドレス:8000/vf_framework/
わぁ見れた!しかしなんかエラーが出てる。SVNと同期できないとのこと。
良く見るとリポジトリのパスが違いますね。修正しましょう。
#vi /home/devel/trac/vf_framework/conf/trac.ini
169行目らへんにある
repository_dir = /home/devel/vf_framework
を修正
repository_dir = /home/devel/svn/vf_framework
保存してブラウザを更新してみると問題なしですね。左上のロゴらへんが気になったら同じコンフィグファイル内をいじるとロゴ画像を差し替えられます
8.TracをApcheでいい感じにする
今はTrac内臓の簡易サーバで見ましたが、Apacheさんと仲良くしていただいたほうが何かと便利な世の中ですのでmod_pythonで動くようにします
まず所有者変更
# chown -R apache.apache /home/devel/trac/vf_frameowrk
設定ファイルを開きます
# vi /etc/httpd/conf.d/trac.conf
<IfModule mod_python.c>
<Location /trac>
SetHandler mod_python
PythonDebug On
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/develop/trac
PythonOption TracUriRoot /trac
</Location>
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile /home/develop/.htpasswd
Require valid-user
</LocationMatch>
</IfModule>
こんなかんじ。要するにTracのディレクトリ指定したり.htpasswdを読み込ませたりします。
.htpasswdはSVNと共有です。
ちなみに毎度コピペするとき”:set nonumber”するのが面倒です。
apache再起動
# service httpd restart
ブラウザで
http://サーバのIPアドレス/trac/vf_framework
にアクセスするとこれはなんとまぁかっこいいTracの画面が現れます。
よかったですね。
先ほど作ったリポジトリにファイルをCommitするとリポジトリブラウザに反映するのが見えますね。これは便利!
9.Tracに管理者を設定します
今のままだと誰も管理画面を使えなくてかわいそうなので管理者設定をします。
先ほどSVN設定のときに作ったユーザに管理者権限を与えましょう。
# trac-admin /home/devel/trac/vf_framework permission add ユーザ名 TRAC_ADMIN
これであなたも管理者!Tracの右上にある”Login”からさっきのユーザ名とパスワードでログインします。
するとAdminというメニュ-が増えますね。これでブラウザから色々設定できて便利です。
10.Agiloのインストール
上記Tracの管理画面の”plugins”より参照アップロードでagiloのeggファイルをアップロードしてinstallボタンを押します。
agiloをダウンロードするにはagile42の無料会員登録が必要です。
“agile42 http://www.agile42.com/cms/pages/agilo/”で”TRAC PLUGIN”からZIPをダウンロード
ZIPを解凍してTrac管理画面のpluginより参照アップロードします。
これで終わり。
Tracのデータベースを更新します。
# trac-admin /home/devel/trac/vf_framework upgrade
Creating…なんちゃらでてきたら成功です。
ブラウザを更新してみましょう。
なんじゃこりゃ!というくらい変わってますね。
とりあえずインストールで疲れたので今日は終わりです。
ちなみに
肝心のvf_frameworkはJS用の良く使う処理とか関数をひたすら集めた便利関数郡的なフレームワークのつもりですがまだ全然出来てません。結構DOMのショートカット関数はjQueryのコードを参考にしています。jQueryすげっ!
参考にさせていただきました。
CentOS5 で Subversion+Trac
プロジェクト管理システムの構築
[Trac]Agiloを導入してみた