OSS

Ubuntuでtrac

tracは、バグトラッキングシステムです。
シンプルなユーザインタフェース、Wikiによる文書管理、Subversionとの連携、リリース管理といったオープンソースプロジェクトで必要なひと通りの機能があり、なかなか良くできています。
Ubuntuでは、trac-ja-resourceという日本語リソースのパッケージでメニューやWikiのコンテンツが日本語化できるのですがメニューを日本語化するとチケットの登録ができなくなってしまいます。(残念)
日本語のWikiのコンテンツは問題ないようなのでマニュアルは日本語で読めます。
以下は、導入手順です。

インストール

aptでtrac-ja-recourceをインストールすると必要なもの一式がインストールされます。

$ sudo aptitude install trac-ja-resource
Password:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
Reading state information... 完了
Reading extended state information
Initialising package states... 完了
Building tag database... 完了
The following NEW packages will be automatically installed:
python-clearsilver python-dev python-pysqlite2 python-setuptools python-subversion
python2.4-dev trac
The following NEW packages will be installed:
python-clearsilver python-dev python-pysqlite2 python-setuptools python-subversion
python2.4-dev trac trac-ja-resource
0 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 2790kB of archives. After unpacking 10.8MB will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... 完了
Get:1 http://jp.archive.ubuntu.com edgy/universe python-clearsilver 0.10.3-2 [82.1kB]
Get:2 http://jp.archive.ubuntu.com edgy/main python2.4-dev 2.4.4~c1-0ubuntu1 [1503kB]
Get:3 http://jp.archive.ubuntu.com edgy/main python-dev 2.4.3-11ubuntu3 [934B]
Get:4 http://jp.archive.ubuntu.com edgy/main python-pysqlite2 2.3.2-1build1 [89.2kB]
Get:5 http://jp.archive.ubuntu.com edgy/main python-setuptools 0.6c3-1ubuntu4 [204kB]
Get:6 http://jp.archive.ubuntu.com edgy/main python-subversion 1.3.2-3ubuntu2 [456kB]
Get:7 http://jp.archive.ubuntu.com edgy-backports/universe trac 0.10.2-1~edgy1 [383kB]
Get:8 http://jp.archive.ubuntu.com edgy/universe trac-ja-resource 0.8.4-2-1 [70.3kB]
Fetched 2790kB in 2s (1392kB/s)
未選択パッケージ python-clearsilver を選択しています。
(データベースを読み込んでいます ... 現在 105755 個のファイルとディレクトリがインストールされています。)
(.../python-clearsilver_0.10.3-2_i386.deb から) python-clearsilver を展開しています...
未選択パッケージ python2.4-dev を選択しています。
(.../python2.4-dev_2.4.4~c1-0ubuntu1_i386.deb から) python2.4-dev を展開しています...
未選択パッケージ python-dev を選択しています。
(.../python-dev_2.4.3-11ubuntu3_all.deb から) python-dev を展開しています...
未選択パッケージ python-pysqlite2 を選択しています。
(.../python-pysqlite2_2.3.2-1build1_i386.deb から) python-pysqlite2 を展開しています...
未選択パッケージ python-setuptools を選択しています。
(.../python-setuptools_0.6c3-1ubuntu4_all.deb から) python-setuptools を展開しています...
未選択パッケージ python-subversion を選択しています。
(.../python-subversion_1.3.2-3ubuntu2_i386.deb から) python-subversion を展開しています...
未選択パッケージ trac を選択しています。
(.../trac_0.10.2-1~edgy1_all.deb から) trac を展開しています...
未選択パッケージ trac-ja-resource を選択しています。
(.../trac-ja-resource_0.8.4-2-1_all.deb から) trac-ja-resource を展開しています...
python-clearsilver (0.10.3-2) を設定しています ...
python2.4-dev (2.4.4~c1-0ubuntu1) を設定しています ...
python-dev (2.4.3-11ubuntu3) を設定しています ...
python-pysqlite2 (2.3.2-1build1) を設定しています ...
python-setuptools (0.6c3-1ubuntu4) を設定しています ...
python-subversion (1.3.2-3ubuntu2) を設定しています ...
trac (0.10.2-1~edgy1) を設定しています ...
trac-ja-resource (0.8.4-2-1) を設定しています ...

設定

基本的な設定は、/usr/share/doc/trac/README.Debianの手順でOKです。
$HOME/.projectというディレクトリで試してみます。

Subversionのリポジトリ作成
$ mkdir .project
$ cd .project/
$ mkdir svn
$ cd svn
$ svnadmin create .
$ ls
README.txt  conf  dav  db  format  hooks  locks
$
tracの設定

trac-adminでtrac環境を作ります。
幾つか質問されます。プロジェクト名は適当な名前を入力します。
Subversionのリポジトリへのパスは、上記で作成したものを入力します。
メニューを日本語化するには、/usr/share/doc/trac-ja-resource/README.jaに従って下記のように入力するのですが設定後にチケットが登録できなくなります。

Templates directory [/usr/share/trac/templates]> /usr/share/trac-ja-resource/templates

従ってデフォルト設定で下記のように設定していきます。

$ trac-admin . initenv
Creating a new Trac environment at $HOME/.project/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]> $HOME/.project/svn
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]> /usr/share/trac/templates
Creating and Initializing Project
Installing default wiki pages
/usr/share/trac/wiki-default/TracModPython => TracModPython
/usr/share/trac/wiki-default/TracRss => TracRss
/usr/share/trac/wiki-default/WikiRestructuredText => WikiRestructuredText
/usr/share/trac/wiki-default/TracStandalone => TracStandalone
/usr/share/trac/wiki-default/TracReports => TracReports
/usr/share/trac/wiki-default/TracPlugins => TracPlugins
/usr/share/trac/wiki-default/InterWiki => InterWiki
/usr/share/trac/wiki-default/TracTimeline => TracTimeline
/usr/share/trac/wiki-default/TracLinks => TracLinks
/usr/share/trac/wiki-default/WikiNewPage => WikiNewPage
/usr/share/trac/wiki-default/TracFastCgi => TracFastCgi
/usr/share/trac/wiki-default/TracSearch => TracSearch
/usr/share/trac/wiki-default/TracBackup => TracBackup
/usr/share/trac/wiki-default/TracGuide => TracGuide
/usr/share/trac/wiki-default/TracSupport => TracSupport
/usr/share/trac/wiki-default/TracPermissions => TracPermissions
/usr/share/trac/wiki-default/WikiDeletePage => WikiDeletePage
/usr/share/trac/wiki-default/TracTickets => TracTickets
/usr/share/trac/wiki-default/TracCgi => TracCgi
/usr/share/trac/wiki-default/TracWiki => TracWiki
/usr/share/trac/wiki-default/TracInterfaceCustomization => TracInterfaceCustomization
/usr/share/trac/wiki-default/TracImport => TracImport
/usr/share/trac/wiki-default/InterMapTxt => InterMapTxt
/usr/share/trac/wiki-default/TracEnvironment => TracEnvironment
/usr/share/trac/wiki-default/TracInstall => TracInstall
/usr/share/trac/wiki-default/WikiProcessors => WikiProcessors
/usr/share/trac/wiki-default/TracAccessibility => TracAccessibility
/usr/share/trac/wiki-default/RecentChanges => RecentChanges
/usr/share/trac/wiki-default/TracChangeset => TracChangeset
/usr/share/trac/wiki-default/WikiHtml => WikiHtml
/usr/share/trac/wiki-default/TracLogging => TracLogging
/usr/share/trac/wiki-default/WikiPageNames => WikiPageNames
/usr/share/trac/wiki-default/TracRoadmap => TracRoadmap
/usr/share/trac/wiki-default/TitleIndex => TitleIndex
/usr/share/trac/wiki-default/WikiStart => WikiStart
/usr/share/trac/wiki-default/TracQuery => TracQuery
/usr/share/trac/wiki-default/WikiMacros => WikiMacros
/usr/share/trac/wiki-default/TracIni => TracIni
/usr/share/trac/wiki-default/WikiRestructuredTextLinks => WikiRestructuredTextLinks
/usr/share/trac/wiki-default/TracTicketsCustomFields => TracTicketsCustomFields
/usr/share/trac/wiki-default/WikiFormatting => WikiFormatting
/usr/share/trac/wiki-default/TracAdmin => TracAdmin
/usr/share/trac/wiki-default/TracNotification => TracNotification
/usr/share/trac/wiki-default/TracSyntaxColoring => TracSyntaxColoring
/usr/share/trac/wiki-default/TracUpgrade => TracUpgrade
/usr/share/trac/wiki-default/SandBox => SandBox
/usr/share/trac/wiki-default/InterTrac => InterTrac
/usr/share/trac/wiki-default/TracBrowser => TracBrowser
/usr/share/trac/wiki-default/CamelCase => CamelCase
/usr/share/trac/wiki-default/TracUnicode => TracUnicode
/usr/share/trac/wiki-default/TracRevisionLog => TracRevisionLog
Indexing repository
---------------------------------------------------------------------
Project environment for 'My Project' created.
You may now configure the environment by editing the file:
$HOME/.project/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 $HOME/.project/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:

The Trac Project
Congratulations! $

tracd –port 8000 $HOME/.project/tracで簡単に試すこともできるようです。

Wikiの日本語設定

tracのメニューは英語のままですがWikiのコンテンツは日本語化できます。
/usr/share/doc/trac-ja-resource/README.jaに従って下記のように入力するとWikiも日本語化されます。

$ cd $HOME/.project/trac
$ trac-admin . wiki load /usr/share/trac-ja-resource/wiki-default
/usr/share/trac-ja-resource/wiki-default/TracModPython => TracModPython
/usr/share/trac-ja-resource/wiki-default/TracReports => TracReports
/usr/share/trac-ja-resource/wiki-default/TracInstallPlatforms => TracInstallPlatforms
/usr/share/trac-ja-resource/wiki-default/TracNotification => TracNotification
/usr/share/trac-ja-resource/wiki-default/RecentChanges => RecentChanges
/usr/share/trac-ja-resource/wiki-default/TracRoadmap => TracRoadmap
/usr/share/trac-ja-resource/wiki-default/TracChangeset => TracChangeset
/usr/share/trac-ja-resource/wiki-default/TracEnvironment => TracEnvironment
/usr/share/trac-ja-resource/wiki-default/WikiMacros => WikiMacros
/usr/share/trac-ja-resource/wiki-default/TracAccessibility => TracAccessibility
/usr/share/trac-ja-resource/wiki-default/TracLogging => TracLogging
/usr/share/trac-ja-resource/wiki-default/WikiHtml => WikiHtml
/usr/share/trac-ja-resource/wiki-default/TracJa => TracJa
/usr/share/trac-ja-resource/wiki-default/TracGuide => TracGuide
/usr/share/trac-ja-resource/wiki-default/SandBox => SandBox
/usr/share/trac-ja-resource/wiki-default/TracTicketsCustomFields => TracTicketsCustomFields
/usr/share/trac-ja-resource/wiki-default/WikiStart => WikiStart
/usr/share/trac-ja-resource/wiki-default/TracTermsJa => TracTermsJa
/usr/share/trac-ja-resource/wiki-default/WikiPageNames => WikiPageNames
/usr/share/trac-ja-resource/wiki-default/WikiRestructuredText => WikiRestructuredText
/usr/share/trac-ja-resource/wiki-default/CamelCase => CamelCase
/usr/share/trac-ja-resource/wiki-default/TracTickets => TracTickets
/usr/share/trac-ja-resource/wiki-default/TracSupport => TracSupport
/usr/share/trac-ja-resource/wiki-default/TracStandalone => TracStandalone
/usr/share/trac-ja-resource/wiki-default/TracMultipleProjects => TracMultipleProjects
/usr/share/trac-ja-resource/wiki-default/TracAdmin => TracAdmin
/usr/share/trac-ja-resource/wiki-default/TracPermissions => TracPermissions
/usr/share/trac-ja-resource/wiki-default/TracLinks => TracLinks
/usr/share/trac-ja-resource/wiki-default/TracQuery => TracQuery
/usr/share/trac-ja-resource/wiki-default/TracUnicode => TracUnicode
/usr/share/trac-ja-resource/wiki-default/TracUpgrade => TracUpgrade
/usr/share/trac-ja-resource/wiki-default/WikiNewPage => WikiNewPage
/usr/share/trac-ja-resource/wiki-default/TitleIndex => TitleIndex
/usr/share/trac-ja-resource/wiki-default/TracWiki => TracWiki
/usr/share/trac-ja-resource/wiki-default/TracBackup => TracBackup
/usr/share/trac-ja-resource/wiki-default/TracSyntaxColoring => TracSyntaxColoring
/usr/share/trac-ja-resource/wiki-default/TracImport => TracImport
/usr/share/trac-ja-resource/wiki-default/TracInstall => TracInstall
/usr/share/trac-ja-resource/wiki-default/TracTimeline => TracTimeline
/usr/share/trac-ja-resource/wiki-default/TracBrowser => TracBrowser
/usr/share/trac-ja-resource/wiki-default/TracIni => TracIni
/usr/share/trac-ja-resource/wiki-default/WikiRestructuredTextLinks => WikiRestructuredTextLinks
/usr/share/trac-ja-resource/wiki-default/TracRss => TracRss
/usr/share/trac-ja-resource/wiki-default/WikiFormatting => WikiFormatting
/usr/share/trac-ja-resource/wiki-default/TracSearch => TracSearch
/usr/share/trac-ja-resource/wiki-default/WikiProcessors => WikiProcessors
$
trac.cgiの設定
$ cd /usr/lib/cgi-bin/
$ ls
$ sudo ln -s /usr/share/trac/cgi-bin/trac.cgi .
アクセス権の変更とApache2の設定

Apacheからアクセスするために必要なアクセス権の変更をします。

$ cd $HOME/.project
$ sudo chown -R www-data:www-data trac
$ ls -l
合計 8
drwxr-xr-x  7 who      who   4096 2006-12-11 22:23 svn
drwxr-xr-x 10 www-data www-data 4096 2006-12-11 22:27 trac
$

/usr/share/doc/trac/README.DebianにApache2に必要な設定が書かれています。
下記の内容を/etc/apache2/conf.d/trac.confに書きます。
修正箇所は、とりあえずTRAC_ENVに作成した$HOME/.project/tracを指定します。
他にも修正が必要なところがありますが、とりあえず動かすだけであれば、これっでOKです。

Alias /trac/ "/usr/share/trac/htdocs/"
#You have to allow people to read the files in htdocs
<Directory "/usr/share/trac/htdocs/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Trac need to know where the database is located
<Location "/cgi-bin/trac.cgi">
SetEnv TRAC_ENV "/home/who/.project/trac"
</Location>
# You need this to allow users to authenticate
# trac.htpasswd can be created with
# cmd 'htpasswd -c trac.htpasswd' (UNIX)
# do 'man htpasswd' to see all the options
<Location "/cgi-bin/trac.cgi/login">
AuthType Basic
AuthName "trac"
AuthUserFile /somewhere/trac.htpasswd
Require valid-user
</location>

Apache2を再起動します。

$ sudo /etc/init.d/apache2 restart
アクセスしてみる

下記にアクセスしてtracのページが日本語で表示されたらOKです。

http://サーバ/cgi-bin/trac.cgi

コメント

  1. discypus より:

    Wikiだけ日本語化するなら、同一バージョンのhttp://www.i-act.co.jp/project/products/products.html の trac-0.10.2-ja-1.zip に含まれてる wiki-default を使うと良いかと。

  2. ksaito11 より:

    なるほど、このURLを参照すると最新版が使えますね。

タイトルとURLをコピーしました