eラーニングシステム Moodleの活用とカスタマイズ

第2回日本語サイトを構築する際の注意

今回は、

  • Moodleに関する情報はどこで得られる?
  • Moodleを試してみたい、自分のサイトを作ってみたいが、必要なものは何?
  • 日本語のMoodleサイトをセットアップするときの注意点は?

の疑問に答える内容です。

今回はMoodleの管理者や開発者を念頭に置いた説明ですので、初回に比べ、内容や書きぶりが専門的かもしれません。

内容に関する皆様のご希望やご意見を、コメント等でいただければ幸いです。

Moodleに関する主なオンライン情報源

オンラインでMoodleに関する資料を沢山見つけることができます。主なものとして、まず

が挙げられます。

図1 Moodle Docs日本語版
図1 Moodle Docs日本語版

このサイトはWikiで構築されており、英語版 http://docs.moodle.org/ からの翻訳は、Moodle本体の日本語訳にも尽力されている吉田光宏さんを中心に行われています(筆者はごくたまにしか貢献できていません...⁠⁠。

Moodle公式サイト内の

には、いくつものフォーラム(掲示板)があり、ユーザ同士が活発にやりとりしているので、有意義な情報が得られます(閲覧だけなら、ゲストとしてログインすれば可能です⁠⁠。質問も気軽にできる雰囲気です。

また、

ではバグトラッキングシステムが運営されており、バグ解消や改善についての議論やパッチを見ることができます。

これらのすべてのサイトには、 http://moodle.org/のトップからもリンクがあります。

Moodleを試用・使用する環境を手に入れる

Moodleのインストールについては、Moodleによるeラーニングシステムの構築と運用の第2章に説明されており、オンラインでは、Moodle Docs内の

に詳細な説明があります。ここでは、Linux環境でMoodleをセットアップする場合を中心に,インストールに関係するメモを簡単に載せておきます。

Moodleのデモサイト

インストールしなくとも、Moodleの機能をすぐに試すことのできるサイトが用意されています。

図2 Moodleのデモサイト http://demo.moodle.org/
図2 Moodleのデモサイト http://demo.moodle.org/

だれでも学生権限、教師権限でログインして自由に試用でき、コンテンツを変更することもできます。ただし、毎時0分になったら変更は破棄され、自動的に元の内容に戻ります。

無償・安価なレンタルサーバでのセットアップ

最近は、Moodleが問題なくインストールできる無料または格安(月あたり500円前後)の国内レンタルサーバもいくつかあります。共用(一つのマシンを多数のユーザで同時に利用する)のレンタルサーバなので、大きな規模で本格的にMoodleを運用するのには向きませんが、試験的に運用する場合や、小規模な運用を行う場合ならば利用価値があります。

筆者のサイトにいくつかの例を挙げてあるので参考にしてください。

専用サーバでのセットアップ

自分専用のサーバマシンがある場合、またレンタルサーバでも専用サーバのコースでは、そのサーバの管理者権限を持ち、すべてを自分で管理することができます。共用レンタルサーバを用いる場合と違い、Moodleをインストールするのに必要な条件・環境を自分で整えることになります。利用規模・利用状況に合わせてサーバ性能の増強を行ったり、Webサーバやデータベースサーバの設定等の最適化を行うことも可能になります。

ここでは、筆者がよく使う、Vine LinuxCentOSの場合について、Moodleインストールに必要な環境の整備方法を例示しておきます。

Vine Linux 5の場合の準備手順(Moodle 1.9.xおよびMoodle 2.0用)

すべての作業は root権限で行います。

以下のコマンドを実行
apt-get install MySQL-server MySQL-client
apt-get install php5 php5-devel php5-apache2 php5-mysql php5-xmlrpc
apt-get install zlib-devel
pecl install zip
/etc/php5/php.iniの末尾に以下のように追加
extension=zip.so
; memory_limit= 32M
memory_limit= 40M
; VineのPHP5で正常動作させるには、以下の設定が必要。
; default_charset= EUC-JP
default_charset=
; mbstring.encoding_translation= On
mbstring.encoding_translation= Off

(参考:http://moodle.org/mod/forum/discuss.php?d=73853

以下のコマンドを実行
chkconfig mysql on
chkconfig apache2 on
service mysql restart
service apache2 restart

CentOS 5の場合の準備手順(Moodle 1.9.x用)

すべての作業は root権限で行います。

以下のコマンドを実行
yum install mysql mysql-server
yum install php-gd php-mysql php-mbstring php-xmlrpc
chkconfig mysqld on
chkconfig httpd on
/etc/php.iniのmemory_limitの指定を以下のように変更
memory_limit= 40M
以下のコマンドを実行
service mysqld restart
service httpd restart

MySQLデータベースの作成

レンタルサーバであっても、専用サーバであっても、MySQLのデータベースをMoodleインストール用に作成する必要があります。phpMyAdminや、レンタルサーバで提供されるコントロールパネルなどを用いて作成するか、コマンドラインでmysqlコマンドを使って、

$ mysql -u root -p
> create database moodledb default character set utf8 collate utf8_unicode_ci;
> grant all on moodledb.* to moodleuser@localhost identified by 'mdpass';

を実行して作成します(データベース名をmoodledb, データベースユーザをmoodleuser, パスワードをmdpassにする場合⁠⁠。

cronジョブの設定

cronジョブ(定期的に実行される処理)の設定は、Moodleのさまざまな機能を正常に動作させるために必要な、大事な設定です。

http://docs.moodle.org/ja/Cronにも記述があるように、レンタルサーバの場合、cronジョブの設定は、コントロールパネルの中で行うことが多いです。専用サーバの場合は、crontab -eコマンドで

*/10 * * * * wget -q -O /dev/null http://www.example.com/moodle/admin/cron.php

のようなエントリを追加してcronジョブの設定をおこないます(もちろん、www.example.com等の部分は変えてください⁠⁠。上記の例では、10分ごとにcronジョブが実行されます。

筆者の場合、/etc/cron.hourlyのディレクトリに、以下のような実行可能なスクリプトを置いて済ませることもあります。

#! /bin/sh
for a in 0 10 20 30 40 50; do
        wget -q -O /dev/null http://www.example.com/moodle/admin/cron.php
        sleep 600
done

日本語環境を構築する際の諸注意

Moodleインストールが問題なく完了した場合も、日本語のMoodleサイトとして運用するあたっては、いくつかの問題を解決しておく必要がありますので、ここで紹介しておきます(バージョン1.9.7で検証したものです⁠⁠。

日本語ファイル名のファイルを扱えるように

Moodleの機能でアップロードするファイルのファイル名に日本語(2バイト文字)を使いたい場合、インストール時に作成されるconfig.phpに

$CFG->unicodecleanfilename= true;

を記述する必要があります[2]⁠。

また、Internet Explorerで日本語ファイル名のファイルを文字化けせずにダウンロードするためには、lib/filelib.phpを次のように修正する必要があります※2※3⁠。

lib/filelib.php 605行目付近
    if (check_browser_version('MSIE')) {
        $filename = urlencode($filename);
    }

↓置き換え

    if (check_browser_version('MSIE')) {
      if (strlen(rawurlencode($filename)) > 21 * 3 * 3) {
        $filename = mb_convert_encoding($filename, "SJIS-WIN", "UTF-8");
        $filename = str_replace('#', '%23', $filename);
      } else {
        $filename = rawurlencode($filename);
      }
    } else if (check_browser_version('Safari')) {
      $filename = "";
    }

日時選択の画面で、年月日時の順番を日本式に

Moodleによるeラーニングシステムの構築と運用のpp.203の画像6-7, pp.228の画像6-28, pp.262の画像7-1, pp.263の画像7-3などでは、日時の選択の画面で、⁠日本式に)⁠年」⁠月」⁠日」⁠時」の順番に並んだドロップダウンリストがありますが、実は、標準のMoodleではそうはならず、次の図のように表示されてしまいます。

図3 標準のMoodleでは、日時選択時の表示順は欧米風
図3 標準のMoodleでは、日時選択時の表示順は欧米風

言語設定に応じた年月日時の順番で表示させるためには、MDL-18823: day/month/year order in date selection justified according to strftime に掲載してあるパッチを適用する必要があります。

このパッチを適用するには、例えばMoodleディレクトリ(config.phpがあるディレクトリ)が /var/www/html/moodleの場合、コマンドラインで、

cd /var/www/html/moodle/
wget http://tracker.moodle.org/secure/attachment/16832/moodle194-date2.patch
patch -p1 < moodle194-date2.patch

を実行すればいいです。

これは、標準のMoodleでもともと対応していてほしい機能だと思うので、この機能が必要と思われた方は、是非上記のMoodle trackerでvoteしていただければ幸いです。

ユーザの「姓」「名」の表示順は、「言語設定」に従うのをデフォルトに

MDL-18824: fullnamedisplay default value should be'Language' のパッチを(インストール前に)適用してください。インストール後であれば、⁠サイト管理」「セキュリティ⁠⁠→⁠サイトポリシー」で、⁠フルネームフォーマット」「言語設定」にすればよいです。

※これは本家に取り込まれたので、今の最新バージョンでは不要です。

Moodle用に再構成されたphpMyAdmin

これは、日本語環境に限ったものではないですが、データベース内のデータ管理にも開発にも大変便利なので、インストールしておくとよいでしょう。

http://moodle.org/mod/data/view.php?d=13&rid=448「Download latest version」で最新版がダウンロードできます。moodle/adminディレクトリ内にファイルを展開し、管理者権限で「サーバ⁠⁠→⁠データベース管理」に入って、いくつかの初期設定が終わった後、使えるようになります。


次回は、Moodleバージョン 1.9.xで大きく変更があった、⁠評定」における成績表管理の機能について説明する予定です。

おすすめ記事

記事・ニュース一覧