CentOS7へtracをインストール

【PR】
※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

もの凄く久しぶりにtracをインストールしてみた。
今はあまり使われなくなったのか、書いてある手順通りに実施してもインストールできるページがなかなか見つからない。。。

easy_install trac

とか打っても

Couldn't find index page for 'Trac' (maybe misspelled?)

とか出てインストールできない。

easy_installではなく、こちらページのepelパッケージインストール方式で割とすんなり入りました。
SVN組み込みですが、
CentOSにyumでsubversion subversion-python mod_dav_svn あたりをインストールして
svnのルートディレクトリにApacheの認証設定を入れたあと、
取り合えずTracの画面に「branches」「Tags」「trunk」を表示させたい場合は

mkdir /var/www/svn/repo/sample
svnadmin create /var/www/svn/repo/sample

こちらを参考に
sampleレポジトリに
「branches」「Tags」「trunk」のディレクトリを作成して
svn list file:///レポジトリのパスで
「branches」「Tags」「trunk」
が表示されるようにしておく

レポジトリをまず作って、その配下に「branches」「Tags」「trunk」のディレクトリを作成というやり方は
某バージョン管理サービスを利用した時のデフォルト設定になっていたので、
恐らくこれでよいのだろうと思います。
後はそれぞれの運用で。

Tracの管理画面で
管理→プラグイン→★を有効にして、変更を適用
tracopt.versioncontrol.svn.svn_fs.* — Note about Unicode ——————
★SubversionConnector
tracopt.versioncontrol.svn.svn_prop.*
★SubversionMergePropertyDiffRenderer
★SubversionMergePropertyRenderer
★SubversionPropertyRenderer

Tracの管理→リポジトリ→リポジトリの追加で
名称:sample
種別:default
ディレクトリ:/var/www/svn/repo/sample
で追加
表示される

trac-admin パス repository resync "sample"

をターミナルで実行

うまくいっていれば、tracでリポジトリブラウザを表示した時に「branches」「Tags」「trunk」が表示されるはず。

しかし、このままだとTortoiseSVN等でコミットしてもtracと同期しないのでcommit時に実行されるスクリプトを以下で設定します。
レポジトリのパス/hooks配下で

cp -p post-commit.tmpl post-commit
vi post-commit

最下行に以下を追加

trac-admin tracのプロジェクトディレクトリ changeset added "sample" $REV

編集が終わったら実行権限を付与

chmod +x post-commit

コミットした後にtracを見て更新されていることを確認します。

ちなみに「branches」「Tags」「trunk」の意味はサイトによって色々説明が違うのですが・・
trunk→コミットするメインの場所
branches→補助的な場所 trunkから作成する こちらでコミットし最終的にtrunkにマージする 基本こちらで変更する
tags→区切りがよいタイミングで保存する場所 trunkから作成し、リリースはこちらから コピーのみで 変更しない

単にExcelとかをローカルからリビジョンごとに保存したい場合はtrunkのみ使用とかなのかな。

※subversionにTortoiseSVNでアクセスした時にエラーが出てハマる
例えばSVNで/var/www/svn/repo/sample
でSVNレポジトリを作った場合、httpd/conf.d
以下に作成する設定ファイルはこんな感じ

DAV svn
SVNParentPath /var/www/svn/repo
AuthType Digest
AuthName "sample"
AuthUserFile tracのプロジェクト/.htdigest
Require valid-user

でアクセスするURLは
https://〇〇/svn/sample
なるのでよろしく(笑)
あと、TortoiseSVNでアクセスするのにhttp/httpsでアクセスするので
svnservは稼働していなくてもよく、portを開ける必要もなし。

Setup_Memo

Posted by admin