# Moodleのインストール

> このガイドは最初にMoodleをインストールする方法に関して説明したものです。ウェブサーバの広範囲に渡る細かな違いをカバーするために、詳細に関して述べてある部分もあります。このことで読むのを投げ出さないでください。普段、私は数分でMoodleをインストールしていますから！

> 時間をかけてこの文書を読んでください。注意深く読むことで後の作業時間を節約することができます。

> 文書の項目:

> 1. システム必要条件
> 2. ダウンロード
> 3. サイト構成
> 4. データディレクトリの作成
> 5. データベースの作成
> 6. ウェブサーバ設定の確認
> 7. config.phpの編集
> 8. 管理ページに進む
> 9. cronの設定
> 10. 新しいコースの作成

### 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 以上):
>    - GDライブラリ 使用可、JPG及びPNGフォーマットをサポート
>    - zlibライブラリ 使用可 (Windowsでバックアップ/リストア機能を使用する場合)
>    - セッションサポート 使用可
>    - ファイルアップロード 使用可
>    - セーフモード 使用しない (セーフモードの使用によるトラブルに関してはmoodle.orgのフォーラムをご覧ください。)
> 3. 動作可能なデータベースサーバ: Moodle 1.1は、MySQL または PostgreSQLを完全にサポートしています。これらのデータベースサーバの使用を推奨します。また、将来的なリリースではその他のデータベースも完全にサポートされる予定です。

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

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

### 2. Download

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

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

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

### 3. サイト構成

> より深い理解のための、Moodleフォルダ構成に関する概要説明です:

> > config-dist.php | - | このファイルをコピーしてconfig.phpという名称で保存してください。 インストール時に編集する必要のある唯一のファイルです。
> > version.php | - | Moodleコードの現バージョンを定義しています。
> > index.php | - | Moodleサイトの表紙です。

> > - admin/ - 全サーバを管理するコードです。
> > - auth/ - ユーザ認証のためのプラグインモジュールです。
> > - course/ - コースを表示・管理するためのコードです。
> > - doc/ - Moodleのヘルプドキュメントです(例 このページ)。
> > - files/ - ファイルを表示・アップロードするためのコードです。
> > - lang/ - 異なる言語の言語ファイルです。1つのディレクトリに1つの言語が入っています。
> > - lib/ - Moodleコードのコードライブラリです。
> > - login/ - ログインとアカウント作成を行うためのコードです。
> > - mod/ - Moodleコースモジュールの全コードです。
> > - pix/ - Moodleサイトに使われる一般的なイメージファイルです。
> > - theme/ - Moodleサイトのデザインを変更するためのテーマ/スキンです。
> > - user/ - ユーザを表示・管理するためのコードです。

### 4. データディレクトリの作成

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

> この目的のために、ディレクトリを作成してください。セキュリティ上の理由で、ウェブ経由のアクセスができないディレクトリが良いでしょう。最も簡単な方法はウェブディレクトリの外にこのディレクトリを置くことです。または、データディレクトリの中に下記の行を含む.htaccessと呼ばれるファイルを作成することで、ディレクトリを保護することができます。

> >     deny from all

> Moodleがアップロードファイルをこのディレクトリに書き込めるように、ウェブサーバソフトウェア(例 Apache)がこのディレクトリに書き込む許可を行っていることを確認してください。Unixマシンではディレクトリのオーナーが"nobody" または "apache"のようになっていることを意味します。

> 多くの共有サーバーでは、他の顧客があなたのファイルを閲覧したり変更するのを避けるために、あなたが属している「グループ」のアクセスを制限する必要があるでしょう。しかし、ウェブサーバがあなたのファイルにアクセスできるように全ての人に完全なread/writeアクセスを提供する必要があります。もし、確実にこの設定をすることができない場合は、あなたのサーバの管理者にお問合わせください。

### 5. データベースの作成

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

> MySQLのコマンドライン例:

>        # 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

> (MySQLの場合、データベース管理のためにphpMyAdminを使われることを強くお勧めします。)

> バージョン 1.0.8現在、Moodleはテーブル接頭辞をサポートしていますので、安全に他のアプリケーションのテーブルとデータベースを共有することができます。

### 6. ウェブサーバ設定の確認

> 最初に、あなたのウェブサーバで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    (preferred but not necessary)
> >     magic_quotes_runtime = 0    (necessary)
> >     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

### 7. config.phpの編集

> これであなたは設定ファイル、config.phpをテキストエディタで編集することができます。このファイルはMoodle内の全てのファイルで使用されます。

> まず最初にconfig-dist.phpをコピーしてconfig.phpという名称にリネームしてください。後でMoodleをアップグレードした時にconfig.phpが上書きされないように、このような作業を行います。

> あなたが定義したデータベースの詳細(テーブルプリフィックスを含む - PostgreSQLでは必須です)を明示するためにconfig.phpを編集してください。同様にサイトのアドレス、ファイルシステムのディレクトリ、データディレクトリを明示します。 この定義ファイルには詳細な説明文が含まれています。

> このインストール文書の残りの部分では、あなたのサイトが下記に位置していることを前提に説明します: http://example.com/moodle

### 8. 管理ページに進む

> 管理ページはhttp://example.com/moodle/adminで動作していることでしょう。あなたのサイトの表紙にアクセスすれば自動的に管理ページが表示されます。あなたが最初に管理ページにアクセスした時は、セットアップを続けるために同意する必要があるGPL同意書が表示されます。

> (同時にMoodleからあなたのブラウザにいくつかのcookieが設定されます。もし、ブラウザの設定でcookieを受け入れるか否か設定できるようでしたらMoodleのcookieを受け入れるようにする必要があります。そのようにしない場合、Moodleは正常に動作しません。)

> 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

> > SUCCESS

> > ...and so on, followed by: Main databases set up successfully.

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

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

> 次に、各Moodleモジュールで必要とされる全テーブルの設定内容が前ページと同様な形式で表示されます。前ページと同じように全てが緑色でなければなりません。

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

> さらに使用言語、SMTPホスト等の設定変数を定義するためのフォームが表示されます。全ての設定を正しくしなければならないと心配しないでください - 常に、前に戻って管理画面からこれらの設定を変更することができます。ページの最後までスクロールして"Save"をクリックしてください;

> もし(もし、の時だけ)このページまたは、次のページで引っ掛かって次に進めない場合、恐らくあなたのサーバには私が"buggy referrer"と呼んでいる問題があります。 これは簡単に直すことができます: config.phpを編集してbuggy_referrer変数をtrueにした後に、このページを再度表示させてください。

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

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

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

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

> 正常に終了すると、メニュー形式に並んだリンクを含んだ管理ページ(管理者としてサイトにログインするとこれらの項目が表示されます)に戻ります。全てのMoodleに関する管理は、これらのメニューを利用して下記のような管理をすることができます:

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

### 9. cronの設定

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

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

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

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

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

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

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

> #### スクリプトをコマンドラインより実行する

> コマンドラインからcron.phpを上記例のように実行させることができます。例えば「wget」のようなUnixユーティリティを利用することができます:

> >     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

> >     (Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php

> #### 自動的に5分毎にスクリプトを実行する

> Unixシステムの場合: cronを使ってください。 cron設定の編集を行うため、コマンドラインから"crontab -e"と入力して、次のように1行を追加します:

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

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

> Windowsシステムの場合: 一番簡単な方法は全ての作業を簡単に行う、私のパッケージmoodle-cron-for-windows.zipを利用することです。Windows組込みの「タスク」を試してみても良いでしょう。

> ウェブホストの場合: ウェブベースのコントロールパネルに、このcronジョブを設定できるようになっていることでしょう。詳細は管理者にお尋ねください。

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

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

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

> コースフォーマットに、十分注意しながら必要項目を入力してください。この段階では、細かな点を必要以上に心配する必要はありません。全ての設定は後で教師によって変更することができます。

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

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

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

Moodle文書

Version: $Id$