三重大学版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現在