05/07 moodleがインストールできず、ドはまり

今回はとある資格修得学習サイトを構築するのが目的。これまでに何回かインストールしてきたので、PHPやmySQLが入ってしまえばすぐ動くと甘く見てかかったら、大変なことになってしまった。

現時点で最新版のmoodleは2.8.5+。moodle.orgのダウンロードサイトから入手できる。3月10日にリリースされた公式版2.8.5と、毎週リリースされる修正版2.8.5+とがある。修正版の方がバグフィックスも進んでいるだろうから、こっちをダウンロードする。ちなみに必要なシステムの要件としては

  • PHP 5.4.4
  • MariaDB 5.5.31 or MySQL 5.5.31 or Postgres 9.1 or MSSQL 2008 or Oracle 10.2

となっている。自分が使おうとしているサーバーはCentOS5.11、PHP 5.3.3、MySQL5.0.95だったので、PHPとMySQLのアップデートが必要だったわけ。

すでにPHPとMySQLをあげ、phpMyAdminやWordPressが動いているので、準備は整ったと判断。moodle2.8.5+のフルパッケージ moodle-latest-28をgitから入手した。

$ sudo git clone --depth=1 -b MOODLE_28_STABLE git://git.moodle.org/moodle.git

moodleディレクトリのオーナーをapacheに変更し、念のためアクセス権を755にしておく。

$ sudo chown apache:apache -R moodle/
$ sudo chmod -R 755 moodle/

また、moodleデータディレクトリをホームディレクトリとは別のところに作っておく。ブラウザでアクセスされないためだ。

$ sudo mkdir /hoge/moodledata
$ sudo chown apache:apache /hoge/moodledata
$ sudo chmod 755 /hoge/moodledata

phpMyAdminを使い、MySQLに中身のないmoodleデータベースを作成しておく。

phpMyAdmin

これでファイルの設置は完了。あとはブラウザでアクセスするだけ・・・のはずだったのだが。

使用言語に日本語を選ぶ。

moodle1

次のページで各ディレクトリの位置を

moodle2

と指定。DBにImproved MySQLを選択。

moodle3

データベースの設定を行い

moodle4

著作権を確認画面する。

moodle5

真っ白な画面

ところが[続ける]をクリックすると真っ白な画面になったままで、先に進めなくなってしまった。

何度かmoodleディレクトリとmoodledataディレクトリを削除し、最初からインストールをやり直してみたが、変化無し。言語を英語にしても同じ状態になる。/var/log/httpd/error_logを見ると

192.168.1.130 - - [01/May/2015:16:22:18 +0900] "GET /moodle/theme/yui_combo.php?m/-1/core/lockscroll/lockscroll-min.js HTTP/1.1" 200 488
192.168.1.130 - - [01/May/2015:16:22:20 +0900] "GET /moodle/admin/index.php?lang=en&agreelicense=1 HTTP/1.1" 500 -

と、Internal Server Errorの状態である。つまり、moodleが動いてないということ。いろいろ検索して調べたけれど、今回の状況に合致する記事は発見できず。数日やってみても進捗がなかったので、とうとう自力解決は諦めた。moodleの公式サイト内にある日本語コミュニティに助けを求めることにした。

4月30日に「CentOS 5.11へMOODLE_28_STABLEがインストールできない」という記事を投稿したところ、さっそく何人かの方からアドバイスをいただいた。ただ、残念ながらそのアドバイスに従って設定を変えるなどしても、依然として画面は真っ白のままだ。

php-xmlが入ってない

連休明けの5月7日、moodle日本語化の一人者である吉田光宏さんから

下記投稿のように、php-domxmlをインストールすることで今回の問題は解決されるのではないでしょうか。

というコメントをいただいた。調べるとphp-domxmlではなくphp-xmlのようなので、さっそくphp-xmlを入れてみる。

$ sudo yum install --enablerepo=remi,remi-php56 php-xml
$ sudo /etc/init.d/httpd restart

ブラウザでアクセスしてみると、

moodle_check1

やっとサーバーチェック画面が表示された。php-xmlが入ってないと、ここまでたどり着くことすらできない。
後は警告に従って不足しているモジュールを追加するだけ。

$ sudo yum install --enablerepo=remi,remi-php56 gd
$ sudo yum install --enablerepo=remi,remi-php56 xmlrpc
$ sudo yum install --enablerepo=remi,remi-php56 php56-soap
$ sudo yum install --enablerepo=remi,remi-php56 soap
$ sudo yum install --enablerepo=remi,remi-php56 php-gd
$ sudo yum install --enablerepo=remi,remi-php56 php-xmlrpc
$ sudo yum install --enablerepo=remi,remi-php56 php-soap
$ sudo yum install --enablerepo=remi,remi-php56 php-intl
$ sudo /etc/init.d/httpd restart

一度/var/www/html/moodleと/hogehoge/moodledataの中身を削除し、最初からインストールをやり直した。著作権表示の次にはサーバチェックが表示され、必要なモジュールはすべて入っていることが確認できる。

moodle6

2分ぐらいかけてインスト-レションが行われ、すべて問題なく終了した。

moodle7

moodleの管理者を登録する。

moodle8

サイトの名前、概要などを入れればインストールは完了だ。

moodle9

ようやくインストールが完了した

今設定したサイト名、概要などが入ったmoodleのデフォルトスタートページが表示される。

moodle10

これから教材や試験問題など、実際のeラーニングシステム構築がスタートする。

今回手間取ったのは、php-xmlモジュールがインストールされていなかったため。オープンソースソフトウエアの場合、PHPやmySQLなどのバージョンは指定されていても、必須モジュールまでは詳しく書いてないことが多い。WordPressなど他のアプリケーションが動いていても、別のアプリケーションが動くとは限らない。注意が必要だ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください