Mantisのインストールは比較的に楽だということで、インストールしてみた。
最初は順調にインストール出来たのだが、データベース絡みのセキュリティに引っ掛かったために大幅に時間をロスすることとなった。
CentOS 6までならばその問題に遭遇することなくインストール出来るようです。
CentOS 6でも下記のインストール方法でインストール出来るはずですが、CentOS 7では少しだけ設定が追加になりますので、その点も記載しながらインストール方法をまとめます。
インストール準備
まずは動作環境について整理します。
対象OS:7.3.1611
Web:Apache 2.4.6
mariadb:15.1
php:5.4.16
今回は、OSのみインストール済みでした。各種パッケージは順次インストールします。
今回インストールを行ったマシンのH/W環境は以下の様な感じです。
4コア程度の安価なマシン。
メモリは16GB入れていますが、4GBとかでも十分に動くでしょう。
HDDは。。。たまたま無かったので、空いていたSSD500GBを使いましたが、基本的にそんなスペックは必要ありませんw
実際に必要な環境は調べていませんが、各々で必要に応じて調べてください。
インストール作業
これからインストール作業を開始します。
nkfを入れたりしないのであれば多分必要ないのですが、何かとデフォルトのリポジトリだけだと足りなくって、結局入れることになるのがEPELリポジトリなんですよねw
そこで、面倒なことは先に済ませておこうということで、EPELリポジトリを登録しておきます。
EPELリポジトリ
1 |
# yum install epel-release |
デフォルトで使うとか使わないとか・・・あるけど、取りあえず無視します。必要な人は、一通りインストールが終わった後で設定してください。
Apache
yumを使って簡単にインストールします。
1 |
# yum install httpd mod_ssl |
いろいろと設定を行うところはありますが、Mantisを入れることが目的ですから、簡単なインストール方法だけです。
セキュリティ面など詳細な設定を行いたい方は、別途調べてください。
Apacheを起動します。
1 |
# systemctl start httpd |
CentOS 6では、
1 |
# service httpd start |
自動起動の設定を行います。
1 |
# systemctl enable httpd.service |
CentOS 6では、
1 |
# chkconfig httpd on |
なんとなく、CentOS 6と7の違いがわかると思います。
これ以降はsystemctrl/service/chkconfig関連のCentOS 6および7による違いに関しては省略し、CentOS 7の設定方法のみ記載します。
nkf
文字コード変換ツールのnkfをインストールします。
どこのサイトにもMantisインストールに際し必要という記載は無かったのですが、readme.txtなどの日本語が入っているファイルでSJISが使われているところがあったのでインストールしました。
普通は使いませんが、必要になった時の為と思ってください。
要らない人は無視してください。
こちらも簡単に。。。
1 |
# yum install nkf |
PHP
こちらも簡単にyumでインストールします。
1 |
# yum install php php-mysql php-mbstring |
ntpとwget
時間を管理するためにNTPをインストールします。
またついでになりますが、wgetをインストールします。
wgetはファイルをダウンロードする際に使用しますが、今回は直接使用しません。
Mantisが使うために必要になるみたいです。
1 |
# yum install ntp wget |
ここで少しタイムゾーンの設定だけしておきます。
多分、Mantisをこのまま入れてしまうと、時間の設定がゴチャゴチャするのかも知れません。意外と問題ないのかも知れませんが、取り敢えず。
1 |
# vi /etc/php.ini |
内容は以下です。
タイムゾーンを指定しています。
1 2 3 4 5 |
[Date] ; Defines the default timezone used by the date functions ; https://php.net/date.timezone ;date.timezone = date.timezone = Asia/Tokyo |
該当箇所を修正してください。
mariadb
さて、CentOS 7からMySQLがmariadbに変更となっていることは既にご承知のことと思います。
ということで、以下のコマンドを実行してみてください。
1 2 |
# yum list installed | grep mariadb mariadb-libs.x86_64 1:5.5.56-2.el7 |
OSのインストール手順によってこの辺りの環境はことなりますが、私の環境ではmariadb-serverが不足していました。
ということで、mariadb-serverをインストールします。
1 |
# yum install mariadb-server |
続いて、mariadbを起動します。
1 2 3 4 5 6 |
# systemctl status mariadb ●mariadb.service - MariaDB daabase server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: inactive (dead) # systemctl enable mariadb.service # systemctl start mariadb.service |
データベースの作成
mantisで使用するデータベースを作成します。
※MySQLのバージョンは大丈夫ですか?バージョンが古い場合、この後の作業を進めてしまうと後で面倒なことになります。十分注意してください。
mysqlへアクセスします。
1 |
mysql -u root |
DBを作成します。
1 2 3 |
mysql> CREATE DATABASE bugtrackerdb; mysql> CREATE USER mantisuser@localhost IDENTIFIED BY 'db_user'; mysql> GRANT ALL ON bugtrackerdb.* TO mantisuser; |
※db_userについては、適当な名称を指定してください。
※その他mantisuserやbugtrackerdbについても適当に名称変更してください。
CentOS 6では、この設定だけで基本的にDBへのアクセスが許可されるのですが、CentOS 7ではもう少し作業を行います。
Mantisインストール
下準備が上記までの手順で完了しました。
ここからがMantisインストールの本丸です。
下記URLへブラウザでアクセスします。
https://sourceforge.net/projects/mantisbt/
「Download」のボタンをクリックすることでダウンロードされます。
ダウンロードを適当なディレクトリへ保存します。
ダウンロードしたファイル:mantisbt-2.5.0.zip
ファイルを解凍します。
1 |
unzip mantisbt-2.5.0.zip |
解凍して得られたディレクトリを移動します。
1 |
mv mantisbt-2.5.0 /var/www/html/mantisbt |
所有権の変更を行います。
1 |
chown apache:apache -R /var/www/html/mantisbt |
ブラウザで以下のアドレスにアクセスします。
https://127.0.0.1/mantisbt/admin/install.php
※必ずローカルでアクセスしてください。外部からIPアドレスを指定しても上手く出来ない気がします。
CentOS 6であれば、これで上手く行くはずなのですが、CentOS 7ではエラーが発生します。
ブラウザ画面ではこれ以上何をやっても駄目でした。
パスワードを変更してみたりいろいろと手をつくしましたが、結局はlocalhostでアクセスを行える様にする際にパスワードをきちんと登録してあげる必要があるみたいです。
他の解決方法もあると思いますが、私はそれで解決しました。
では具体的に解決します。
ブラウザの「戻る」ボタンで戻ります。
駄目なら再読込みするなど元の画面に戻ります。
MySQLへ再度アクセスして、以下のコマンドを実行すると登録されているユーザ一覧が表示されます。
1 |
select Host, User, Password from mysql.user; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
MariaDB [(none)]> select Host, User, Password from mysql.user; +-----------------------+------------+-------------------------------------------+ | Host | User | Password | +-----------------------+------------+-------------------------------------------+ | localhost | root | | | localhost.localdomain | root | | | 127.0.0.1 | root | | | ::1 | root | | | localhost | | | | localhost.localdomain | | | | % | mantisuser | | | localhost | mantisuser | *60E011DB435E0C2761CFC05F4D78A3FA39B912BD | +-----------------------+------------+-------------------------------------------+ 8 rows in set (0.00 sec) |
ここで注目するのは、mantisuserが2つあります。
localhostと%になっている行が2つあります。
片方は何かパスワードが設定されているようですが、もう片方の%になっている方はパスワードが設定されていません。
そこにパスワードを設定します。
1 |
SET PASSWORD FOR mantisuser = PASSWORD('****'); |
****には適当なパスワードを指定してください。
同じようにlocalhost側のmantisuserにもパスワードを再設定します。
1 |
SET PASSWORD FOR mantisuser@localhost = PASSWORD('****'); |
先程と同じようにブラウザの画面で登録を行います。
そうするとエラーが取れました。
少し画面を省略しますが、最後のところに以下の記載が確認できます。
「Continue」をクリックすると、ログイン画面が表示されます。
初期のIDとパスワードは
ID:administrator
パスワード:root
になっています。
ログインすると以下の画面が表示されます。
新しいIDとパスワードを設定します。
まだ、メールの設定が出来ていませんが、一応の設定を済ませます。
「更新」しますと、再度ログイン画面が表示され新しいパスワードでログインを求められます。
再度ログインを行うと以下の画面が表示されます。
日本語化されていない場合は、以下の設定をconfig/config_inc.phpへ追加します。
1 |
$g_default_language = 'japanese'; |
以上でMantisのインストールは完了です。
メールの設定はまた別の機会に記載します。