Debianにtrac 1.0 (日本語化済み)をインストールする

Debianにtrac 1.0をインストールした時のメモです。

trac
http://trac.edgewall.org/


インタアクト株式会社が、日本語化されたtracを公開してくださってます。
http://www.i-act.co.jp/project/products/products.html

こちらを使用させて頂きました。






python, easy_installのインストール



すっぴんのDebianなので、まずPythonのインストールを行います。
また、各種Pythonライブラリのインストールには、easy_installを
使用しますので、こちらもインストールしておきます。


# apt-get install python
# apt-get install python-setuptools




pythonは2.6.6、easy_installは0.6.14がインストールされました。


# python --version
Python 2.6.6
# easy_install --version
distribute 0.6.14









日本語版tracのインストール



インストールは以下のURLを参考にさせて頂きました。
TracJa インストールガイド 0.12



まず、tracが使用するライブラリ「genshi」と「babel」をeasy_installでインストール。


# easy_install genshi
# easy_install babel





次にtrac本体のインストールを行います。


# easy_install http://www.i-act.co.jp/project/products/downloads/Trac-1.0.ja1.zip



easy_installにzipファイルが指定できるのは知りませんでした。


tracのインストールはこれで終了です。
trac-adminを実行して、こんなメッセージが表示されたらインストールは成功です。

# trac-admin
trac-admin - Trac 管理コンソール 1.0.ja1

Usage: trac-admin </path/to/projenv> [コマンド [サブコマンド] [オプション ...]]

コマンドを省略して trac-admin を実行すると、対話モードで起動します。

help     Show documentation
initenv Create and initialize a new environment










プロジェクトの作成



/var/tracというディレクトリを作成し、そこにプロジェクトを作成してみます。
プロジェクトを作成は

trac-admin [プロジェクトのディレクトリ] initenv


で行います。



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




trac-adminを実行すると、いくつか質問されます。
最初は、プロジェクトの名称です。
今回は「sample」としました。


新規 Trac Environment /var/trac/project の生成

はじめに、プロジェクトのデータベースの初期化と準備をするために、
環境についていくつか質問をします。

プロジェクトの名前を入力してください。
この名前は、ページのタイトルと説明に使用します。

プロジェクト名 [My Project]> sample





次は使用するデータベースの指定です。
SQLiteを使用するときは、そのままエンターでOKです。


使用するデータベースへの接続文字列を指定してください。
デフォルトではローカルに SQLite データベースを作成します。
既に存在する PostgreSQL データベースを使うこともできます。
(Trac では、接続文字列は厳密に表記する必要があります。
詳細は Trac のドキュメントを参照してください)

データベース接続文字列 [sqlite:db/trac.db]> (そのままエンター)





どばっと初期設定のログが流れます。
最後のメッセージは以下の通り。


Trac Environment 'sample' ができました。

今後、この環境の設定をする場合は、次のファイルを利用します。

/var/trac/project/conf/trac.ini

新しいプロジェクトを試しに実行してみたい場合は、スタンドアロンウェブ
サーバ `tracd` を試してみてください。

tracd --port 8000 /var/trac/project

それから、ブラウザで http://localhost:8000/project
にアクセスします。インストールしたバージョンに合わせた今後のセット
アップ情報などが含まれたドキュメントが閲覧できます。(例えばウェブサー
バで公開する手順など。)

最新のドキュメントは、プロジェクトのウェブサイトから入手できます。

http://trac.edgewall.org/

Congratulations!






tracdでプロジェクトを公開できるようですので、実行してみます。


# tracd --port 8000 /var/trac/project




ブラウザでhttp://[サーバーIP]:8000/を表示してみると、プロジェクトを選択する画面が表示されます。

134_01.png


先程作成したsampleを選択すると、ちゃんとtracの画面が表示されました。

134_02.png


一旦、Ctrl + Cを押してtracdを終了させます。








apache + mod_wsgiで公開する



せっかくなので、apache + mod_wsgiを使用してtracを公開してみます。

こちらを参考にさせて頂きました。
[Python][BTS] Trac + mod_wsgi で動作させる


apacheとmod_wsgiをインストール。


# apt-get install apache2
# apt-get install libapache2-mod-wsgi




libapache2-mod-wsgiをインストールした時点で自動的に有効になりますが、
念の為mod_wsgiが有効か確認。


# a2enmod wsgi
Module wsgi already enabled



やっぱり、既に有効になってました。


/var/tracにtrac.wsgiというファイルを作成します。


# vi /var/trac/trac.wsgi




内容は以下のとおり。
「TRAC_ENV」にtracのプロジェクトがあるフォルダを指定します。
「PYTHON_EGG_CACHE」は、tracのプロジェクトがあるフォルダのeggsにしておきました。


import os

os.environ['TRAC_ENV'] = '/var/trac/project'
os.environ['PYTHON_EGG_CACHE'] = '/var/trac/project/eggs'

import trac.web.main
application = trac.web.main.dispatch_request




作成が終わったら、実行権限をつけておきます。


# chmod 755 /var/trac/trac.wsgi






これまでがPython側の設定。
次はapacheの設定を行います。


conf.dにwsgi.confというファイルを作成します。


# vi /etc/apache2/conf.d/wsgi.conf




tracというurlでサイトを公開してみます。
記載内容は以下のとおり。


WSGIScriptAlias /trac /var/trac/trac.wsgi

<Directory /var/trac>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>




これが正しいやり方ではないと思うのですが、apacheからファイルを触れるようにするため、
/var/trac/project以下のオーナーを変更しました。


# chown -R www-data /var/trac/project/




これで公開の設定は終了です。
一度apacheをリスタートします。


# /etc/init.d/apache2 restart




ブラウザでhttp://[サーバーIP]/tracにアクセスすると、先ほどと
同じ画面が表示されると思います。

134_03.png









ログインユーザーの作成



画面右上の「ログイン」を押すとエラーになると思います。


Trac エラー
認証情報が利用できません。インストールドキュメントを参照してください。



134_04.png




素直にインストールドキュメントを参照します。
ログインに関するドキュメントは、こんなURLになるはずです。

http://[サーバーIP]/trac/wiki/TracModWSGI#ConfiguringAuthentication


今回はダイジェスト認証を使用することにしました。

まず、apacheのauth_digestを有効にします。


# a2enmod auth_digest
Enabling module auth_digest.
Run '/etc/init.d/apache2 restart' to activate new configuration!




リスタートは最後にして、ユーザーを先に作ってしまいます。

ユーザーは「htdigest」コマンドで作成します。
初めてユーザーを作成するときは、「-c」オプションが必要なようです。
tracにadminというユーザーを作成し、パスワードファイルは
「/var/trac/trac.htpasswd」に保存することにします。

コマンドを実行すると、作成するユーザーのパスワードを聞かれますので入力してやります。


# htdigest -c /var/trac/trac.htpasswd trac admin
Adding password for admin in realm trac.
New password: (パスワード入力)
Re-type new password: (もう一回パスワード入力)





次に、conf.dへ作成したwsgi.confへログインに関する情報を追記します。


WSGIScriptAlias /trac /var/trac/trac.wsgi

<Directory /var/trac>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

### 以下の内容を追記 ###
<Location "/trac/login">
    AuthType Digest
    AuthName "trac"
    AuthDigestDomain /trac
    AuthUserFile /var/trac/trac.htpasswd
    Require valid-user
</Location>





auth_digestを有効にするため、apacheをリスタート

# /etc/init.d/apache2 restart




再度、ログインをクリックしてみると今度は認証ダイアログが表示されると思います。
作成したユーザー名とパスワードを入力します。

134_05.png


ログインできました。ログインすると、チケットの登録等のメニューが増えます。

134_06.png







管理者権限の付与



作成したユーザー「admin」に管理者権限を付与していみます。

権限の付与は、trac-adminコマンドを使用します。
書式は以下のとおり。


# trac-admin [プロジェクトのディレクトリ] permission add [ユーザー名] TRAC_ADMIN




今回実行したコマンドはこうなります。


# trac-admin /var/trac/project permission add admin TRAC_ADMIN




adminユーザーでログインすると、「管理」というメニューが追加されました。
この管理コンソールで、プロジェクトの基本設定が行えます。

134_07.png






【参考URL】

TracJa インストールガイド 0.12
http://attosoft.info/trac/wiki/TracJaInstall

[Python][BTS] Trac + mod_wsgi で動作させる
http://d.hatena.ne.jp/kuma8/20090824/1251127684http://d.hatena.ne.jp/kuma8/20090824/1251127684

Trac Web Admin Pluginを入れてみた.
http://lightmaterial.blogspot.jp/2007/05/trac-web-admin-plugin.html


関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ