Moodleのバージョンアップ必要なソフトウェアの確認今回は、Moodle 1.9ベース(1.9.19)から 2.Xベース(Moodle 2.6.2)にバージョンアップした。 したがって、通常のクリーンインストールとは多少異なる。 必要となるソフトウェア(PHP、MySQLなど)のバージョンについては、 Moodleのドキュメントを参考にする。もちろん手順も。 なお、1.9ベースから2.Xベースへのアップグレードはできない。 一度、2.2ベースへアップグレードした後、目的のバージョンへアップグレードすることになる。 後から追加でインストールしたプラグインなどがあると、 うまくアップグレードできない場合もある。 結局は、ユーザ情報のみ移行することにした。既存のコースはすべて削除し、追加したプラグインは(使用するデータベース上のテーブルとも)削除した。プラグイン関係の操作は、必ず管理メニューから行うこと。 また、長い間ログインしていないユーザ、キャッシュやテンポラリディレクトリの内容、も削除しておく。 Apacheの設定(すでに設定済みだが)/etc/httpd/conf/httpd.conf に設定を追加しておく。 だいたい、「DirectoryIndex」の行の下あたりで良いと思う。 … AcceptPathInfo on ←追加 … PHPの設定/etc/php.ini に、 メモリ制限やファイルのアップロードサイズを大きめで設定しておく。 とくに「memory_limit」は、うんと大きいほうが良いと思う。 アップグレードの途中で、PHPが使用するメモリが足りなくなり、 アップグレード作業が進まないことが何回もあった…Apacheのログはよく見ておこう…(白井先生@鈴鹿工業高専の記事が参考になる) memory_limit = 256M upload_max_filesize = 20M post_max_size = 20M 設定できたら、Apacheを再起動。 # service httpd restart データベースのコピーアップグレード対象のMoodleのデータベースをコピーしておく… …のではなくて(苦笑)、 1.9ベースのMoodleを残すことにしていたので、 アップグレード用に元のデータベースをコピーする。 今回は、phpMyAdminでお手軽にコピーを作った。 なお、Moodle用のユーザを作るのを忘れないこと(phpMyAdminの場合はユーザごとにデータベースへの権限を割り当てる)。 ついでに、Moodleのデータディレクトリもコピーしておくのを忘れないようにしよう。 Moodle 2.2へのアップグレードまず、アップグレード作業の起点となる、Moodle 2.2へアップグレードする。 今回は公式サイトのパッケージのみ使用する。 なお、2.2ベースは「2.2.11」が最終のリリースとなっている。 # wget "http://download.moodle.org/download.php/stable22/moodle-2.2.11.tgz" あとは、通常のMoodleのインストールと同じ。 ただし、使用するデータベースやデータディレクトリは、 コピーしたものを使用するように指定する。 アップグレード作業の途中で止まるようなら、URLを編集して、 「http://……/admin/install.php」(?)にアクセスし直すことで、 止まったところから再開させることができる場合がある。 Moodle 2.2から2.6までの道ここまで問題なく済めば、あとはMoodle 2.6ベースへアップグレードすれば完了… …とはいかなかった。なぜか。 しかたないので、2.2か2.3へ、2.3から2.5へ、2.5から2.6へと段階的にアップグレードしていった。非常に面倒だった(涙) Moodle 2.6へのアップグレード今回の目的のバージョンである、2.6.2へアップグレード。 作業はこれまでと同じ。 Moodleのインストール本家からではなく、 日本での利用向けに多くのカスタマイズがされている、 「三重大学版Moodle」を使う。 Subversionリポジトリからでもいいが、 手軽に使うのならスナップショット版がおすすめ。 # wget http://portal.mie-u.ac.jp/src/moodle19.tar.bz2 Apacheのデフォルトディレクトリに、展開する。 # cd /var/www/html # tar --bzip2 -xf moodle19.tar.bz2 # mv moodle19 moodle # chown -R apache.apache moodle また、提出された課題のファイルなどを保管する、 データ用ディレクトリを作っておく。 # mkdir /var/www/moodledata # chown -R apache.apache /var/www/moodledata Moodleの設定ブラウザで「http://hostname/moodle」にアクセスすると、 設定が開始される。 質問に答えていけばよい。 最後のほうで、config.phpが作成されるが、 日本語名のファイルに対応させるため、 次の設定を手動で追加しておく。 # vi /var/www/html/moodle/config.php ... $CFG->unicodedb = true; $CFG->unicodecleanfilename = true; ... 日本語の言語パックはダウンロードしなくてもよいそうだが、 別にダウンロードしてもそんなに問題はないと思う。 cronの設定5分おきにMoodleにアクセスし統計情報を処理するスクリプトを作る。 # vi /etc/cron.hourly/moodle-chk.sh 内容は、例えば次のような感じ。 for a in 0 5 10 15 20 25 30 35 40 45 50 55; do wget -q -O /dev/null http://localhost/moodle/admin/cron.php sleep 300 done 最後に、ファイルのパーミッションを設定。 # chmod 755 /etc/cron.hourly/moodle-chk.sh 参考 |