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

** インストール
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