memorandums

日々のメモです。

vistaにmoodleを入れる


ゼミの学生君がどうしてもVistamoodleが入らないということで手伝うことに。いや。。。3時間くらいかかったでしょうか。結果的には動きましたが何でこんなになるのか?本当にVistaは無くなった方がいい。。。とりあえずやったことを書きます。ここ数日、こんなんばっかですね。


まずこちら(←ゲストとしてログインボタンを押しましょう。moodleに慣れている人はわかりますね。)の資料を使わせていただきました。まとまった資料としてはこれが一番最初に見つかったので。他にいい資料があればいいのですが。ちなみにこの資料はVistaは未確認とのこと。基本的にこの資料通りに進めます。ただ、資料が古いためかmoodleバージョン番号が違うようです。あとフォルダ構成も。それは推理しながら読みます。


xampp込みのWindowsインストーラパッケージ(Moodle 1.9.5+)をこちらからDLします。あと、言語パックもこちらからDLしておきます。 前述の資料には他にもいろいろ書いていますが、とりあえず動かすくらいならいらないでしょう。多分。


つづいてこちらの手順書にしたがって進めます。XPの場合はCドライブ直下にxamppをインストールすべきでしょうけどvistaの場合は英名のパス名がつくようなのでデスクトップに解凍しても動作しました。もちろん、本格的に運用する場合には向きませんが。あと、moodle内のフォルダ構成がこの手順書とは違うようです。serverというフォルダの中にxmappフォルダがあります。ちょっと探せば見つかりますね。


で、手順書の5のMoodleのインストールまでほぼ手順書通りに順調に進むはずです。しかし。。。ここからが3時間かかった。。。「(3)インストール先の確認」のページの「次へ」ボタンを押した後、なぜか真っ白いブランクページが表示されます。リダイレクトが間違っとるんじゃないかな。。。とかキャッシュがたまっているんだろうかとか、古いバージョンのmoodleで試したり、あれこれと。


結局、こちらのページを見て解決できました。このページも間違っていたので少しはまりましたが。。。moodleにはいろいろなバージョンが出ているようなので唯一の解は存在しないでしょうから。。。そこは想像力が必要です。


やったことは、まず、上記の手順書にしたがって「次へ」ボタンを押してブランクページが表示されるまで進めます。そこでmoodledataフォルダを手動で作ります。そしてこのフォルダの所有者にEveryoneを追加して読み書き権を追加します。(この操作は必要ないのではないか?と資料に書かれていますが、まぁ、とりあえず動かすことを優先するのでやっときました)


次にconfig.phpを手で作ります。こちらのサイトから転載します(ちょっと修正しています)。今、手元にVistaがないのでもしかしたら間違っているかもしれません。その場合はごめんなさい。結局のところ、moodleインストーラでブランクページで止まったところは以下のファイルを生成するウィザード用のページだったようです。動作しないので手で作っちゃえということのようです。


ちなみにDocumentRootの指定と以下のconfig.phpのルート指定($CFG->wwwroot)が不一致になって動作がおかしくなったので少しはまりました。

  <?php /// Moodle Configuration File
  
  unset($CFG);
  
  $CFG->dbtype = 'mysql'; 
  $CFG->dbhost = 'localhost';
  $CFG->dbname = 'moodle'; 
  $CFG->dbuser = 'root';
  $CFG->dbpass = '★ここにMySQLのrootのパスワードを入れます★';
  $CFG->dbpersist = false;
  $CFG->prefix = 'mdl_';
  
  $CFG->wwwroot = 'http://localhost/<del>moodle</del>';
  $CFG->dirroot = 'C:\Users\あなたのユーザ名\Desktop\MoodleWindowsInstaller-latest-19\server\moodle';
  $CFG->dataroot = 'C:\Users\あなたのユーザ名\Desktop\MoodleWindowsInstaller-latest-19\server\moodledata';
  $CFG->admin = 'admin';
  
  $CFG->directorypermissions = 00777;
  $CFG->unicodedb = true; 
  require_once("$CFG->dirroot/lib/setup.php");
  ?>