Mantis Bug Tracker を CentOS 7 にインストールする手順

要点と対象読者
- 目的: CentOS 7 上に Mantis Bug Tracker(MantisBT)を稼働させること。
- 対象: sudo 権限を持つサーバー管理者、開発チームや QA リード。
前提条件
- CentOS 7 が稼働しているサーバー。
- sudo 可能な管理ユーザー。
- 基本的な Linux コマンドの理解。
重要: 本手順は Mantis 2.4.0(記事作成時点の安定版)を前提にしています。Mantis の新しいバージョンや PHP の要件が変わった場合は、公式リリースノートを確認してください。
1. 準備: EPEL を有効化してシステムを更新する
まず EPEL リポジトリを有効化し、システムパッケージを最新にします。
sudo yum install epel-release -y
sudo yum update -y
2. LAMP サーバーのインストール(Apache、MariaDB、PHP)
Mantis はウェブアプリです。Apache、PHP、MySQL 互換 DB(ここでは MariaDB)が必要です。
- Apache をインストールして起動・自動起動を有効化します。
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
- MariaDB をインストールして起動・自動起動を有効化します。
sudo yum install mariadb mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
- PHP(ここでは PHP 7 系)をインストールします。CentOS 7 のデフォルトリポジトリには PHP7 がないため、Webtatic リポジトリを追加して PHP 7.1 をインストールする例を示します。
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-cli php71w-mysqli -y
インストール後、PHP のバージョンを確認します。
php -v
出力例(参考):
PHP 7.1.1 (cli) (built: Jan 19 2017 20:35:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
メモ: より新しい PHP を使いたい場合は Remi リポジトリなどの代替を検討してください(後述の代替アプローチ参照)。
3. MariaDB を保護して Mantis 用 DB を作成する
MariaDB の初期インストールは公開環境では不十分です。mysql_secure_installation を実行して基本設定を済ませます。
sudo mysql_secure_installation
対話例(推奨設定):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
次に MariaDB シェルに入り、Mantis 用のデータベースとユーザーを作成します。
mysql -u root -p
パスワードを入力した後、以下を実行します。
MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
重要: 実際の運用では ‘mantispassword’ のようなプレーンなパスワードを使わないでください。強力なパスワードまたは秘密管理ツールを利用してください。
4. Mantis をダウンロードして配置する
最新の安定版を SourceForge からダウンロードする例です(この記事作成時点の 2.4.0 を使用)。
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.4.0/mantisbt-2.4.0.zip
ダウンロード後、解凍して Apache のドキュメントルートに移動します。
unzip mantisbt-2.4.0.zip
sudo mv mantisbt-2.4.0 /var/www/html/mantis
sudo chown -R apache:apache /var/www/html/mantis
5. Apache の仮想ホスト設定を作成する
Mantis 用の仮想ホスト設定ファイルを作成します。
sudo nano /etc/httpd/conf.d/mantis.conf
ファイルに次を追加します(必要に応じて ServerName を変更)。
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName yourdomain.com
Options FollowSymLinks
AllowOverride All
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
TransferLog /var/log/httpd/mantis_access.log
ErrorLog /var/log/httpd/mantis_error.log
設定を保存して Apache を再起動します。
sudo systemctl restart httpd
6. ファイアウォールの設定と Web インストーラーへのアクセス
HTTP トラフィックを許可します。
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
ブラウザで http://yourdomain.com にアクセスします。セットアップ画面で次を入力します:
- Database Name: mantisdb
- Username: mantis
- Password: mantispassword
- Admin username / password: インストール画面で指定(初期 admin は administrator / root と記載されている場合があるので、必ず変更してください)
画像(インストール画面の例):
インストールが完了すると続行ボタンが現れ、ログイン画面にリダイレクトされます。
ログイン画面の例:
さらに初期パスワード設定や GUI の例:
ログイン後のデフォルトダッシュボード例:
重要: 初期の “administrator” / “root” などのデフォルト認証情報は必ず変更してください。管理アカウントは最初の作業で強化するべきです。
セキュリティ強化の推奨(運用前チェック)
- 管理アカウントの初期パスワードを変更する。
- Apache の不要なモジュールを無効化する。
- HTTPS(Lets Encrypt 等)で通信を暗号化する。
- DB ユーザーの権限を必要最小限に限定する(運用中の運用アカウントは SELECT/INSERT/UPDATE/DELETE のみ等)。
代替アプローチと互換性のヒント
- PHP の入手方法: Webtatic の代わりに Remi リポジトリを使うとより新しい PHP バージョンを安定的に管理できます。
- データベース: MySQL を使う場合は同等の手順で動作しますが、パッケージ名や初期設定に違いがあります。
- コンテナ化: Docker で Mantis をコンテナ化し、データ永続ボリュームと分離された DB コンテナを利用する方法もあります(詳細は公式イメージを参照)。
運用前チェックリスト(ロール別)
- 管理者:
- Apache と PHP のエラーログを確認する。
- 定期バックアップのスケジュールを作成する。
- 開発者:
- Mantis のメール通知設定をテストする。
- プラグイン互換性を評価する。
- QA / プロジェクトマネージャー:
- サンプル課題を作成して通知・権限を検証する。
受入基準
- Web インストーラーが正常に完了し、管理者でログインできること。
- データベースにテーブルが作成され、接続エラーが発生しないこと。
- HTTP(S) 経由でダッシュボードにアクセスできること。
テストケース(簡易)
- 管理者でログインできるか。
- 新しい課題を作成して保存、表示がされるか。
- 別ユーザーでログインし、権限が制御されているか。
- メール通知が送信されるか(SMTP 設定を行って確認)。
トラブルシューティングのヒント
- 403/404 が出る: Apache の DocumentRoot と Directory 設定、ファイル所有権(chown -R apache:apache)を確認。
- DB 接続エラー: mantisdb、ユーザー名、パスワードが正しいか、mysql ログと /var/log/messages を確認。
- PHP エラー: /var/log/httpd/error_log をチェックし、PHP モジュールが不足していないか確認。
ミニ手順(1行サマリ)
- EPEL を入れる → 2) Apache/MariaDB/PHP を入れる → 3) DB 作成 → 4) Mantis ファイル配置 → 5) 仮想ホスト設定 → 6) ファイアウォール開放 → 7) Web インストール
FAQ(よくある質問)
Q: CentOS 8 / 9 でも同じ手順ですか? A: 基本的な流れは同じですが、パッケージ名や PHP の入手方法が異なります。各 OS のリポジトリ仕様に合わせて手順を調整してください。
Q: Mantis のデフォルト管理者パスワードは何ですか? A: インストーラーで指定します。デフォルトの “administrator” ユーザーがある場合は初回ログイン後すぐにパスワードを変更してください。
Q: アップグレード手順は? A: 新しいバージョンをダウンロードして既存ファイルを上書きし、Web インストーラーからデータベースのアップグレードを実行します。事前に必ず DB のバックアップを取ってください。
まとめ: 上記の手順に従えば CentOS 7 に MantisBT をインストールして基本的な運用を開始できます。導入後は管理者アカウント保護、HTTPS 化、バックアップを最優先で設定してください。