マソム自宅サーバ構築の記録

  • Mantis 1.1.8 のインストール
  • 作成日:09/07/02    更新日:09/08/07

前置き

バグ管理システム Mantis 1.1.8 をインストールしてみます。
2009年7月現在の安定版です。
Mantis はGPLライセンスにもとづいて利用できるオープンソースです。

以下を参考にさせて頂きました。有り難うございます。
Mantis - バグ管理システム -
mantis のインストール
絶対動く!MANTIS B級レシピ その6 アップロードファイルのサイズ変更

インストールの準備

私の環境は、Fedora 7 で、Apache2.2MySQL5.0PHP5.2 です。

MySQL にMantis 用のデータベースとユーザを作成しておきます。
MySQLのルートユーザを使いたくなかったからです。
作業は phpMyAdmin で行いました。

Mantisをインストール

私はユーザディレクトリにソース置き場を作ってあるので、そこにダウンロードしました。
ダウンロードした mantisbt-1.1.8.tar.gz を展開します。
$ cd /home/ユーザ名/src
$ wget http://downloads.sourceforge.net/sourceforge/mantisbt/mantisbt-1.1.8.tar.gz?use_mirror=jaist
$ tar -xzf mantisbt-1.1.8.tar.gz
Apacheのドキュメントルート以下にインストールします。
$ su
# mv mantisbt-1.1.8 /home/ユーザ名/htdocs/mantis
# chown -R apache.apache /home/ユーザ名/htdocs/mantis

http://www.mathomfactory.com/mantis/admin/install.php を実行します。
 ・Type of Database --- 変更せず、「MySQL(default)」のままにします。
 ・Hostname (for Database Server) --- 変更せず、「localhost」のままにします。
 ・Username (for Database) --- 作成しておいたMySQLのユーザ名を入力します。

 ・Password (for Database) --- 作成しておいたMySQLのユーザのパスワードを入力します。
 ・Database name (for Database) --- 作成しておいたMySQLのデータベース名を入力します。
 ・Admin Username (to create Database) --- MySQLのルートユーザ名を入力します。
 ・Admin Password (to create Database) --- MySQLのルートユーザのパスワードを入力します。
 ・Print SQL Queries instead of Writing to the Database --- チェックしないままにします。チェックするとDBとテーブルを作りません。
次に設定ファイルを編集しておきます。

# vi /home/ユーザ名/htdocs/mantis/config_inc.php
<?php
$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'MySQLのデータベース名';
$g_db_username = 'MySQLのユーザ名';
$g_db_password = 'MySQLのユーザのパスワード';

//日本語を指定
$g_default_language = 'japanese_utf8';

# --- email variables -------------
$g_administrator_email = 'mathom@mathomfactory.com';
$g_webmaster_email = 'webmaster@mathomfactory.com';

# the "From: " field in emails
$g_from_email = 'mathom@mathomfactory.com';

# the return address for bounced mail
$g_return_path_email = 'webmaster@mathomfactory.com';

# --- file upload settings --------
$g_allow_file_upload = ON;
$g_file_upload_method = DISK;
$g_max_file_size = '5000000'; # 5 MB
$g_disallowed_files = "php,php3,phtml,html,class,java,exe,pl";

# --- email settings all --------
$g_default_notify_flags['threshold_min'] = ANYBODY;
$g_default_notify_flags['threshold_max'] = NOBODY;

# --- account pref defaults -------
$g_default_bugnote_order = 'DESC'; //コメントを最新順に表示
$g_default_email_bugnote_limit = 1; //通知メールにコメントを1件出す


?>


設定が済んだら、Mantisにログインします。準備されているadministratorアカウントを使います。パスワードはrootです。
administratorでログインしたらアカウント名とパスワードを変更しておきます。
次に /home/ユーザ名/htdocs/mantis/admin/ディレクトリを削除します。
アップロードファイルを置くディレクトリも作成しておきます。Apacheが読み書きできる権限が必要です。

ユーザ登録の禁止

それから、ログイン画面でユーザ登録が出来ないようにしておきたいと思いソースを変更しました。

# vi /home/ユーザ名/htdocs/mantis/login_page.php
・・・ 省略 ・・・
// print_signup_link();
・・・ 省略 ・・・

# vi /home/ユーザ名/htdocs/mantis/signup_page.php
<?php
exit;
・・・ 省略 ・・・

アップロードファイルサイズの変更

アップロードファイルザイズの上限は、config_inc.phpに$g_max_file_sizeを設定しただけでは変わりません。
ソースを見ると、upload_max_filesize, post_max_size, $g_max_file_sizeの内、最小の値が使われていました。
私はphp.iniの値はそのままにして、.htaccessでupload_max_filesize, post_max_sizeを設定しました。

# vi .htaccess
・・・ 省略 ・・・
<IfModule mod_php5.c>
php_value post_max_size 5M
php_value upload_max_filesize 5M
</IfModule>

通知メールの変更

コメント追加の通知メールに、チケットの詳細を出さないように変更します。
理由は、詳細があるとコメント文を見逃してしまいがちだからです。
これは好みの問題なので、普通は必要のない変更です。

# vi /home/ユーザ名/htdocs/mantis/core/email_api.php
・・・ 省略 ・・・
function email_format_bug_message( $p_visible_bug_data ) {
・・・ 省略 ・・・
// コメント追加時にチケットの詳細文を出さない為の変更
#
  $t_message .= lang_get( 'email_description' ) . ": \n".wordwrap( $p_visible_bug_data['email_description'] )."\n";
  if( count($p_visible_bug_data['bugnotes'])==0 ){
    $t_message .= lang_get( 'email_description' ) . ": \n".wordwrap( $p_visible_bug_data['email_description'] )."\n";
  }

}
・・・ 省略 ・・・



紆余曲折Tips