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';

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