LoginSignup
12
13

More than 5 years have passed since last update.

Bitnami Redmine を CentOS7 Minimal にインストールしようとして七転八倒

Last updated at Posted at 2016-02-21

環境

  • CentOS-7-x86_64-Minimal (GUIなし)
  • bitnami-redmine-3.2.0-2-linux-x64

現象

インストール成功…と思ったら、Redmineが起動してくれませんでした。。。

インストール手順

bitnami-redmineのインストーラを実行し、インストールプロセスを進めていく。

# cd
# chmod +x bitnami-redmine-3.2.0-2-linux-x64-installer.run
# ./bitnami-redmine-3.2.0-2-linux-x64-installer.run

(略)

エラー: 実行中にエラーが起きました /opt/redmine-3.2.0-2/mysql/scripts/myscript.sh 
/opt/redmine-3.2.0-2/mysql **** : 
/opt/redmine-3.2.0-2/mysql/scripts/myscript.sh: scripts/mysql_install_db: 
/usr/bin/perl: 誤ったインタプリタです: そのようなファイルやディレクトリはありません

(略)

----------------------------------------------------------------------------
セットアップウィザードによる Bitnami Redmine Stack のインストールが完了しました。

(略)

情報: Bitnami Redmine Stack については、ブラウザで 
http://127.0.0.1:80 にアクセスしてください。

なんかmysqlセットアップでエラーが発生したっぽい。が、インストールは進行していく。この後、ブラウザからRedmineにアクセスしたところ(http://server-ip/redmine)、404エラー。apacheは立ち上がっているが、Redmineが稼働していない。。。

解決方法

インストールは不完全ながらも、/opt/redmine-3.2.0-2/以下にモジュール(ruby, mysqlなど)はコピーされていた。この中にperlもあったので、これを/tmpにコピーして/usr/bin/perlのシンボリックリンクを貼り、bitnami-redmineのアンインストーラ実行後、再度インストールした。

# cd /tmp
# cp -r /opt/redmine-3.2.0-2/perl ./
# ln -s /tmp/perl/bin/perl /usr/bin/perl
# /opt/redmine-3.2.0-2/uninstall
# cd
# ./bitnami-redmine-3.2.0-2-linux-x64-installer.run

これでインストールはエラーなしで成功し、Redmineも無事に起動した。あとは不要になったファイル/リンクを削除。

# unlink /usr/bin/perl
# rm -rf /tmp/perl

解説

今回発生した問題は、恐らく下記の通り。

  • mysqlのセットアップにperlが必要
  • Bitnami Redmine にはmysqlセットアップの為(多分)のperlが同梱されているが、インストールプロセスでは当該perlではなく/usr/bin/perlを見に行ってしまう
  • CentOS7 Minimal にはperlが入っておらず、mysqlセットアップに失敗。

そこで、ちょっと強引にBitnami Redmine同梱のperlを取り出し、インストーラに/usr/bin/perlと認識させてmysqlのセットアップをさせました。あまりスマートなやり方とは言えませんが。。。

さらにエラー解析

最初にインストーラを実行した際に表示されたエラーメッセージを見なおしてみると、/opt/redmine-3.2.0-2/mysql/scripts/myscript.sh実行時にエラーが発生していることが分かります。

エラー: 実行中にエラーが起きました /opt/redmine-3.2.0-2/mysql/scripts/myscript.sh 
/opt/redmine-3.2.0-2/mysql **** : 
/opt/redmine-3.2.0-2/mysql/scripts/myscript.sh: scripts/mysql_install_db: 
/usr/bin/perl: 誤ったインタプリタです: そのようなファイルやディレクトリはありません

このmyscript.shから、同じディレクトリにあるmysql_install_dbを呼び出しています。こいつの実態はperlスクリプトなのですが、中身を見てみると…

mysql_install_db
#!/usr/bin/perl

そりゃ失敗するだろ。。。perl同梱するなら、この辺もちゃんとやっといて欲しい。。。

追記

MySQL5.6より、mysql_install_dbがシェルスクリプト→Perlスクリプトになったようです

MySQL 5.6 リファレンスマニュアル

MySQL 5.6.8 では、mysql_install_db は Perl スクリプトで、Perl がインストールされた任意のシステムで使用できます。5.6.8 より前ではシェルスクリプトで、Unix プラットフォームでのみ使用可能です。

この変更にBitnamiが対処しきれてなかったのかな?

Bitnami側でも既知の問題だと認識しているようです

Mysql error when installing Lamp 5.6.18-0 on Centos 7

That is a known issue on Centos 7. Were you be able to install it after running sudo yum install perl-data-dumper ?

ということで、正しい対処法はBitnami Redmineインストール前にperl-data-dumperをインストールする、という事のようです。。。

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13