Hatena::ブログ(Diary)

Unix的なアレ

2008-09-23

10分でつくる、プロジェクト管理ツール"Trac"

f:id:wadap:20080923211041j:image

Tracの構築ってなかなか面倒ですよね。自分も初めて作ったときはいろいろと手間取ったことを覚えています。

とくにソースからいれるとなると、いろいろとやらなければいけません。パッケージも用意されていますが、日本語化をする場合などいろいろと面倒があります。

今回も前回に引き続き、簡単にTracインストールを行う手順を紹介したいと思います。

事前準備

まずは、以下の手順を行っていることが前提です。

10分で作る、Subversionレポジトリ - Unix的なアレ

そのため、動作環境は以前と同様です。試してみたところ、Ubuntuでも同様の手順でいけるようです。

OSDebian Linux etch
Protocolhttp
Web ServerApache2.2.3

さて、それでは構築していきましょう!

パッケージのインストール

さて、Tracを使うにあたって必要なパッケージをインストールします。今回も作業はすべてrootで行うものとします。

 $ apt-get install unzip python-setuptools libapache2-mod-python python-subversion python-sqlite 

Tracインストール

引き続き、Tracインストールをします。本来なら全てrootになるべきではないのですが、sudoなし前提なのでそのまま書きます。

なお、インタアクト株式会社が作成している翻訳済みのソースコードを使用します。

インタアクト株式会社--業務内容--公開資料

 $ cd /usr/local/src
 $ wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.1.ja1.zip
 $ unzip Trac-0.11.1.ja1.zip
 $ cd Trac-0.11.1.ja1
 $ python setup.py build
 $ python setup.py install

Tracのセットアップ

さて、正常にインストールが完了したらセットアップをしましょう。Tracインストールの中でキモの部分です。

まずは下記の2つのコマンドをうってください。

 $ mkdir /var/trac
 $ trac-admin /var/trac/project initenv

この時点で対話形式でTracのプロジェクトを作成する画面になります。

入力する部分は4箇所です。

Creating a new Trac environment at /var/trac/project

Trac will first ask a few questions about your environment
in order to initialize 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]> {空のままEnter}

 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]> {空のままEnter}

 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]> /var/svn/repo (使用するレポジトリパス。前回構築したレポジトリを参照するためこのように入力)

さて、無事入力できたでしょうか?下記のメッセージが最後に表示されれば無事成功しています。

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

  http://trac.edgewall.org/

Congratulations!

それでは、最後にオーナーの変更を行いましょう。

 $ sudo chown -R www-data:www-data /var/trac

Apacheの設定変更

それでは最後に、apacheで使用する設定をします。前回の手順前提のため、設定ファイルを上書きします。念のためバックアップを取得しておきます。

 $ cp -ip /etc/apache2/sites-available/subversion{,.`date +%Y%m%d`}
 $ tee /etc/apache2/sites-available/subversion << EOF
<Virtualhost *:80>
    SetEnv PYTHON_EGG_CACHE "/var/tmp/.egg-cache"
    <Location /trac>
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnvParentDir /var/trac
        PythonOption TracUriRoot "/trac"
    </Location>

    <Location /svn>
        DAV svn
        SVNParentPath /var/svn
        AuthType Basic
        AuthName "Basic Auth"
        AuthGroupFile  /dev/null
        AuthUserFile   /etc/apache2/.htpasswd
        Require valid-user
    </Location>
</Virtualhost>
EOF

最後にapache再起動をかけます。

 $ /etc/init.d/apache2 restart

正常にapacheが起動すればOKです!

動作確認

それでは最後に動作確認をしましょう。

http://${servername}/trac/project

下記の画面が表示されれば成功です!

f:id:wadap:20080923210511j:image

最後に

さて、今回は割と手間取りがちなTracインストール手順をまとめてみました。チャレンジしたけれどもうまくいかない!という経験がある方はもう一度試してみてくださいね。

nkmrakutennkmrakuten 2008/09/25 00:22 参考になります。(^^

discypusdiscypus 2008/09/28 23:07 次の点があると、すぐに使い始めることが出来るのでより便利かと。

(1) 管理ユーザーの登録
「# trac-admin /var/trac/project permission add ${username} TRAC_ADMIN」

(2) TracへのBasic認証の設定、SetEnvではなくPythonOption PYTHON_EGG_CACHEの使用
<Virtualhost *:80>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/trac
PythonOption TracUriRoot ”/trac”
PythonOption PYTHON_EGG_CACHE /tmp/egg_cache
</Location>

<LocationMatch /trac/[^/]+/login>
AuthType Basic
AuthName ”Basic Auth”
AuthGroupFile /dev/null
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</LocationMatch>

<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName ”Basic Auth”
AuthGroupFile /dev/null
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
</Virtualhost>

dqjqvrdqjqvr 2008/10/04 01:21 7Nj8k5 <a href=”http://anrqxdctyfrf.com/”>anrqxdctyfrf</a>, [url=http://brqrfvkolgxg.com/]brqrfvkolgxg[/url], [link=http://lcfjekelwzop.com/]lcfjekelwzop[/link], http://lskthxnyeych.com/

よっつよっつ 2008/10/21 00:38 RSSリーダに入れてたこのサイトで
wadapさんの名前見てあれ?と思いました。
お久しぶりです(笑)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証