# 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メインURLにアクセスしてください。または、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

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

### 7. 新しいコースの作成

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

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

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

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

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

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

> Happy exploring and happy Moodling!

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

Moodle文書

Version: $Id$