«前の日記(2006年03月03日) 最新 次の日記(2006年03月06日)» 編集

ema log


2006年03月04日 Install trac-ja 0.9.4 on Vine Linux [長年日記]

_ [Linux][trac] Install ClearSilver 0.10.2 on Vine Linux 3.2

ただ、configure && make && make install だと python 用の Makefile がきちんと生成されない。具体的にはこんな感じのエラーが出る。

../mkinstalldirs
/usr/bin/install -c neo_cgi.so
/usr/bin/install: 引数の数が少なすぎます

0.9.14 だとインストールできるので Makefile の違いを見てみると、問題の個所は

install: all
        $(NEOTONIC_ROOT)/mkinstalldirs $(DESTDIR)$(PYTHON_SITE)
        $(INSTALL) $(TARGETS) $(DESTDIR)$(PYTHON_SITE)

つまり、DESTDIR 及び PYTHON_SITE を適切に渡してやればいい。0.9.14 で make install してみると

../mkinstalldirs /usr/lib/python2.3/site-packages
/usr/bin/install -c neo_cgi.so /usr/lib/python2.3/site-packages

すなわち、0.10.2 の Makefile のどこかで

DESTDIR = /usr/lib/python2.3/
PYTHON_SITE = site-packages

とでもしてやればいい。やっつけだがうまくいけばそれで良いのだ。典型的バッドノウハウで、本質的には何故 Makefile に上記2つの環境変数が渡らないのかを調べるべきなのだけど、めんどくさい。

_ [Linux][trac] Install trac-0.9.4-ja-1 on Vine Linux 3.2

公式の trac はローカライズされていないので、インタアクト株式会社による日本語ローカライズ版 trac-jaを利用する。

必要なもの
python 2.3 以上Subversion 1.0 以上ClearSilver 0.9.4 以上SQLite 2.8.x or 3.x または PostgreSQL使用する db の Python バインディング他にも Trac Installation Guide に Optional Requirements として色々あげられています

ここでは、python 2.3, Subversion 1.2.3, SQLite 3, pysqlite 2.1.3 を使った。SQLite 3 は Vine Plus かな?で RPM が提供されています。SQLite 2 を使用する場合、pysqlite は 1.0.1 を使うみたい。研究室でやったのは後者の SQLite 2 + pysqlite は 1.0.1。

trac-ja のインストールに難しい部分はない。落としてきて python setup.py install するだけ。Trac Installation Guide。 ただ、トラブルの起きる ClearSilver については上記記事参照。

んでもって、Subversion のリポジトリを用意した後に、trac-admin ~munehisa/trac/kamui initenv などと環境を作ろうとすると最後の問題が起きる↓

Failed to initialize environment. No module named svn
Traceback (most recent call last):
  File "/usr/lib/python2.3/site-packages/trac/scripts/admin.py", line 616, in do_initenv
    repos = self.__env.get_repository()
  File "/usr/lib/python2.3/site-packages/trac/env.py", line 155, in get_repository
    from trac.versioncontrol.svn_fs import SubversionRepository
  File "/usr/lib/python2.3/site-packages/trac/versioncontrol/svn_fs.py", line 25, in ?
    from svn import fs, repos, core, delta
ImportError: No module named svn

svn モジュールが見つからないというエラー。Vine Linux 3.2 に trac を入れる - 1 によると

おまじないでecho /usr/lib/svn-python > /usr/lib/python2.3/site-packages/subversion.pthとchmod 777 /home/httpd/*2。

[【で】にっき - Vine Linux 3.2 に trac を入れる - 1より引用]

というおまじないで解決するようだ。今回必要なのは前者の echo /usr/lib/svn-python > /usr/lib/python2.3/site-packages/subversion.pth で、これを実行すると不思議なことにうまくいく。雰囲気からすると Vine Linux の Subversion パッケージのミスなんじゃあないかなぁ。

後者のおまじないは trac の CGI からホームディレクトリに書き込める必要があるから行われているのでしょう。

後は、Apache なり lighttpd なりの設定をごにょごにょすれば利用できる。

tracd --port 8000 /path/to/projectenv

なお、↑のように trac 付属の http サーバで動かすこともできるようだ。最悪これに mod_proxy でリダイレクトしてしまうと手っ取り早い気もするが、、、気持ち悪いし、ちゃんと設定しようと思う。

References
インタアクト株式会社--業務内容--公開資料(Trac)Vine Linux 3.2 に trac を入れる - 1 [【で】にっき]Trac Installation Guide / Trac インストールガイド

_ [Linux][trac] trac-ja with apache 1.3

(FastCGI も mod_python も使わずに)素の CGI として動かしてみる。とりあえず、ユーザディレクトリではなく httpd.conf に直書きする方法で動かしてみた。

まず、trac の環境は /var/trac 以下に作ることにした。このディレクトリは httpd を動かしているユーザで読み書きできる必要がある。

# trac-admin /var/trac/kamui initenv
Creating a new Trac environment at /var/trac/kamui

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]> Kamui
... (略) ...

環境ができれば、後は apache の設定。httpd.conf から Include conf.d/*.conf としているので(Vine Linux 3.2 は標準でこの設定がかかれている)、/etc/httpd/conf.d/trac.conf というファイルを作り

ScriptAlias /kamui /usr/share/trac/cgi-bin/trac.cgi

<Location "/kamui">
  SetEnv TRAC_ENV "/var/trac/kamui"
</Location>

の様に書いた。

というわけで http://ema.fsr.jp/kamui/ でアクセスできてしまう。きゃあ。ローカルリポジトリを使用していたため、リポジトリを作り直してインポートしたので雰囲気しかないです。

References
Installing Trac as CGI / CGIとして Trac をインストールする

_ [Linux][trac] trac でリポジトリ内の文字コードの指定

。 /path/to/projectenv/trac.ini の 17行目を default_charset = shift-jis に書き換え解決。

17c17
< default_charset = shift-jis
---
> default_charset = iso-8859-15

他にも [header_logo] などのセクションは編集しておくべきだろう。ロゴは変えなくとも、ロゴをクリックしたときに trac 公式に飛ぶのは不自然だ。

また、コメント欄で教えていただいたのですが、[mimeviewer] セクションに tab_width という項目があり、これを変えることでタブ → スペースへの変換文字数を変えることができるようだ。Ruby なら 2、C / C++ なら 4 ぐらいが一般的なのだろうか?環境毎に決めうちの様です。C と Ruby が混在していてもどっちかにあわせる必要があるのか・・・w

References
ソース中の日本語を表示 [k05keの覚え書]Trac で遊んでみたよ その1 - 日本語 [鷹の島]The Trac Configuration File / Trac 設定ファイル

_ [Linux][trac] trac で syntax highlighting

Trac Installation GuideTrac インストールガイド) の Optional Requirements に

SilverCity and/or Enscript for syntax highlighting

とある。Enscript は apt-get install enscript でインストールできるっぽい。SilverCity はダウンロードして

python setup.py install

でインストールできる。インストールし終わったら即座にハイライトされるようになった。コレは良い。

Trac で遊んでみたよ その2 - 色分けによると、JavaScript(*.js ファイル)の MIME-Type が api.py と silvercity.py で一致していない ため、JavaScript ではハイライトされない問題があるようだ。ただし、application/x-javascript の方が一般的っぽいので api.py を書き換えてみた。具体的には /usr/lib/python2.3/site-packages/trac/mimeview/api.py の 60 行目を

60c60
<     'js':'application/x-javascript',
---
>     'js':'text/x-javascript',

とした。まだ動作確認はしていません(ぉぃ

次回は・・・たぶんユーザ認証。まだ、ネットワーク越しで Subversion を使ったことがないのでまずはそこから。以前さわらなかった TortoiseMerge などもできれば利用してみようと思う。それではまた明日。

References
Trac で遊んでみたよ その2 - 色分け [鷹の島][Trac] solution - SilverCity javascript syntax highlightingTrac Installation Guide / Trac インストールガイド
本日のツッコミ(全2件) [ツッコミを入れる]
_ takayama (2006年03月04日 15:28)

trac.ini [mimeviewer] で、tab_width = 2 でどうですか? < タブ幅

_ ema (2006年03月04日 15:32)

ありがとうございます!<br><br>きれいに、見落としていました^^