「Moodleをインストールする」の版間の差分

提供:MoodleDocs
移動先:案内検索
(英単語の前後に空白を入れました)
(箇条書きの漏れを修正)
36行目: 36行目:
このセクションは読み飛ばしても安全です。しかし、より深い理解のための、Moodle フォルダ構成に関する簡単な概要を記します:
このセクションは読み飛ばしても安全です。しかし、より深い理解のための、Moodle フォルダ構成に関する簡単な概要を記します:


config.php - 基本的な設定を含んでいます。このファイルは Moodle のダウンロードに同梱されていません - インストール時に自動的に作成されます。
: config.php - 基本的な設定を含んでいます。このファイルは Moodle のダウンロードに同梱されていません - インストール時に自動的に作成されます。
install.php - config.php を作成ために実行するスクリプトです。
: install.php - config.php を作成ために実行するスクリプトです。
version.php - Moodle コードの現バージョンを定義しています。
: version.php - Moodle コードの現バージョンを定義しています。
index.php - サイトの表示です。
: index.php - サイトの表示です。
 
: admin/ - サーバ全体を管理するコードです。
: admin/ - サーバ全体を管理するコードです。
: auth/ - ユーザ認証のためのプラグインモジュールです。
: auth/ - ユーザ認証のためのプラグインモジュールです。

2006年9月5日 (火) 03:06時点における版

最初に、パニックにならないでください!

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

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

別の選択肢は、あなたのために Moodle を完璧に管理するウェブホスティングを提供しているMoodle Partnerに連絡することです。あなたはインストール等に関する問題にとらわれることなく、教育に専念することができます!

システム要件

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

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

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

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

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

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

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

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

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

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


サイト構成

このセクションは読み飛ばしても安全です。しかし、より深い理解のための、Moodle フォルダ構成に関する簡単な概要を記します:

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

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

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

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

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

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

一般ウェブサーバ設定

最初に、あなたのウェブサーバで 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

データベースの作成

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

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

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

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

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

MySQL の Unix コマンドラインの例です ( 赤い部分は、Moodle 1.6 およびそれ以上で使用します。Moodle 1.5.x またはそれ以前では除外してください。):

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

あなたが MySQL 4.0.2 またはそれ以上を使用している場合、GRANT 命令文と共に CREATE TEMPORARY TABLES 命令文を指定する必要があります:

  > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,
          DROP,INDEX,ALTER ON moodle.* 
          TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; 

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

  # su - postgres
  > psql -c "create user moodleuser createdb;" template1
  > psql -c "create database moodle with encoding 'unicode';" -U moodleuser template1
  > psql -c "alter user moodleuser nocreatedb;" template1
  > psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1
  > su - root
  # /etc/init.d/postgresql reload

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

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

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

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

deny from all

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

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

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

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

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

前のステップで 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 に関する次のセクションをご覧ください ) 。

cron の設定

いくつかの 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!」を押して保存せずに終了します。

新しいコースの作成

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

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

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

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

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

コース作成に関する詳細は教師ドキュメントをご覧ください。

Happy exploring and happy Moodling!