目次



構築

左のメニューから下記の通り順繰りやっていけば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)
mod_python 3.3.1
swig 1.3.29
subversion 1.6.3
データベースは選択
clearsilver 0.10.5
Trac 0.10.4-ja-1
pluginは必要に応じて。
XmlRpcPluginはEclipseとの連携で必要になるので入れておく。

改造

リポジトリブラウザでのコミット日時の表示

チケットへの日時表示 0.10版

チケットへの日時表示 0.11版

# 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)} 前]).
----

プロジェクトの新規作成

  1. Tracプロジェクト用DB(PostgreSQL)の作成
    # su - postgres
    $ createdb -O tracuser trac_sample-project --encoding=utf8

  2. SVNリポジトリ作成
    # svnadmin create /home/svn/sample-project
    # chown -R apache:apache /home/svn/sample-project  ← apacheユーザーに所有権変更

  3. 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ユーザーに所有権変更

  4. 管理者権限を追加
    # trac-admin /home/trac/sample-project permission add abetake TRAC_ADMIN

  5. Subversionとの連携の為の設定を行う

プロジェクトの削除

  1. Tracプロジェクト削除
    # rm -rf /home/trac/sample-project

  2. SVNリポジトリ削除
    # rm -rf /home/svn/sample-project

  3. Tracプロジェクト用DB(PostgreSQL)の削除
    # su - postgres
    $ dropdb trac_sample-project


Subversionとの連携の為の設定

SubversionのコミットログによってTracのチケットにコメントを残せるようになる。

  1. 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

  2. コピーしたファイルに権限設定
    # chown -R apache:apache /path/to/trac/project/contrib
    # chmod 755 /path/to/trac/project/contrib/trac-post-commit-hook    ← 実行権限

  3. 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"

  4. 作成したファイルに権限設定
    # chown -R apache:apache /path/to/svn/repos/hooks/post-commit
    # chmod 755 /path/to/svn/repos/hooks/post-commit    ← 実行権限

  5. コミット時
    コメントに
    ref #??
    のように書いておく

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-05-10 (水) 20:54:04