kilin> how to> 三重大学版moodle

三重大学版Moodle 1.9のインストールメモ

(2009.10.31)

学習支援ソフトMoodle(三重大学版Moodle 1.9)のインストールメモ.
2008.10.8にダウンロードした1.92+は安定して動作するのですが,2009.5.19, 2009.6.18の1.95はインストール途中でブラウザの反応がなくなり,無理やりインストールを続行すると,その後の動作が?.我々は1.92+を使っています.
1.96(Build:20091021)はadminのプロファイル設定画面からブラウザの反応がなくなるが,その後http://.../admin/にアクセスすれば,それでインストールは終了するよう.しかし,ログイン前のフロントページにメインメニューが出てしまう,フィードバックが作れない,などの問題を発見.1.96への乗り換えはもう少し待ちます.
北里大学Moodle2北里大学Moodle2009
(環境) CentOS 5.2-5.4(SElinux無効)

(以下プロンプトが#ならroot,$なら普通のユーザー)

yumでインストールしておくべきもの

# yum install httpd
# yum install php
# yum install mysql
# yum install mysql-server
# yum install php-mysql
# yum install gd
# yum install php-gd
# yum install php-mbstring
# yum install php-ldap
# yum install php-xmlrpc

# yum install tetex*

Apache

httpd.conf のDirectoryIndex に index.php を追加し,その下の行にAcceptPathInfo on を追加.
# vi /etc/httpd/conf/httpd.conf

#DirectoryIndex index.html index.html.var
DirectoryIndex index.html index.html.var index.php
#
AcceptPathInfo on
#
起動
# /etc/init.d/httpd start

MySQL

MySQLサーバーを動かし,
/etc/init.d/mysqld start
rootユーザのパスワード設定
# mysql -u root
mysql> set password for root@localhost=password('rootパスワード');
mysql> exit
testという空のデータベース削除
# mysql -u root -p
mysql> show databases;
mysql> drop database test;
mysql> exit;
データベース作成(データベース名 moodle,ユーザ名 moodleuser,パスワード ???)
# mysql --default-character-set=utf8 -u root -p
mysql> create database moodle default character set utf8 collate utf8_unicode_ci;
mysql> grant select,insert,update,delete,create,create temporary tables,drop,index,alter on moodle.* to moodleuser@localhost identified by '???';
注)Apache と MySQL が同居しない場合はlocalhostをWebサーバのホスト名にする.
確認
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| moodle |
| mysql |
+--------------------+
mysql> exit;

PHP

php.iniを編集.ファイルのアップロードの最大サイズ,メモリ制限は多めに設定.
# vi /etc/php.ini

upload_max_filesize = 2000M
post_max_size = 2000M
memory_limit = 1000M

Moodle *

三重大学版Moodle 1.9のダウンロード
# wget http://oku.edu.mie-u.ac.jp/miemoodle/moodle19.tar.bz2
/var/www/htmlに展開(以下では /var/www/html/moodle19).展開コマンドは
# tar jxfv moodle19.tar.bz2
展開したら,所有者は apache 以外にして,root以外には書き込み権限を与えない.
# chown -R root.root /var/www/html/moodle19/
データ用ディレクトリを /var/www/moodledata に設定.apache が読み書きできるようにする.アップロードされたファイルはここに入る.
# chown -R apache.apache /var/www/moodledata/

config.php

http://サーバ名/moodle19/ にアクセス.質問に答えていく.httpポートをあけるには,
# /sbin/iptables -I RH-Firewall-1-INPUT -p tcp --dport 80 -j ACCEPT;
*質問中でURLが http://.../moodle のようになるが最後に / を補わない.
*途中で「「日本語(ja)」言語パックをダウンロードする」ボタンが現れるが,三重大学版はここは何もしない.
*質問は「続く」でたくさんのページがあるが必ず最後まで答える.すると,設定ファイル config.php が作られるが,moodleディレクトリに apache が書き込めないので,表示された config.php をコピーしてエディタにペーストし,moodle ディレクトリ/var/www/html/moodle19/に保存.その際,
$CFG->unicodedb = true;
$CFG->unicodecleanfilename = true;
を追加.所有者,パーミッションを以下のように変更.
# chown root.apache config.php
# chmod o-r config.php
なお,adminのプロファイル設定画面でブラウザの反応がなくなる場合は,その後http://.../admin/にアクセスする.

サイト管理

http://サーバ名/moodle19/ にアクセスし,adminでログインし,[サイト管理]で以下を設定.
[言語設定]-[言語設定]-[デフォルト言語]lang: 日本語(ja)
[ロケーション]-[ロケーション設定]-[デフォルトの国]country: 日本
[サーバ]
-[Eメール]-[文字セット]sitemailcharset: ISO-2022-JP
-[セッションハンドリング]-[クッキーパス]sessioncookiepath: /moodle19/ <-これは不要
[ユーザ]-[認証]-[認証の管理]-[ゲストログインボタン]: 非表示

SSL

http://kilin.clas.kitasato-u.ac.jp/howto/https.html の手順でおこなう.ポート80番(http)は閉じポート443番(https)をあける.httpsポートをあけるには,
# /sbin/iptables -I RH-Firewall-1-INPUT -p tcp --dport 443 -j ACCEPT;
そして,moodle ディレクトリ/var/www/html/moodle19/のconfig.phpの
$CFG->wwwroot = 'http://...';
を,
$CFG->wwwroot = 'https://...';
に変える.なお,起動時にhttpsをあけるには,centosデフォルトではrootでログインしてGUIのファイアウオール設定ツールを使う.

cron

https://サーバ名/moodle19/admin/cron.php をブラウザで見てうまく働くことを確認し,次のように設定(使い方はviと同じ).
# crontab -e

*/5 * * * * wget -q -O /dev/null https://サーバ名/moodle19/admin/cron.php

サービスON

# /sbin/chkconfig httpd on
# /sbin/chkconfig mysqld on
以上でインストール完了.

サイト管理2

あとは,https://サーバ名/moodle19/ にアクセスし(つまり,インストールしたMoodleにアクセスし),adminでログインして,[サイト管理]で色々設定.
(システムパス)
[サーバ]-[システムパス]
-[zipのパス]zip: /usr/bin/zip
-[unzipのパス]unzip: /usr/bin/unzip
-[duのパス]pathtodu: /usr/bin/du
-[aspellのパス]aspellpath: /usr/bin/aspell
(ユーザのメールアドレスが実在のものかどうか確認する機能をoffにする)
[セキュリティ][サイトポリシー]
Email change confirmation emailchangeconfirmation No(チェックをはずす)
(モジュール)
[モジュール]-[フィルタ]
-[マルチメディアプラグイン] Yes [設定] すべて(swfも)チェックする.
-[TeX表記法] Yes
(コース)
[アピアランス]-[テーマ]-[テーマ設定]-[コーステーマを許可する]allowcoursethemes: Yes
[コース]-[コースデフォルト設定]-[フォーマット]: トピックフォーマット(1.9.5より)

バックアップ/インポート

Moodleデータのバックアップは,(パスワードはMysql rootのパスワード,moodleはmoodleのデータベース名)
#mysqldump -u root -p moodle > moodle.sql
別のMoodleに全データをインポートするには,
#mysql --default-character-set=utf8 -u root -p
mysql> データベースnewmoodle を作成
mysql> use newmoodle;
mysql> show tables;
mysql> source moodle.sql

別のMoodleを入れるには

同じサーバに別のMoodleを入れるには,もう一つのMoodleのデータベースmoodle2,ユーザmoodleuser2(パスワード ????)をつくる.
# mysql --default-character-set=utf8 -u root -p 
mysql> create database moodle2 default character set utf8 collate utf8_unicode_ci;
mysql> grant select,insert,update,delete,create,create temporary tables,drop,index,alter on moodle2.* to moodleuser2@localhost identified by '????'; 
mysql> quit;
次に,もう一つのMoodleをインストールするディレクトリを決める./var/www/html/moodle2とする.そして,/moodle19/を/moodle2/に読み替えて上記*からの作業を行う.

アンインストール

mysqlのデータベースmoodleを削除.
# mysql -u root -p
mysql> show databases;
mysql> drop database moodle;
mysql> exit;
moodleディレクトリとmoodleデータディレクトリを削除.
# rm -rf /var/www/moodledata
# rm -rf /var/www/html/moodle19

参考

三重大学版Moodleソース (http://oku.edu.mie-u.ac.jp/miemoodle/) 2008.10現在
Japanese Moodle (http://moodle.org/course/view.php?id=14) 2008.12現在