ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

Return of Mantis(Mantisへの再挑戦)

前回、Mantisに挑戦して、何とか入った事は入ったんだけど、どうすりゃ うまく行ったのか よくわかんないままだった。
でまぁ、よくわかんないなりに、もう一回挑戦してみる。という話です。はい。

背景

ちなみに、Mantisってのは 所謂 バグトラッキングシステム(BTS)って奴でして、同じような奴に、Bugzillaとか影舞とか 最近 人気急上昇中の Trac がある訳。
で、何でBTSが必要なのよ?って言われると、まぁ↓このような状況になってみれば わかりますって。

  1. 自社で出した製品で不具合が見つかる
  2. 不具合対策に、n人以上の関係者の調査と協力に頼らざるを得ない
  3. 各関係者は傍に居らず(遠方に居る)、電話かE-mailに頼らざるを得ない
  4. 関係者は、課が違うので協力を得るには、関係者の上長経由になったりする
  5. 誰も調整役を買って出る奴が居ない(当たり前だな)ので、E-mailの応酬が続く
  6. 何が最新の情報かわからない。わからないけど、現場の人間のやり取りで何とか動いてしまう
  7. でも やっぱり、失敗する時があって、そん時は 現場の人間が怒られる


電話の問題点ってのは、情報が残らないのと、1対1でしか合意がなされない点。
E-mailは、それを補完するメディアではあるのだけれど、大量のE-mailが発信されると あっという間にカオス(混沌)に至る。
まぁ、便利なのには間違いが無いんだけど、やはり限界ってのはある訳ですよ。


どうすればいいのか言うと、情報を一旦整理して関係者に確認を取る必要がある訳です。
で、この作業を業務(システム)として割り当てられているなら問題は無いんだけど、業務として構築されてない状態だと、本来この仕事は「無駄な業務」なんですよ。
つまり、冷静に見ると、その仕事を買って出ている奴は、「会社の(本来の)仕事を放っている奴」って事なんですね。


じゃぁどうすりゃいいんだよっ!って話になるでしょ?
一番ハッピーなのは、これ(不具合のフォロー体制)を回す仕組みを会社に取り入れる事なんですよね。
ただ、自分みたいな若輩が、「BTS入れましょう!」って言っても無理。
だって、今のシステムで「ほとんどの場合 何とか動いている」んだから。
後、肝心の「BTS入れましょう!」っている奴が、BTSとは何ぞやってのを知らないとねぇ。

話が長くなったけど

とまぁ、そういう訳で、BTSとは何ぞやってのを知る為と、技術的興味(こっちの方が実は大きい。相当アホやね漏れ)があって、BTSで有名なMantisに挑戦した訳です。はい。

という訳で

挑戦する訳。


1.インストール前の確認
Mantis入れる際に必要なのは、Apache,PHP,MySQLみたい。
とりあえず、自分の環境には、以下を入れてみました。

Mantis1
Mantis1 posted from フォト蔵


PHPは、この間 PHP4を入れていたんだけど、今はPHP5を入れてます。
関連サイトを眺めていたら、MySQL 5.0 になって、パスワード認証方法が変わって、PHP4だと 旧来のパスワード認証をサポートするように、設定ファイルを書き換えろとか色々あるんで、ちゃっちゃと変えました。


PHP5とMySQL5.0のインストール自体は、結構情報が豊富なので問題は特に起きませんでしたね。


インストール時に使ったファイルは、以下の通り。


後、MySQLには、MySQL Administratorっていう管理ツールが別途ダウンロードできるらしいです。
使い方は、よくわかんないけど結構便利っぽいみたいなのと、カッコいいので入れちゃう。


自分は、mysql-administrator-1.1.7-win.msi を入れました。
Mantis2
Mantis2 posted from フォト蔵


2.MantisのDLと展開
で、インストール条件を満たしたので、Mantisをサイトからダウンロードしてきます。


とりあえず、1.0.0をDLすりゃOKと思います。
で、展開。

$ tar xzvf mantis-1.0.0.tar.gz
mantis-1.0.0/
mantis-1.0.0/account_delete.php
mantis-1.0.0/account_page.php
mantis-1.0.0/account_prefs_inc.php
mantis-1.0.0/account_prefs_page.php
mantis-1.0.0/account_prefs_reset.php
mantis-1.0.0/account_prefs_update.php
mantis-1.0.0/account_prof_add.php
mantis-1.0.0/account_prof_delete.php
mantis-1.0.0/account_prof_edit_page.php
mantis-1.0.0/account_prof_make_default.php
mantis-1.0.0/account_prof_menu_page.php
...
mantis-1.0.0/summary_jpgraph_page.php
mantis-1.0.0/summary_page.php
mantis-1.0.0/verify.php
mantis-1.0.0/view.php
mantis-1.0.0/view_all_bug_page.php
mantis-1.0.0/view_all_inc.php
mantis-1.0.0/view_all_set.php
mantis-1.0.0/view_filters_page.php

これを、Apacheの管理対象フォルダに移動。

3.参考サイト
で、早速インストールと行きたいけど、まずは参考サイト。

以下は、先人の方々(日本語版)。

以下は、先人の方々(英語版)。

4.どうやら一番重要なのはDBの設定
オフィシャルのインストールを見ると、Mantisのインストールは、admin/install.phpにアクセスすりゃOKみたいな事が書いてあるんですね。
しかし、漏れの場合、そこで何度も失敗したんですよ。ちくしょー。


で、思ったのが、Mantisのインストールで重要なのは、「DBの設定が重要」って事です。


Mantisのインストールの説明と、install.phpにアクセスした時の書式から、

  • データベース名は、"bugtracker"がデフォルト
  • ユーザ名は、"administrator"
  • パスワードは、"root"

って事が推測できます。
DBの設定は、これを使ってMantisが設定できるように調子を合わせてやる必要があるみたいです。
Mantis3
Mantis3 posted from フォト蔵


という訳で、必要な設定が何なのかよくわかんないまま、mysqlコマンドと格闘した結果を載せます。
(以下文中、mysqlのroot権限を持つユーザを'root'、パスワードを'wacky'と思ってください)

$ mysql -u root -p
Enter password: wacky
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22 to server version: 5.0.18-nt-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

# 'bugtracker'ってデータベースを作成する
mysql> create database bugtracker;
Query OK, 1 row affected (0.02 sec)

# 'bugtracker'データベースに、'administrator@localhost'ってユーザと'root'っていうパスワードを持ち、全ての権限を持つユーザを作るらしい
mysql> grant all privileges on bugtracker.* to administrator@localhost identified by 'root' with grant option;
Query OK, 0 rows affected (0.06 sec)

mysql> quit
Bye

# 設定を再読み込み
$ mysqladmin reload -u root -p
Enter password: wacky

# よくわからんけど、MySQLのテーブル作成スクリプトが用意されているらしいので実行
$ cd ...\mantis-1.0.0\core\adodb\session
$ mysql -u root -p bugtracker < adodb-sessions.mysql.sql
Enter password: wacky

# 念の為、更に再読み込み
$ mysqladmin -u root -p reload
Enter password: wacky

上の設定を行った後、admin/install.phpにアクセス
Mantis4
Mantis4 posted from フォト蔵

Type of Database MySql
Hostname(for Database Server) localhost
Username(for Database) administrator
Password(for Database) root
Database name(for Database) bugtracker
Admin Username(to create Database) root
Admin Password(to create Database) wacky
Print SQL Queries instead of Writeing to the Database disable

そうしたら、自分の場合、以下のように成功しました。
Mantis5
Mantis5 posted from フォト蔵


失敗したら、以下のようになります。
Mantis6
Mantis6 posted from フォト蔵

上では、どうもデータベースに対する権限が足りないんで、テーブルが作れないよ。って文句言っているみたいなんですけどね。

5.インストールが成功したら
インストールが成功したら、後はこっちのもの。

mantis-1.0.0のルートディレクトリに、config_inc.php.sample って設定ファイルがあるので、コピーして config_inc.php を作り、以下の所を ちょちょいと直せばOKです。

$g_hostname      = "localhost";
$g_db_username   = "administrator"; # こいつと
$g_db_password   = "root";          # こいつ
$g_database_name = "bugtracker";
$g_db_type       = "mysql";

で、mantis-1.0.0/index.phpにアクセスすると、以下の画面を拝む事が出来ます。ありがたや。
Mantis7
Mantis7 posted from フォト蔵


6.日本語化とか
日本語化は結構簡単で、config_inc.phpに以下を追加するだけです。

$g_default_language = 'japanese_euc';

ほらね。
Mantis8
Mantis8 posted from フォト蔵


ちなみに、MantisはE-mailを受け取ったり・出したりって機能が付いているんですが、最初の内はとりあえず使ってみたいじゃないですか?
そういう時は、以下のパラメータを追加します。

$g_enable_email_notification = OFF;

すると、ログイン画面が ちょっと変化します。
Mantis9
Mantis9 posted from フォト蔵

7.とりあえず使ってみる
とりあえず使っちゃいましょう。
まずは、administrator/rootでログイン。
Mantis10
Mantis10 posted from フォト蔵


早速、ユーザアカウントを作りませぅ。
「システム管理」で、「アカウント作成」ボタンを押します。
Mantis11
Mantis11 posted from フォト蔵


メールはテキトー。アクセス権は、とりあえず「開発者」。
Mantis12
Mantis12 posted from フォト蔵


パスワードの空だけどいいか?って聞いてくる。まぁ、テストなんだし後から変えられるのでYES!
Mantis13
Mantis13 posted from フォト蔵


これで、ユーザアカウントが出来ました。


早速、作ったアカウントでバグ報告してみたいんだけど、その前にバグ報告する対象である「プロジェクト」を作らないといけません。
「プロジェクトを作成」できるのは、「管理者」じゃないと出来ないらしいので、このまま作りましょう。


ちなみに、Mantisでは プロジェクトの作成やバグ報告するには、それなりの権限が必要でして、一番下の権限から、

  • 参照
  • 登録
  • 編集
  • 開発者
  • マネージャー
  • 管理者

となっているみたいです。
これらの権限の行使範囲は、「システム管理」→「設定管理」をクリックすると一覧で見られます。
Mantis15
Mantis15 posted from フォト蔵


という訳で、このまま「プロジェクトの作成」に入ります。
「システム管理」→「プロジェクト管理」で「新しいプロジェクトを作成する」ボタンを押します。
Mantis16
Mantis16 posted from フォト蔵

Mantis17
Mantis17 posted from フォト蔵

Mantis18
Mantis18 posted from フォト蔵


でまぁ、プロジェクトを作ったので、一旦ログアウトし、今度は作ったアカウントでログインします。
パスワードを空にしたので、アカウント名だけで入れちゃいます。
Mantis19
Mantis19 posted from フォト蔵


入ると、ユーザ名が変わっている点に注目。
Mantis20
Mantis20 posted from フォト蔵


という訳で、「登録」を選択。
Mantis21
Mantis21 posted from フォト蔵


早速登録、登録。あ、ステータスとか登録しとけば良かったですね。まぁ、いいや。
ちなみに、下の方に、ファイルを添付できたりするボックスがあったりします。
Mantis22
Mantis22 posted from フォト蔵


で、以下が登録が成功した画面。
Mantis23
Mantis23 posted from フォト蔵


画面を見ていると、どうもフィルタしつつ一覧表示できるみたいですね。
なるほど、なるほど。

という訳で

一度動き出すと、かなり直感的なインタフェースで使えます。
という訳で、この調子でBTSの基本を勉強していきましょうかね。

で、次はTracに挑戦しようか。うひゃひゃ。(既に当初の目的を忘れている…)