Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

環境

  • 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をインストールする、という事のようです。。。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away