trac


2009年12月 5日

Tracを0.11にバージョンアップしてみた

Tracのバージョンを0.10から0.11.5へバージョンアップしてみました。
日本語化されたものはインタアクトさんからダウンロードできます。

バージョンアップする手順は、UPGRADEに書いてありましたが、少しハマリました。。。
setuptoolsがなかったために、python setup.py installとしても「ImportError: No module named setuptools」と怒られます。

wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py

で幸せになれます。

あとは次の手順の通り
sudo python setup.py install
sudo trac-admin (プロジェクトのパス) upgrade
sudo trac-admin (プロジェクトのパス) wiki upgrade

バージョンアップしたことにより、管理コンソールが追加され、今までマイルストーンの登録とか、優先度とか、チケット分類などの変更や権限設定をコマンドラインでしなければならなかった部分が管理コンソールでできるようになりました。(これは大きい!)

ただ、TRAC_ADMIN権限を付与する部分は、今まで通りコマンドラインでやる必要があります。(anonymousでログインして設定してから、Basic認証を設定するならば不要かもしれませんが・・・)

2009年6月14日

環境変数エラー

Trac detected an internal error: The environment options "TRAC_ENV" or "TRAC_ENV_PARENT_DIR" or the mod_python options "TracEnv" or "TracEnvParentDir" are missing. Trac requires one of these options to locate the Trac environment(s).

というエラーが発生した。
原因は、TRAC_ENVがhttpd.confなどに設定されていないことによる。

<Location /xxx>
SetEnv TRAC_ENV "/trac_path"
</Location>

などの記載を行う。

2008年2月28日

tracの初期設定をする

tracの初期設定について説明する。tracは/install_path/tracに構築されたものとして説明しているので、適宜読み替えて欲しい。

# cd /install_path/
# trac-admin trac
Welcome to trac-admin 0.10.4
Interactive Trac administration console.
Copyright (c) 2003-2006 Edgewall Software

Type: '?' or 'help' for help on commands.

Trac [/install_path/trac]> permission list

もし以下のようになる場合には、ログイン時の権限があるかどうか確認して欲しい。通常はapacheが所有者になっているから、rootユーザーとなるか、グループへの権限を付与するなどをしなければならなくなるだろう。

Command failed: The user XXXX requires read _and_ write permission to the database file /install_path/trac/db/trac.db and the directory it is located in.


User Action
--------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_CREATE
anonymous TICKET_MODIFY
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_CREATE
anonymous WIKI_MODIFY
anonymous WIKI_VIEW


Available actions:
CONFIG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE,
MILESTONE_MODIFY, MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE,
REPORT_DELETE, REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN,
ROADMAP_VIEW, SEARCH_VIEW, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP,
TICKET_CREATE, TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN,
WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW


# trac-admin trac permission add (ログインユーザー名) TRAC_ADMIN
# trac-admin trac/ permission list

User Action
--------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_CREATE
anonymous TICKET_MODIFY
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_CREATE
anonymous WIKI_MODIFY
anonymous WIKI_VIEW
matsuda TRAC_ADMIN

TRAC_ADMINだとロードマップにおけるマイルストーンの追加や削除を画面上からすることができます。anonymous権限はデフォルトを意味するので、この権限表に存在しないユーザーはanonymousとみなされます。バグ報告などをしてもらうユーザーをデフォルトとするならば、WIKI_CREATE を削除すると良いと思います。(変更されたくない場合には読み取り専用にするにすれば、所有者しか変更できなくなります)
なお、removeする際にマッチしないユーザーがいてもエラーにならないので、削除した後は必ずpermission listを確認する。
詳しい権限については、Tracの権限設定(http://hackmylife.net/2007/02/trac.html)が参考になります。


Trac [/install_path/trac]> component list

Name Owner
--------------------
component1 somebody
component2 somebody

Trac [/install_path/trac]> component add (コンポーネント) somebody
Trac [/install_path/trac]> priority list

Possible Values
---------------
blocker
critical
major
minor
trivial

Trac [/install_path/trac]> priority remove blocker
Trac [/install_path/trac]> priority add "その他"

Trac [/install_path/trac]> version list
Trac [/install_path/trac]> version remove 2.0
選択肢がない場合にはチケット属性の項目から表示されなくなる。

分類の項目をカスタマイズする。

Trac [/install_path/trac]> ticket_type list
Trac [/install_path/trac]> ticket_type remove defect
Trac [/install_path/trac]> ticket_type add "不具合"
Trac [/install_path/trac]> ticket_type add "機能改善"
Trac [/install_path/trac]> ticket_type add "その他"

もし、機能改善を上にしたいのなら、
Trac [/install_path/trac]> ticket_type order "機能改善" up
とするだけだ。

そして終了する。
Trac [/install_path/trac]> exit


お勧めの使い方。
まず、ロードマップにあるマイルストーンをすべて(milestone1~milestone4)削除します。
ある目標ごとにマイルストーンを作成します。(ベータリリースとか公開リリースとか)

trac.ini

[notification]
always_notify_owner = false
always_notify_reporter = false

〇参考サイト
Server/trac/使い方
http://www.takebay.net/~nao/index.php?Server%2Ftrac%2F%BB%C8%A4%A4%CA%FD
http://ameblo.jp/itboy/entry-10036354850.html

2008年2月 2日

Fedora Coreにtracをインストールする

何人かで開発をしようとしても、なかなかバグの修正管理がうまくいかないとか、ドキュメントがいろんなところに転がってしまい情報が分散化したり、作ったけれども使われないとか。。。
そんななかでtracは情報の集約化とバグ管理を統合的に行える。
実際にインストールをしてみた。結構インストールが面倒くさいだろうと二の足を踏んでいたが、以外に簡単にできることが分かった。

1.Tracをインストールする
Fedora Coreであれば、そのままyumコマンドでインストールできる。

# yum install trac


Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package trac.noarch 0:0.10.4-1.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: subversion >= 1.1 for package: trac
--> Processing Dependency: python-clearsilver >= 0.9.3 for package: trac
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package subversion.i386 0:1.4.3-2.fc6 set to be updated
---> Package python-clearsilver.i386 0:0.10.4-4.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
trac noarch 0.10.4-1.fc6 extras 773 k
Installing for dependencies:
python-clearsilver i386 0.10.4-4.fc6 extras 132 k
subversion i386 1.4.3-2.fc6 updates 2.3 M

Transaction Summary
=============================================================================
Install 3 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 3.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): subversion-1.4.3-2 100% |=========================| 2.3 MB 00:02
(2/3): python-clearsilver 100% |=========================| 132 kB 00:00
(3/3): trac-0.10.4-1.fc6. 100% |=========================| 773 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: python-clearsilver ######################### [1/3]
Installing: subversion ######################### [2/3]
Installing: trac ######################### [3/3]

Installed: trac.noarch 0:0.10.4-1.fc6
Dependency Installed: python-clearsilver.i386 0:0.10.4-4.fc6 subversion.i386 0:1.4.3-2.fc6
Complete!


2.次に一般ユーザーでプロジェクトを作成する。ここでは/root/path/tracというフォルダ(そのようなフォルダは一般的にはありません)にプロジェクトを作成したと仮定して説明する。
$ trac-admin trac/ initenv


Creating a new Trac environment at /root/path/trac

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]> (ここにプロジェクト名を入れる)

Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]>(何も入力しない)

Please specify the type of version control system,
By default, it will be svn.

If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.

Repository type [svn]>(何も入力しない)

Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.

Path to repository [/path/to/repos]> (何も入力しない)

Please enter location of Trac page templates.
Default is the location of the site-wide templates installed with Trac.

Templates directory [/usr/share/trac/templates]>(何も入力しない)

Creating and Initializing Project
Installing default wiki pages
/usr/share/trac/wiki-default/WikiDeletePage => WikiDeletePage
/usr/share/trac/wiki-default/TracImport => TracImport
/usr/share/trac/wiki-default/TracReports => TracReports
/usr/share/trac/wiki-default/TracRoadmap => TracRoadmap
/usr/share/trac/wiki-default/WikiRestructuredText => WikiRestructuredText
/usr/share/trac/wiki-default/TracSearch => TracSearch
/usr/share/trac/wiki-default/TracInstall => TracInstall
/usr/share/trac/wiki-default/TracWiki => TracWiki
/usr/share/trac/wiki-default/TracEnvironment => TracEnvironment
/usr/share/trac/wiki-default/TracLinks => TracLinks
/usr/share/trac/wiki-default/TracInterfaceCustomization => TracInterfaceCustomization
/usr/share/trac/wiki-default/TracSupport => TracSupport
/usr/share/trac/wiki-default/TracQuery => TracQuery
/usr/share/trac/wiki-default/TracAccessibility => TracAccessibility
/usr/share/trac/wiki-default/TitleIndex => TitleIndex
/usr/share/trac/wiki-default/WikiRestructuredTextLinks => WikiRestructuredTextLinks
/usr/share/trac/wiki-default/WikiPageNames => WikiPageNames
/usr/share/trac/wiki-default/TracFastCgi => TracFastCgi
/usr/share/trac/wiki-default/InterMapTxt => InterMapTxt
/usr/share/trac/wiki-default/TracRss => TracRss
/usr/share/trac/wiki-default/TracLogging => TracLogging
/usr/share/trac/wiki-default/TracPlugins => TracPlugins
/usr/share/trac/wiki-default/TracBrowser => TracBrowser
/usr/share/trac/wiki-default/TracTickets => TracTickets
/usr/share/trac/wiki-default/TracTicketsCustomFields => TracTicketsCustomFields
/usr/share/trac/wiki-default/InterTrac => InterTrac
/usr/share/trac/wiki-default/WikiMacros => WikiMacros
/usr/share/trac/wiki-default/TracModPython => TracModPython
/usr/share/trac/wiki-default/TracGuide => TracGuide
/usr/share/trac/wiki-default/TracStandalone => TracStandalone
/usr/share/trac/wiki-default/TracBackup => TracBackup
/usr/share/trac/wiki-default/TracIni => TracIni
/usr/share/trac/wiki-default/WikiNewPage => WikiNewPage
/usr/share/trac/wiki-default/TracTimeline => TracTimeline
/usr/share/trac/wiki-default/RecentChanges => RecentChanges
/usr/share/trac/wiki-default/TracCgi => TracCgi
/usr/share/trac/wiki-default/WikiStart => WikiStart
/usr/share/trac/wiki-default/TracChangeset => TracChangeset
/usr/share/trac/wiki-default/TracUnicode => TracUnicode
/usr/share/trac/wiki-default/TracNotification => TracNotification
/usr/share/trac/wiki-default/SandBox => SandBox
/usr/share/trac/wiki-default/TracAdmin => TracAdmin
/usr/share/trac/wiki-default/TracUpgrade => TracUpgrade
/usr/share/trac/wiki-default/WikiProcessors => WikiProcessors
/usr/share/trac/wiki-default/TracRevisionLog => TracRevisionLog
/usr/share/trac/wiki-default/WikiFormatting => WikiFormatting
/usr/share/trac/wiki-default/CamelCase => CamelCase
/usr/share/trac/wiki-default/TracSyntaxColoring => TracSyntaxColoring
/usr/share/trac/wiki-default/WikiHtml => WikiHtml
/usr/share/trac/wiki-default/InterWiki => InterWiki
/usr/share/trac/wiki-default/TracPermissions => TracPermissions

Warning:

You should install the SVN bindings

---------------------------------------------------------------------
Project environment for 'Kataude Project' created.

You may now configure the environment by editing the file:

/root/path/trac/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

tracd --port 8000 /root/path/trac

Then point your browser to http://localhost:8000/trac.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

http://trac.edgewall.org/

Congratulations!


3.作成できたフォルダの所有者をapacheにする。
# chown -R apache trac/


4.apacheの設定ファイルに以下の記述をする。なお、ここではprojというパスに対してアクセスがあった場合に見せるようにする。
Alias /trac /usr/share/trac/htdocs
ScriptAlias /proj /var/www/cgi-bin/trac.cgi

SetEnv TRAC_ENV "/root/path/trac"

5.apacheを再起動して、登録したパスにアクセスすれば、正しく表示できていることを確認できる。
http://hogehoge.com/proj


6.ただ、日本語化されていないので、インタアクト株式会社の日本語化ツールをダウンロードして、解凍する。
$ cd /tmp
$ 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


7./usr/share/trac/にあるオリジナルのtemplatesならびにwiki-defaultのバックアップを取って、解凍した日本語版をコピーする。
# cd /usr/share/trac/
# mv templates/ templates.org
# mv wiki-default/ wiki-default.org
# cp -pR /tmp/trac-0.10.4-ja-1/templates/ ./
# cp -pR /tmp/trac-0.10.4-ja-1/templates/ ./
# cp -pR /tmp/trac-0.10.4-ja-1/wiki-default/ ./


8.もう一度アクセスすると日本語化されているのが分かる。ただ、anonymousユーザーでアクセスできてしまうので、ユーザー認証したいところ。これについては次回説明したい。(なお、AnonymousだとLoginしようとしてもエラーになる)

このドキュメント作成に当たり参考にさせていただいたサイトは以下のとおりです。
CentOSでyumからTracをインストール
Trac をインストールしてみたよ

続きを読む "Fedora Coreにtracをインストールする" »