co-machi's diary

コワーキングスペース町田(Co-町)の住人2人が、プログラミング周辺に関するブログします(時には脱線も・・・)

Moodle をインストール

Moodleとは

Moodleはインターネット上で授業用のWebページを作るためのソフトです。教育学でいう社会的構築主義の考え方に基づいて作られており,日々改良が行われています。

……

Moodleという語は元々はModular Object-Oriented Dynamic Learning Environmentの略称でした(プログラマ,教育理論屋向け)。また,動詞としての語moodleは,ものぐさに徘徊する,思いついたことをするといった意味を持ちます。このような楽しみながらの作業がしばしば洞察や創造に結びつくのです。このことはMoodleが開発された経緯と,学生・教師がオンラインコースで学ぶ・教えることの両方について言えることです。Moodleを使う人がMoodlerです。(Moodle Docs より)

http://docs.moodle.org/2x/ja/Moodle%E3%81%A8%E3%81%AF

一言で言えば、e-learning のサイトを構築できるソフトです。一つだけ特徴をあげておくとすれば、学習者が、与えられた内容を一方通行的に受けとるだけではなく、能動的に参加できるように学習コースを組み立てることができる、という点でしょう。

Moodle のインストールから始めましょう。

Apache などのウェブサーバと (Moodle 2.1 以降では)PHP 5.3.2 以上 が必要となります。ご自身の使用する環境を確かめておいてください。

ダウンロード

  1. Standard Moodle Packages に移行し、Current stable builds から選んでダウンロードをするのがよいでしょう。

  2. 環境に合わせて、ダウンロードしたファイルを解凍します。

$ tar zxvf moodle-latest-24.tgz

展開してできたディレクトリを /var/www/html/moodle などに移動します。

# mv moodle /var/www/html/

あるいは、Git からクローンしてくることもできます。

$ git clone -b MOODLE_24_STABLE git://git.moodle.org/moodle.git

空のデータベースを作成します。

ここでは、[データベース] MySQL,[データベース名] moodle,[ユーザ名] moodleuser,[パスワード] ??? とすることにします。

# mysql -u root -p
mysql> show databases;
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 '???'; 

「moodledata」データディレクトリを作成します。

作成する場所はどこでもかまわないのですが、HTTP経由で読み込めない所にしておいてください。

# mkdir /var/www/moodledata
# chmod 0777 /var/www/moodledata

http://サーバ名/moodle/ にアクセス

質問に最後まで答えていけば、インストールは完了しますが、途中で、Moodle の設定ファイル config.php が作成されます。

このとき、moodleディレクトリに apache が書き込めないので,表示された config.php をコピーしてエディタにペーストし,moodle ディレクトリ/var/www/html/moodle/に保存します。そして、所有者,パーミッションを以下のように変更してください。

# chown root.apache config.php
# chmod o-r config.php

以上で、インストールは完了ですが、[Cron]や[バックアップ]の設定など、詳しくは、Moodle Docs Moodleをインストールするを参考にしてください。

plugin のインストール

google_Oauth2 のインストール

auth_googleoauth2 のダウンロード

auth_googleoauth2をダウンロードして、ディレクトリ/var/www/html/moodle/auth/ 以下に解凍します。

$ unzip auth_googleoauth2_moodle25_2012010900.zip
# mv googleoauth2 /var/www/html/moodle/auth/googleoauth2

ここからの作業は、/var/www/html/moodle/auth/googleoauth2/README.md に記載されているとおりに行います。

Moodle に管理者としてログイン後、[サイト管理] > [プラグイン] > [認証] にて、googleOauth2 プラグインを有効にします。

googleOauth2 プラグイン の設定画面にて、GoogleFaceBook から取得した、client ID + client secret を入力し(ブラウザの画面でコピーして貼り付け)ます。

認証サービス の設定(client ID + client secret の取得)

  1. Google

All services の中の Site Verification API を [ON] にします。

Product name: や Home page URL: を登録したら、

Redirect URIs: http://サーバ名/moodle/auth/googleoauth2/google_redirect.php

JavaScript origins:  http://サーバ名

を確認して、正しく登録してください。

Client ID:
????????????.apps.googleusercontent.com

Client secret:
?????????????????????????

の二つを、Moodle に管理者としてログイン後、[サイト管理] > [プラグイン] > [認証] > [googleoath2] の画面から入力します。

  1. Facebook
    1. Facebook にログイン
    2. facebook developers に登録
    3. New App を作ります。

App名、名前空間 を登録、完了したら web サイト名 等を入力します。 これで、アプリID / APIキー と アプリのシークレットキー を取得できます。

忘れてならないのが、サンドボックスモード を オフ にしておくことです。そうでないと、Facebook にログインはできても、Facebook は、Moodle に情報をリダイレクトしてくれません。

Google の時と同じく Moodle に管理者としてログイン後、[サイト管理] > [プラグイン] > [認証] > [googleoath2] の画面から id と secret を入力します。

  1. IPinfoDB Key を取得し、登録しておくと、県名と国名を新規ログインユーザのIPアドレスから取得してくれます。

  2. ログイン画面の編集

Moodle で使うテーマを変更した時には、そのテーマにあわせてログインファイルの編集を行ってください。

ここでは、Moodleのインストール時のログイン画面を編集することにします。

ファイル /var/www/html/moodle/login/index_form.html

を開きます。

ファイルの一番最後などに、googleoauth2/README.md に記述されているコードを貼り付け、YOURDOMAINENAME とあるところを正しいドメイン名に書き換えます。

表示させたい GoogleFacebook の画像を保存したディレクトリ名とそのファイル名を aタグ に書き込みます。

これだ完了。お疲れ様でした。