Mantis

PHPベースのBTSWindowsXP+Apache+PHP5.1.4の環境にインストールした。

ここでは、Mantis-1.0.3.tar.gzを使用

インストール

ダウンロードファイルを展開。ここでは、ダウンロードファイルに含まれるmantis-1.0.3\をmantis\として[D:/WEB-Server/mantis]に展開した。
httpf.confに以下を追加する

########################################################################
#                             mantis
Alias /mantis "D:/WEB-Server/mantis"
<Directory "D:/WEB-Server/mantis">
    AddType application/x-httpd-php .pinc
    AddType application/x-httpd-php .php
    DirectoryIndex  index.php
    Options MultiViews Indexes FollowSymLinks +Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

DBにユーザを作成する。PostgreSQL8.1を使用しているが、GUIであるpgAdminIIIでは、グループにしかテーブルへの権限付与が出来ず、相当悩んだ。まぁ、結論としてはそういうこと

http://localhost/mantis/admin/install.phpにアクセスして初期化する。DBアクセスのパラメタが聞かれるので、DBユーザとCREATE権限のあるユーザを指定する。一旦実行したところでDBインスタンスを生成した時点でSELECT等々のアクセス権が無いと言われるので、pgAdminIIIから権限を付与してから再実行すればうまく行った。

いろいろ設定

config_defaults_inc.phpを編集
$g_default_language		= 'japanese_utf8';
フォーム内容が再表示すると文字化けする場合

たぶん、php.ini(PHP本体の設定)とDBの文字コードが食い違っているせい。
以下の組み合わせでうまくいった。

  • php.ini
    • mbstring.internal_encoding = UTF8
    • mbstring.http_output=UTF8
  • config_defaults_inc.php
    • $g_default_language = 'japanese_utf8';
  • DBのエンコード
    • UTF8
メールをISO-2022-JPエンコーディングにする

デフォルトでは上記のencodingのままメールが飛ぶ。8bitだと何かと嫌なので、core/email_api.phpを修正した。

731:#          $mail->Subject = $t_subject;
732:$mail->Subject = mb_convert_encoding( $t_subject, 'ISO-2022-JP');
733:$mail->Body    = make_lf_crlf( "\n".$t_message );
734:$mail->Body = mb_convert_encoding( $mail->Body, 'ISO-2022-JP');
735:$mail->CharSet = 'ISO-2022-JP';
736:$mail->Encoding = '7bit';

設定を読んで動作するとカッコイイけど、面倒なのでこれでヨシ

所感

ほかのBTSと比べて非常に軽いようなので好感です。Wikiが付いてるところや、SVNのコミットと連動できるところも非常に魅力的。
ただ...アカウントの管理が手作業なので面倒です。この辺を上手くするプラグインがあれば解決なんでしょうが、そもそもプラグインが本家サイトからのリンクだと少ししか見つかりません。
プラグインも非常に不安定でした。初回インストール時に上手く動作せず、オプションを変えたり、何度かEnable/Disableを繰り返してると動いたりと...

あとは、Python自体がわからないってのが大きいですね。プラグインを共用部に入れてしまうと外し方がわからないし。

機能が魅力的なだけに非常に惜しいですが、しばらくは眠らしておきます。

セットアップ

Adminアカウント

> D:\Python23\python.exe D:\Python23\Scripts\trac-admin D:\WEB-Server\Trac\sandbox
Welcome to trac-admin 0.9.5
Interactive Trac adminstration console.
Copyright (c) 2003-2006 Edgewall Software

Type:  '?' or 'help' for help on commands.

Trac [D:\WEB-Server\Trac\sandbox1]> permission add admin TRAC_ADMIN
Trac [D:\WEB-Server\Trac\sandbox1]> ^Z
>

Tracのインストール

以前から少し時間が開いてしまったが、改めてWinXPへのTracインストールのまとめ。

ここでは日本語化されたtrac-0.9.5-ja-1.zipを使用。

まずは前提環境の構築

Python

Tracの動作プラットフォーム

Windows環境では2.4はダメらしいので、2.3.4-JPを使用。

  1. インストーラを起動するだけ

setuptools

ダウンロードしたez_setup.pyをPythonに指定する

> D:\Python23\python.exe ez_setup.py

Python 2.3 bindings for Subversion 1.3.0 on Win32

SubversionのPythonAPI

ファイルの場所がわかりにくいが、"Documents&files"からWindowsをたどっていけば見つかるはず。ここではsvn-win32-1.3.0_py.zipを使用。

  1. ダウンロードファイルの"svn-win32-1.3.0\python\"に含まれる"libsvn\"と"svn\"を、Pythonインストール先(ここではD:\Python23\)のLib\site-packages\にコピー
  2. プログラム「Python for Win32-JP」を開き、「import svn」+Enterと入力してエラーが出なければ成功(?)

pycop2

PostgreSQLのPythonAPI

Windows版バイナリの、Python2.3用psycopg2-2.0b8.win32-py2.3.exeを使用。

  1. インストーラを起動するだけ

ClearSilver

HTML出力エンジン?

バイナリ配布のclearsilver-0.9.14.win32-py2.3.exeを使用

  1. インストーラを起動するだけ

Docutils

ドキュメント生成エンジン?

docutils-0.4.tar.gzを使用。

  1. ダウンロードファイルを一時作業フォルダに展開
  2. コマンドプロンプトで、展開フォルダに移動後、以下のコマンド

> D:\Python23\python.exe setup.py install

Tracインストール

  1. ダウンロードファイルを作業フォルダに展開
  2. コマンドプロンプトで、作業フォルダに移動後、以下のコマンド

> D:\Python23\python.exe setup.py install

出力先を変更したい場合は、末尾に--prefix=でフォルダを指定する

DBインスタンスの作成

pgAdminIIIから

  1. ユーザを作成(例:trac)
  2. DBインスタンスを作成(例:trac)
SVNリポジトリを作成(例:D:\SVN\Sandbox)

TortoiseSVNなら、

  1. フォルダ作成
  2. コンテキストメニュー[TortoiseSVN]>[ここにリポジトリを作成]
Environmentの作成

> D:\Python23\python.exe D:\Python23\Scripts\trac-admin (Environment出力フォルダ:D:\WEB-Server\Trac\sandbox) initenv

いくつか質問されるのでプロジェクトに応じて。

  • Project Name:sandbox
  • Database connection string:postgres://trac:trac@localhost/trac
  • Path to repository:D:/SVN/Sandbox

インストール時に書いてたメモには「DB文字列」の覚書がある。どこで必要なんだっけ?

出力されるconf\trac.iniを編集する。どこまで編集したか明確に覚えてないが、若干で済んだような...

参考
http://projects.edgewall.com/trac/wiki/TracIni

Apacheとの連携

mod_pythonを使用。

バイナリ配布のPython2.3用モジュールを取得。mod_python-3.2.8.win32-py2.3.exe

  1. インストーラを起動
  2. [Where is Apache installed?]と聞かれたらApacheのフォルダを指定
  3. ${Apache}/conf/httpd.confに以下を追加
LoadModule python_module modules/mod_python.so
#
# Trac setting /w mod_python
#
<Location /trac>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend 
  PythonOption TracEnvParentDir "Environmentフォルダの親フォルダ"
  PythonOption TracUriRoot /trac
</Location>
(認証を行う場合は以下も追加)
<LocationMatch "/trac/[^/]+/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile ".htpasswdファイルへのパス"
  Require valid-user
</LocationMatch>

Mevenide再び

ところで、Maven Eclipse Plug-inって、リンク先切れてますね。もう無い?これからだと言うのに. . .

近いURLを探ってみたら、Mevenide復活ですか?こちらもHome(http://mevenide.codehaus.org)はサーバが居ないようですが、

Jan 28, 2006

* First update to the Maven2 support, everything runs faster and more reliable now. You are encouraged to upgrade.

ってのが気になります。

WTPとの連携

今の開発はWEBアプリ(SOAPサービス)なので、この方法を調べてみる。

とりあえず、以下でデフォルトのWARプロジェクトは作れたけど、

> mvn archetype:create -DgroupId=mydomain.myproj -DartifactId=MyWar -DarchetypeArtifactId=maven-archetype-webapp
> cd MyWar
> mvn eclipse:elipse

さて、Eclipse上のWTPで操作できるようにするには、どーしたら. . .

さんざんネット検索したあげく、本家のeclipseプラグインサイトにパラメタ指定を発見 > Apache Maven Eclipse Plugin (RETIRED) - eclipse:eclipse

「wtpversion」パラメタを追加すればいいらしい。

> mvn eclipse:elipse -Dwtpversion=1.0

Eclipseで再ロードしてみれば、'Dynamic Web Projects'に追加されてた。