Trac

BTS(Bug Tracking System)で問題管理のソフトです。他にもBugzilla,Scarabとかあるのですが、Subversionと連携してくれるので使ってみます。

インストール

Tracをインストールする前にいくつかインストールする必要があります。 http://projects.edgewall.com/trac/よりtrac本体をダウンロードします。

wget http://ftp.edgewall.com/pub/trac/trac-0.8.4.tar.gz

2008/5/11現在、0.11ですが、http://www.i-act.co.jp/project/products/products.htmlより日本語にローカライズされたバージョンがダウンロードできます。 言語はpythonを使っているので、Pythonを参考にインストールします。 SubversionはSubversionを参考に入れておきます。次にsqliteです。PHPのsqliteを参考にインストールします。次にhttp://initd.org/tracker/pysqliteです。 pythonからsqliteを使うインターフェースでしょうか。1.1.6でないとimport sqliteで落ちました。

wget http://initd.org/pub/software/pysqlite/releases/2.0/2.0.3/pysqlite-2.0.3.tar.gz
tar xzvf pysqlite-2.0.3.tar.gz
cd pysqlite-2.0.3
python setup.py build
python setup.py install

おっエラーだらけ。

src/cursor.h:65: error: 文法エラー が '*' トークンの前にあります

ちょっとhttp://initd.org/pub/software/pysqlite/doc/install-source.htmlをみてみます。どうも、sqliteをpearからいれたかのがいけなかった。makeして入れなおすといけました。とりあえずldconfigしておきます。 そのディレクトリのscriptsにtest-pysqliteファイルがありますので、

scripts/test-pysqlite

として実行すると、OKがでました。
2008/4/20時点では、URLはhttp://pypi.python.org/pypi/pysqlite

wget http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/pysqlite-2.4.1.tar.gz
tar xzvf pysqlite-2.4.1.tar.gz 

では次にClearSilver?をインストールします。オープンソースのWebテンプレート言語だそうです。0.11からはGenshiに変更されました。 http://clearsilver.net/より

wget http://www.clearsilver.net/downloads/clearsilver-0.10.1.tar.gz
tar xzvf clearsilver-0.10.1.tar.gz
cd clearsilver-0.10.1

INSTALLファイルをみて、

./configure --with-apache=/usr/local/apache2
make
make install

leopardのときmakeで

*** /work/clearsilver-0.10.5/ruby/ext/hdf/extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

ってエラーがでたんで、とりあえず

./configure --with-apache=/usr/local/apache2 --disable-ruby

にして続行しました。http://trac.edgewall.org/wiki/TracOnOsxNoFinkも参考に
すると/usr/lib/python2.4/site-packagesにneo_cgi.soがコピーされます。 centos5できちんとパスを指定しないとneo_cgi.soがコピーされないことがありましたので、

./configure --with-apache=/usr/local/apache2 --disable-java --with-python=/usr/local/bin/python

としました。またleopardでは

cd python
python setup.py install

でインストールしました。/Library/Python/2.5/site-packages/でも確認しておきましょう
最後に

error: Could not find suitable distribution for Requirement.parse('clearsilver==0.10.5')

ってでているのが気になるのですが.... またインストールできてないとアクセスしたときに

TracError: ClearSilver not installed (No module named neo_cgi)

って怒られます。 では最後にhttp://docutils.sourceforge.net/からDocutilsをインストールします。これはreST(reStructuredText?)という形式の入力でHTMLやXMLが出力できるようなものなのだそうですが、Tracのwikiの入力にでもつかわれているのでしょうか。http://www.planewave.org/translations/rst/quickstart.ja.htmlを参考にしてみます。では早速入れてみます。

wget http://surfnet.dl.sourceforge.net/sourceforge/docutils/docutils-0.3.9.tar.gz
tar xzvf docutils-0.3.9.tar.gz
cd docutils-0.3.9
python setup.py install

では最後にEUC-JP、Shift_JISなどの日本語の文字エンコーディングがpythonでできるコーデックをインストールしておきます。http://www.python.jp/Zope/download/JapaneseCodecs

wget http://ftp.python.jp/pub/JapaneseCodecs/JapaneseCodecs-1.4.11.tar.gz
tar xzvf JapaneseCodecs-1.4.11.tar.gz
cd JapaneseCodecs-1.4.11
python setup.py install

ではようやくtracです。

tar xzvf  trac-0.8.4.tar.gz
cd trac-0.8.4
python ./setup.py install

では環境をつくっていきます。

trac-admin /webroot/trac initenv

んーエラーがでました。

File "/usr/local/bin/trac-admin", line 30, in ?
import sqlite
ImportError: No module named sqlite

ちょっとパスをみてみます。

python
>>> import sys
>>> sys.path 

PYTHONPATHにセットしてやればいいみたいなんですが、どこだ? とりあえず、pysqlite の1.1.6を入れてみる。げっ、動いたやんか。でも

File "/usr/local/bin/trac-admin", line 34, in ?
  from trac import sync
File "/usr/local/lib/python2.4/site-packages/trac/sync.py", line 22, in ?
  from svn import core, fs, delta, repos 

んーー どうもsubversionでなにかせんとあかんみたいやなー Subversionのpythonを参考にインストールするとこの問題のsvnとlibsvnが出来ているので/usr/local/lib/python2.4/site-packagesにコピーしたらいけた。 では、

trac-admin /webroot/trac initenv

でプロジェクト名、svnのレポジトリパス,テンプレートディレクトリの場所を指定します。日本語化にあたって、http://www.i-act.co.jp/project/products/products.htmlからダウンロードします。

wget http://www.i-act.co.jp/project/products/downloads/trac-0.8.4-ja-1.zip 
unzip trac-0.8.4-ja-1.zip
cd trac-0.8.4-ja-1
rm -rf /usr/local/share/trac/templates/ 
rm -rf /usr/local/share/trac/wiki-default/
cp -r templates /usr/local/share/trac/
cp -r wiki-default/ /usr/local/share/trac/

ではhttp.confを編集します。

ScriptAlias /tractest/trac.cgi "/usr/local/share/trac/cgi-bin/trac.cgi"
Alias /tractest/ "/usr/local/share/trac/htdocs/"
<Directory "/usr/local/share/trac/htdocs">
  Options Indexes MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
<Location "/tractest/trac.cgi">
  SetEnv TRAC_ENV "/webroot/trac"
</Location>

ではブラウザよりhttp://localhost/tractest/trac.cgi

Oops...
Trac detected an internal error:
No module named neo_cgi
Traceback (most recent call last):
 File "/usr/local/share/trac/cgi-bin/trac.cgi", line 25, in ?
   trac.core.cgi_start()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 533, in cgi_start
   send_pretty_error(e, None)
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 473, in send_pretty_error
   req.init_request()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 341, in init_request
   Request.init_request(self)
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 272, in init_request
   import neo_cgi
ImportError: No module named neo_cgi

あれ?おかしいなー /usr/local/lib/python2.4/site-packages/にneo_cgi.soがない。clearsilver-0.10.1/python/neo_cgi.soをコピー

Trac detected an internal error:
Missing environment variable "TRAC_ENV". Trac requires this variable to point to a valid Trac Environment.
Traceback (most recent call last):
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 532, in cgi_start
   real_cgi_start()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 514, in real_cgi_start
   env = open_environment()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 186, in open_environment
   raise EnvironmentError, \
EnvironmentError: Missing environment variable "TRAC_ENV". Trac requires this variable to point to a valid Trac Environment. 

おっ、エラーが変わった。なんだ。httpd.confのlocationを間違っていた。ではもう一度。

Oops...
Trac detected an internal error:
The web server user requires read _and_ write permission
to the database /webroot/root/trac/db/trac.db and the directory this file is located in.
Traceback (most recent call last):
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 532, in cgi_start
   real_cgi_start()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 514, in real_cgi_start
   env = open_environment()
 File "/usr/local/lib/python2.4/site-packages/trac/core.py", line 191, in open_environment
   version = env.get_version()
 File "/usr/local/lib/python2.4/site-packages/trac/Environment.py", line 160, in get_version
   cnx = self.get_db_cnx()
 File "/usr/local/lib/python2.4/site-packages/trac/Environment.py", line 84, in get_db_cnx
   raise EnvironmentError, \
EnvironmentError: The web server user requires read _and_ write permission to the database /webroot/trac/db/trac.db and the directory this file is located in.

おっ、やっと簡単に直りそうなエラーだ。

chown -R nobody:nobody /webroot/trac

やっと画面がでました。おや?ログインできんぞ?そうか。httpd.confに設定がいるんだ。

<Location "/tractest/trac.cgi/login">
 AuthType Basic
 AuthName "WelCome Trac!"
 AuthUserFile /webroot/trac/trac.htpasswd
 Require valid-user
</Location>

httpdをgracefulで設定ファイルを読み直し、

htpasswd -cb /webroot/root/trac/trac.htpasswd admin hogepass
htpasswd -b /webroot/root/trac/trac.htpasswd hogeuser hogepass1

ユーザ追加して、tracで権限を追加します。

trac-admin /webroot/trac permission add admin TRAC_ADMIN

確認

trac-admin /webroot/trac permission list

いろいろコマンドがあるので、

trac-admin help

で確認しておく

http://trac.so-kukan.com/newt/wiki/TracInstall http://dag.wieers.com/packages/trac/

trac.ini

shift_jisがいい場合は、

default_charset = iso-8859-15

default_charset = japanese.shift_jis

リンク

参考書籍

コメント

  • #comment

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-05-14 (水) 12:13:00 (5846d)