Moodleのインストール

パニックにならないでください! don't panic!

このガイドは最初にMoodleをインストールする方法に関して説明したものです。ウェブサーバの広範囲に渡る細かな違いをカバーするために、この文章は長く複雑に見えるかもしれません。パニックにならないでください。方法が分かりさえすればMoodleを数分でインストールできますから!

問題がある場合、この文書を時間をかけて読んでください - ほとんどの解決方法はここに書いてあります。 まだ問題がある場合、Moodleヘルプでヘルプ文書を読むことができます。

別の選択肢は、あなたのためにMoodleを完璧に管理するウェブホスティング会社に連絡することです。あなたはこれらの問題にとらわれることなく、教育に専念することができます!

 

この文書のセクション:

  1. システム要件
  2. ダウンロードおよびファイルのコピー
  3. サイト構成
  4. config.phpを作成するためにインストールスクリプトを実行
  5. 設定を続けるために管理画面に移動
  6. cronの設定
  7. 新しいコースの作成

 

1. システム要件

Moodleは主としてPHP、Apache、MySQLを使用したLinux環境 (LAMPプラットフォームとして知られています) で開発を行っています。 しかし、定期的にPostgreSQL、WindowsXP、Mac OS X、Netware 6の環境でテストしています。

Moodleのシステム要件は下記のとおりです:

  1. ウェブサーバソフトウェア。ほとんどのユーザは、Apacheを使用していますが、MoodleはWindowsプラットフォームにおけるIISのように、PHPをサポートするあらゆるウェブサーバで動作します。
  2. PHPスクリプト言語 (バージョン4.1.0 以上)。PHP5は、Moodle1.4以降でサポートしています。
  3. 動作可能なデータベースサーバ: MySQL または PostgreSQLを完全にサポートしています。これらのデータベースサーバの使用を推奨します。

ほとんどのウェブホスト会社では、これらの機能を標準的にサポートしています。もし、あなたが契約した会社が、これらの機能をサポートしない数少ない会社である場合、なぜそうなのかたずねて、他の会社と契約することを考えてください。

自分のコンピュータでMoodleを動かしたくても、少々難しいと考えている方は、私たちのガイドApache、MySQL、PHPのインストールをご覧ください。人気のあるほとんどのプラットーフォームに、これらをインストールするためのステップバイステップの方法が記されています。

 

2. ダウンロードおよびファイルのコピー

Moodleを入手するには圧縮パッケージをダウンロードする方法とCVS経由で入手する方法の2つの方法があります。これらに関する説明はダウンロードページ http://moodle.org/download/ に掲載されています。

パッケージをダウンロードして解凍、またはCVS経由でチェックアウトすると「moodle」という名称の多くのファイルとフォルダが含まれたフォルダが現れます。

moodleフォルダを丸ごとウェブサーバのドキュメントディレクトリに入れることができます。この場合、http://yourwebserver.com/moodle というような配置になります。または、すべてのコンテンツを ウェブサーバのドキュメントディレクトリに直接入れることもできます。この場合、シンプルに http://yourwebserver.com というような配置になります。

あなたがMoodleをローカルコンピュータにダウンロードして、ウェブサイトにアップロードする場合、圧縮されたファイルをそのままアップロードして、サーバ内で解凍した方が良いでしょう。Cpanelのようなウェブホスティングインターフェースでも、「ファイルマネージャー」を使って圧縮されたファイルを解凍することができます。

 

3. サイト構成

あなたは、このセクションを安全にスキップすることができます。しかし、あなたの理解を手助けするため、Moodleフォルダのコンテンツに関する簡単な要約を記載します:

config.php - 基本的な設定を含んでいます。このファイルはMoodleのダウンロードに同梱されていません - インストール時に自動的に作成されます。
install.php - config.phpを作成ために実行するスクリプトです。
version.php - Moodleコードの現バージョンを定義しています。
index.php - サイトのフロントページです。
  • admin/ - サーバ全体を管理するコードです。
  • auth/ - ユーザ認証のためのプラグインモジュールです。
  • blocks/ - 多くのページに表示される小さなサイドブロックのプラグインモジュールです。
  • calendar/ - カレンダーを表示・管理する全コードです。
  • course/ - コースを表示・管理するためのコードです。
  • doc/ - Moodleのヘルプドキュメントです (例 このページ)。
  • files/ - ファイルを表示・アップロードするためのコードです。
  • lang/ - 様々な言語の言語ファイルです。1つのディレクトリに1つの言語が入っています。
  • lib/ - Moodleコードのコードライブラリです。
  • login/ - ログインとアカウント作成を行うためのコードです。
  • mod/ - Moodleコースモジュールの全コードはここに入っています。
  • pix/ - Moodleサイトに使われる一般的なイメージファイルです。
  • theme/ - Moodleサイトのデザインを変更するためのテーマ/スキンです。
  • user/ - ユーザを表示・管理するためのコードです。

 

4. config.phpを作成するためにインストールスクリプトを実行

インストールスクリプト (install.php) を実行するためには、ウェブブラウザを使ってMoodleメインURIにアクセスしてください。または、http://yourserver/install.php に直接アクセスしてください。

(インストーラーはクッキーを設定しようとします。もし、ブラウザに警告が表示された場合はクッキーを受け入れてください!)

Moodleは必要な設定を検出して、config.phpと呼ばれる新しい設定ファイルを作成するための画面にあなたを導きます。最後の過程でMoodleは適切な場所にファイルを書き込みます。もしくはボタンをクリックすることでインストーラーからconfig.phpファイルをダウンロードして、サーバのメインMoodleディレクトリにアップロードすることができます。

途中でインストーラーはあなたのサーバ環境をチェックして問題を解決する方法を提案します。ほとんどの場合はこの提案で十分です。しかし行き詰った場合は、一般的な内容に関する下記の詳細情報を読むことが、あなたの手助けとなるでしょう。

4.1 一般ウェブサーバ設定

最初に、あなたのウェブサーバで index.php がデフォルトページに設定されていることを確認してください。(おそらくその他index.html、default.htm等が設定されていることでしょう)

Apacheでは httpd.conf ファイルの中の DirectoryIndex パラメータで設定します。私の設定は通常下記のようになっています:

DirectoryIndex index.php index.html index.htm

index.phpがリストの中にあることを確認してください。(効率を考えるとリストの最初にあった方が良いでしょう)

2番目に、あなたがApache2を使っているのでしたら、AcceptPathInfo 変数を有効にしてください。この設定は、スクリプトが http://server/file.php/arg1/arg2 のような参照を行えるようにします。この設定は、あなたのサイトに対して相対リンクの使用を許可し、Moodleウェブサイトを利用するユーザにレスポンス向上をもたらすために必要です。下記の行を httpd.conf ファイルに追加することで、この設定を有効にできます。

AcceptPathInfo on 

3番目に、Moodleが動作するために、多くのPHPの設定をアクティブにする必要があります。多くのサーバでは下記の設定はすでにデフォルト設定となっています。しかし、いくつかのPHPサーバ (そして、最新のPHPバージョン) では設定内容が異なっている場合があります。これらの設定はPHPの設定ファイル(通常はphp.iniと呼ばれます) に定義されています:

magic_quotes_gpc = 1    (好ましいですが必須ではありません)
magic_quotes_runtime = 0    (必須)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0

あなたがサーバ内の httpd.conf や php.ini にアクセスできない場合や、他のアプリケーションで異なる設定をする必要がある場合は、すべてのデフォルトセッティングを上書きすることができます。

これを行うには、下記の設定を定義した .htaccess という名称のファイルをMoodleのメインディレクトリに置く必要があります。 これは、設定の上書きが許可されたApacheサーバのみで動作します。

DirectoryIndex index.php index.html index.htm

<IfDefine APACHE2>
     AcceptPathInfo on
</IfDefine>

php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0

アップロードファイルの最大サイズを下記のように設定することもできます:

LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M

最も簡単な方法は lib/htaccess よりサンプルファイルをコピーして、あなたの目的に適うように編集するやり方です。 このファイルには、より詳しい説明が含まれています。Unixシェルの例:

cp lib/htaccess .htaccess

 

4.2 データベースの作成

まず、空のデータベース (例 moodle) および特別なユーザ (例 moodleuser) を作成する必要があります。このユーザは作成したデータベースにのみアクセスするためのユーザです。テストサーバに対してrootユーザも使えますが運用システムはお勧めできません。もしハッカーがパスワードを発見した場合、1つのデータベースだけではなくすべてのデータベースシステムが危険に晒されることになります。

あなたがウェブホストを使用している場合、おそらくウェブインターフェースのコントロールパネルを使用してデータベースを作成することになります。

Cpanelシステムはコントロールパネルの中でも一番人気があります。Cpanelでデータベースを作成するには、

  1. MySQLデータベース」アイコンをクリックしてください。
  2. データベースフィールドに「moodle」と入力して「データベースの追加をクリックしてください。
  3. ユーザ名とパスワード (あなたが他の場所で使用するものではありません) を必要箇所に入力して「ユーザの追加」をクリックしてください。
  4. データベースにユーザを追加」ボタンを使って、作成したデータベースに関する「すべての」権限を新しいユーザアカウントに与えてください。
  5. ユーザ名とデータベース名にはCpanelアカウント名が接頭辞として付加されますので注意してください。この情報をMoodleインストーラーに入力するときは、完全な名称を使ってください。

Unixコマンドラインを使用できる場合は、同じようなことをコマンド入力で行うことができます。

MySQLのUnixコマンドラインの例です:

   # mysql -u root -p
   > CREATE DATABASE moodle; 
   > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* 
           TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; 
   > quit 
   # mysqladmin -p reload
    

そしてPostgreSQLのコマンドラインの例です:

   # su - postgres
   > psql -c "create user moodleuser createdb;" template1
   > psql -c "create database moodle;" -U moodleuser template1
   > psql -c "alter user moodleuser nocreatedb;" template1

 

4.3 データディレクトリの作成

Moodleでは、コース文書やユーザ写真のようなアップロードしたファイルを保存するためのスペースを、ハードディスクの中に必要とします。

Moodleインストーラーはあなたのためにディレクトリを必死で作ろうとしますが、失敗した場合はこの目的のためのディレクトリを手動で作成する必要があります。

セキュリティ上の理由で、ウェブ経由のアクセスができないディレクトリが良いでしょう。最も簡単な方法はウェブディレクトリの外にこのディレクトリを置くことです。しかし、ウェブディレクトリの中に置く必要がある場合は、次の行を含む .htaccess というファイルを中に置いてディレクトリを保護してください:

deny from all
AllowOverride None

Moodleがアップロードファイルをこのディレクトリに書き込めるように、ウェブサーバソフトウェア (例 Apache) がこのディレクトリに書き込み権を持っていることを確認してください。

Unixマシンでは、ディレクトリの所有者が「nobody」または「apache」のようになっていること、また、読み取り・書き込み・実行権があることを意味します。

Cpanelシステムでは、フォルダを探すために「ファイルマネージャー」を使用することができます。フォルダをクリックして「パーミッションの変更」を選択してください。多くの共有サーバでは、他の顧客があなたのファイルを閲覧したり変更するのを避けるために、あなたが属している「グループ」のアクセスを制限する必要があるでしょう。しかし、ウェブサーバがあなたのファイルにアクセスできるようにすべての人に完全なread/writeアクセスを提供する必要があります。

もし、安全にこの設定をすることができない場合は、あなたのサーバの管理者に問合せてください。特に「セーフモード」として知られているPHPの機能を使うサイトでは管理者があなたのためにディレクトリを作成する必要があります。

5. 設定を続けるため管理画面に移動

前のステップで config.php が正常に作成された後は、あなたのサイトのフロントページにアクセスすると残りの設定を行うために「管理」画面に移動します。

最初に管理画面にアクセスした場合、このセットアップを続けるために同意する必要のあるGPL「シュリンクラップ」同意が表示されます。

Moodleはデータベースの設定を開始し、データを保存するためのテーブルを作成します。最初にメインデータベーステーブルが作成されます。下記のようなSQL文の次にステータスメッセージ (緑色または赤色で) が表示されます:

CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM

成功

... そして次のように表示されます: メインデータベースが正常に設定されました。

もし、このような表示がなされない場合、データベースまたはconfig.phpで定義した設定に問題があるはずです。PHPが制限された「セーフモード」(商用ウェブホストでは時々セーフモードに設定されています) に設定されていないか確認してください。<? phpinfo() ?>を含んだ小さなファイルを作成することで、PHPの変数をブラウザで確認できます。 これらのことをすべてチェックして、管理ページを再度表示させてください。

ページの最後までスクロールして「続ける」をクリックしてください。

さらにデフォルト言語、SMTPホスト等、インストールのための変数設定を行うフォームが表示されます。現時点ですべてを正しくしようと心配しすぎないでください - いつでも元に度って、管理画面でこれらの設定を変更することができますから。デフォルトの設定値は、多くのサイトにとって実用的で安全になるようにデザインされています。スクロールして「変更を保存する」ボタンをクリックしてください。

もし (もし、の時だけ) このページまたは、次のページで引っ掛かって次に進めない場合、おそらくあなたのサーバには私が「buggy referrer」と呼んでいる問題があります。これは簡単に直すことができます: 「secureforms」設定を「No」にして再度試してください。

次に、様々なMoodleモジュールで必要なテーブル設定に関する多くのステータスメッセージが出力されたページが表示されます。前と同じようにすべてが緑色でなければなりません。

ページの最後までスクロールして「続ける」をクリックしてください。

次のページは、名称、フォーマット、説明等のMoodleサイトに関するパラメータとフロントページの設定を行うフォームです。必要事項を入力して (いつでも戻って変更することができます) 設定を保存」をクリックしてください。

最後に、管理ページにアクセスするためのトップレベル管理者の作成を求められます。あなたの名前、メールアドレス等の詳細データを入れて「設定を保存」をクリックしてください。すべての項目に入力する必要はありませんが、重要な項目が空白の場合、再入力を求められます。

後で管理ページにアクセスするときに必要な管理者のユーザ名とパスワードを忘れないでください。

(いかなる理由でも、インストールが中断された場合やログインできないようなシステムエラーが発生した場合、 通常はユーザ名「admin」、パスワード「admin」でログインすることができます。

インストールに成功すると、新しいサイトのホームページに戻ります! 管理ページへのリンクはページの左側下方にあります (これらの項目は他とは区別された管理ページに表示されます) - これらの項目は管理者としてログインしているあなたにのみ表示されます。更なるMoodleの管理は次のようなメニューを通して行うことができます:

  • コースの作成と削除
  • ユーザアカウントの作成と編集
  • 教師アカウントの管理
  • テーマ等のサイト全体に渡る設定の変更

しかし、インストールはまだ終わっていません! 非常に重要な作業があります (cronに関する次のセクションをご覧ください)。

 

6. Set up cron – IMPORTANT!

いくつかのMoodleモジュールはタスクを動作させるための継続的なチェックを必要とします。例えば、Moodleは投稿者に投稿のコピーをメール配信するために、ディスカッションフォーラムのチェックを必要とします。

これらの作業を行うスクリプトはcron.phpと呼ばれ、adminディレクトリに置かれます。しかし、これ自体では動作しませんので、定期的 (例えば5分ごとまたは10分ごと) に 動作するように設定を行う必要があります。これは各モジュールで定義された機能が動作できるように「心臓の鼓動」を提供します。このような一般的なメカニズムはcronサービスとして知られています。

cronを動作させるマシンはMoodleが動作しているマシンと同じマシンである必要はありません。例えば、あなたがcronを使えないウェブホスティングサービスを利用している場合、cronを他のサーバや自宅のパソコンで動かすことができます。大切なことはcron.phpを定期的に動かすことです。

スクリプトのロードはそれほど高くありませんので、通常は5分ごとの設定が妥当でしょう。間隔を短くすることが心配な場合は、15分または30分に設定してください。メールの遅延によりコースの活動が阻害されますので、cronの動作間隔を長くしすぎないことが大切です。

最初に下記のスクリプトが直接ブラウザで動くか確認してください:

http://example.com/moodle/admin/cron.php

次に、このスクリプトが自動的に、かつ定期的に動作するように設定する必要があります。

Windowsシステム

一番簡単な方法は、軽いWindowsのサービスとしてインストールされ、すべてのことを簡単に実行してくれるこの小さなmoodle-cron-for-windows.zip パッケージを使うことです。実行して後は忘れましょう!

ウェブホスティングサービス

ウェブベースのコントロールパネルでは、このcronプロセスを設定できるようになっていることでしょう。例えば、Cpanelシステムでは「cronジョブ」というボタンを 探してください。そのページでは下記のようなUnixコマンドを入力することができます。

Unixのコマンドラインを使用

コマンドラインからページをコールするための異なるコマンドラインプログラムがあります。使用するサーバですべてのコマンドを使えるとはかぎりません。

例えば、Unixのユーティリティ「wget」を使うことができます:

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

この例では出力は抑制されます (/dev/nullへ)。

lynxを使用して同じようにすると:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

代わりにコマンドラインで動作するスタンドアロンバージョンのPHPを使うことができます。これを使う利点は、ウェブサーバがコンスタントに実行されるcron.phpのログで一杯にならないことです。不利な点はコマンドラインバージョンのPHPにアクセスする必要があることです。

/opt/bin/php /web/moodle/admin/cron.php

Unixのcrontabプログラムを使用

Cpanelでは、crontabとして知られているUnixユーティリティ用のウェブインターフェースを提供しています。 コマンドラインを使用できる場合は、crontabをコマンドで設定することができます:

crontab -e

そして、次のように上記のコマンドラインを追加します:

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

通常「crontab」コマンドはviエディタで入力することができます。キーボードの「i」を押して「挿入モード」にして上記の行を入力します。 その後、ESCキーを押して「挿入モード」から抜けます。「:wq」を押して保存・終了するか、「:q!」を押して保存せずに終了します。

 

7. 新しいコースの作成

Moodleは正常に動作し、あなたはコースの作成を行うことができます。

管理ページ (またはホームページにある管理メニュー) より「コースの追加」を選択してください。

コースフォーマットに、十分注意しながら必要項目を入力してください。この段階では、細かな点を必要以上に心配する必要はありません。すべての設定は後で教師が変更することができます。様々な場面で使用方法の説明を表示する黄色のヘルプアイコンがあります。

「設定を保存」をクリックすると、教師の割り当てを行うページが表示されます。実際に存在しているアカウントのみをここで追加できます - もし、新たに教師アカウントを作成したい場合は、各教師にアカウントを作成するよう依頼するか (ログインページを見てください)、管理ページで「ユーザの追加」を使ってアカウントを作成してください。

この作業が完了するとコースはカスタマイズ可能になり、ホームページの「コース」リンクよりアクセスできます。

コース作成に関する詳細は「教師マニュアル」をご覧ください。

 

Happy exploring and happy Moodling!

Moodleを気に入ってくださった場合、私たちの開発費を補助するための寄付をお考えください!

全ヘルプファイルのインデックス