#freeze
''目次''
#contents
~
----
*構築 [#tce568f6]
左のメニューから下記の通り順繰りやっていけばOK。~
:[[CentOS 5.3]]|
:[[ntp]]|無くても問題ないがやっとけばベター。~
:[[OpenSSL 0.9.8k]]|外部からのアクセスを考えた際には必要かと。~
OpenSSHを使うなら必要。~
:[[zlib]]|yumでzlib-devel~
:[[OpenSSH 5.2p1]]|外部からのメンテを考えて。~
:[[Apache 2.2.12]]|
:[[Python 2.6.2]]|
%%Trac0.11ではmod_pythonを使うならPythonは2.5との事%%~
↑0.11.3で2.6にも対応(参考:[[trac 0.11.3 ReleaseNotes>http://trac.edgewall.org/browser/tags/trac-0.11.3/RELEASE]])
:[[mod_python 3.3.1]]|
:[[swig 1.3.29]]|
:[[subversion 1.6.3]]|
:データベースは選択|
--SQLite  ← こっちが簡単かも~
---[[SQLite 3.5.9]]~
---[[pysqlite 2.4.1]]~
--PostgreSQL~
---[[PostgreSQL 8.3.7]]~
---[[psycopg2 2.0.11]]~
:[[clearsilver 0.10.5]]|
:[[Trac 0.10.4-ja-1]]|pluginは必要に応じて。~
[[XmlRpcPlugin]]はEclipseとの連携で必要になるので入れておく。~
----
*改造 [#z98f5e86]
-一度やっておけばTracプロジェクト全てに適用されるもの。~
**リポジトリブラウザでのコミット日時の表示 [#h48e9940]
-[[discypus.jp - [カスタマイズ] リポジトリブラウザの「コミット時期」にコミット日時の表示を追加>http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2F%A5%E1%A5%E2#d20071211]]
 # vi /usr/local/python-2.5.2/share/trac/templates/browser.cs
 
 ---<89行目>---
 (コミッタ: <?cs var:file.author ?>, コミット時期: <?cs var:file.age ?> 前)
 ↓
 (コミッタ: <?cs var:file.author ?>, コミット時期: <?cs var:file.date ?>, <?cs var:file.age ?> 前)

**チケットへの日時表示 0.10版 [#x00dc31e]
-[[discypus.jp - [カスタマイズ] ticket.csの修正>http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2F%A5%E1%A5%E2#content_1_1]]より。
 # vi /usr/local/python-2.5.2/share/trac/templates/ticket.cs
 
 ---<43行目>---
 <p title="<?cs var:ticket.opened ?>">登録: <?cs var:ticket.opened_delta ?> 前</p><?cs
 ↓
 <p>登録: <?cs var:ticket.opened ?> (<?cs var:ticket.opened_delta ?>前)</p><?cs
 
 ---<45行目>---
 <p title="<?cs var:ticket.lastmod ?>">最終更新: <?cs var:ticket.lastmod_delta ?> 前</p>
 ↓
 <p>最終更新: <?cs var:ticket.lastmod ?> (<?cs var:ticket.lastmod_delta ?>前)</p>
 ----
**チケットへの日時表示 0.11版 [#aabaa98a]
 # vi /usr/local/python-2.5.2/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac/ticket/templates/ticket.html
 ---<139行目>---
 <p py:if="ticket.exists">登録: (${dateinfo(ticket.time_created)} 前)</p>
 ↓
 <p py:if="ticket.exists">登録: ${format_datetime(ticket.time_created)} (${dateinfo(ticket.time_created)} 前)</p> 
 ---<140行目>---
 <p py:if="ticket.time_changed != ticket.time_created">最終更新: (${dateinfo(ticket.time_changed)} 前)</p>
 ↓
 <p py:if="ticket.time_changed != ticket.time_created">最終更新: ${format_datetime(ticket.time_changed)} (${dateinfo(ticket.time_changed)} 前)</p>
 ----
 
 以下はチケットの履歴で表示される日時
 ---<234行目>---
 更新者: ${authorinfo(change.author)} (${dateinfo(change.date)} 前)
 ↓
 更新者: ${authorinfo(change.author)} (${format_datetime(change.date)} [${dateinfo(change.date)} 前])
 ----
 
 以下は添付ファイルの履歴で表示される日時
 vi /usr/local/python-2.5.2/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac/templates/macros.html
 ---<179,180行目>---
 (${sizeinfo(attachment.size)}) - 登録者 <em>${authorinfo(attachment.author)}</em>
 (${dateinfo(attachment.date)} 前).
 ↓
 (${sizeinfo(attachment.size)}) - 登録者 <em>${authorinfo(attachment.author)}</em>
 (${format_datetime(attachment.date)} [${dateinfo(attachment.date)} 前]).
 ----
*プロジェクトの新規作成 [#ae4cf4ce]
-プロジェクト名~
Sample Project~
-Subversionレポジトリ作成先~
/home/svn~
-Tracプロジェクト作成先~
/home/trac~
+''Tracプロジェクト用DB(PostgreSQL)の作成''
 # su - postgres
 $ createdb -O tracuser trac_sample-project --encoding=utf8
~
+''SVNリポジトリ作成''
 # svnadmin create /home/svn/sample-project
 # chown -R apache:apache /home/svn/sample-project  ← apacheユーザーに所有権変更
~
+''Tracプロジェクト作成''
 # trac-admin /home/trac/sample-project initenv
 Project Name [My Project]>                                     [Sample Project]
 Database connection string [sqlite:db/trac.db]>                [postgres://tracuser@localhost/trac_sample-project]
 Repository type [svn]>                                         [空Enter]
 Path to repository [/path/to/repos]>                           [/home/svn/sample-project]
 Templates directory [/usr/local/python/share/trac/templates]>  [空Enter]
これでもOK↓
 # trac-admin /home/trac/sample-project initenv "Sample Project" postgres://tracuser@localhost/trac_sample-project svn /home/svn/sample-project /usr/local/python/share/trac/templates
~
 # chown -R apache:apache /home/trac/sample-project  ← apacheユーザーに所有権変更
~
+''管理者権限を追加''
 # trac-admin /home/trac/sample-project permission add abetake TRAC_ADMIN
~
+''[[Subversionとの連携の為の設定>http://www.abetake.com/index.php?Trac#q7623dbd]]を行う''
----
*プロジェクトの削除 [#d237853f]
-プロジェクト名~
Sample Project~
-Subversionレポジトリ作成先~
/home/svn~
-Tracプロジェクト作成先~
/home/trac~
+''Tracプロジェクト削除''
 # rm -rf /home/trac/sample-project
~
+''SVNリポジトリ削除''
 # rm -rf /home/svn/sample-project
~
+''Tracプロジェクト用DB(PostgreSQL)の削除''
 # su - postgres
 $ dropdb trac_sample-project
~
----
*Subversionとの連携の為の設定 [#q7623dbd]
SubversionのコミットログによってTracのチケットにコメントを残せるようになる。
+''Tracのソースからtrac-post-commit-hookをコピー''
 # mkdir /path/to/trac/project/contrib
 # cp /usr/local/src/trac-0.10.4-ja-1/contrib/trac-post-commit-hook /path/to/trac/project/contrib
~
+''コピーしたファイルに権限設定''
 # chown -R apache:apache /path/to/trac/project/contrib
 # chmod 755 /path/to/trac/project/contrib/trac-post-commit-hook    ← 実行権限
~
+''post-commitの作成''
 # vi /path/to/svn/repos/hooks/post-commit
 
 ---<以下内容>---
 #!/bin/sh
 
 TRAC_ENV="/path/to/trac/project"                ← 連携させるTracプロジェクト
 SVNLOOK="/usr/local/subversion/bin/svnlook"
 PYTHON="/usr/local/python/bin/python"
 export LANG=ja_JP.UTF-8
 
 REPOS="$1"
 REV="$2"
 LOG=`$SVNLOOK log -r $REV $REPOS`
 AUTHOR=`$SVNLOOK author -r $REV $REPOS`
 
 ${PYTHON} ${TRAC_ENV}/contrib/trac-post-commit-hook \
 -p "$TRAC_ENV" \
 -r "$REV" \
 -u "$AUTHOR" \
 -m "$LOG"
~
+''作成したファイルに権限設定''
 # chown -R apache:apache /path/to/svn/repos/hooks/post-commit
 # chmod 755 /path/to/svn/repos/hooks/post-commit    ← 実行権限
~
+''コミット時''~
コメントに~
 ref #??
のように書いておく

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS