このページでは、Moodleのインストール方法を説明します。熟練者の方や急いでいる方は、インストールクイックガイドをお試しください。
Moodleのインストールを完全に自分で行うことを避けたい場合は、MoodleによるホスティングであるMoodleCloudをご検討ください。
要件
Moodleは主に、Linux上でApache、PostgreSQL/MySQL/MariaDBおよびPHPを使用して開発されています(LAMPプラットフォームとも呼ばれます)。通常、Moodleもこの構成で運用されますが、リリースのソフトウェア要件を満たしていれば、他の選択肢(Nginx/OpenLiteSpeed)もあります。
WindowsサーバにMoodleをインストールする場合、php5.5以降では、Visual Studio 2012用Visual C++再頒布可能パッケージを次の場所からインストールする必要もあることに注意してください: http://www.microsoft.com/en-us/download/details.aspx?id=30679 Visual C++](x86またはx64)。
Moodleの基本的な要件は次のとおりです:
ハードウェア
- ディスク容量:Moodleのコード用に200MB、さらにコンテンツの保存に必要なだけの容量。現実的な最小値は、おそらく5GBです。
- プロセッサ:1 GHz(最小)、2 GHzデュアルコア以上を推奨します。
- メモリ:512MB(最小)、1GB以上を推奨します。大規模な本番サーバでは、8GB以上になるでしょう。
- ウェブの「フロントエンド」とデータベースに別々のサーバを使用することを検討してください。「チューニング」がはるかに容易になります
上記の要件はすべて、ハードウェアとソフトウェアの具体的な組み合わせ、および利用の種類と負荷によって異なります。利用の多いサイトでは、さらに多くのリソースが必要になることも十分にあります。詳しいガイダンスは、パフォーマンスの推奨事項にあります。Moodleは、ハードウェアを増強することで容易にスケールアップできます。
非常に大規模なサイトの場合は、小規模なパイロットから始めて、経験と知見を得るほうがはるかに良い方法です。フォーラムに「ユーザ50,000人にはどのようなハードウェアが必要ですか?」といった投稿をしても、役に立つ回答が得られる可能性は非常に低いでしょう。
ソフトウェア
ソフトウェア要件については、開発者ドキュメントのリリースノートをご覧ください。
サーバのセットアップ
Moodleサーバは、デスクトップPC(テストや評価用など)から、ラックマウント型やクラスタ化されたソリューション、クラウドVMやその他のホスティングソリューションまで、どのようなものでもかまいません。上記のとおり、基本的なサーバソフトウェアのインストールにはさまざまな方法があります。詳細については、次をご覧ください:
Moodleルータの設定の手順にも目を通してください。
さらに、Moodle 5.1から、Moodleはウェブからアクセス可能なすべてのファイルにpublicディレクトリを使用するようになりました。ウェブサーバは、このディレクトリからファイルを配信するように設定する必要があります。設定の更新に関するガイダンスについては、「アップグレード」ページのコードディレクトリの再構成セクションで詳細をご覧ください。
どのような構成を選択する場合でも、ソフトウェアスタックのさまざまな部分(HTTPデーモン、データベース、PHPなど)の設定方法を時間をかけて理解しておくと、非常に役立ちます。標準のサーバ設定がMoodleに最適であるとは考えないでください。たとえば、Moodleの性能を最大限に引き出すには、ウェブサーバとデータベースサーバのチューニングがほぼ確実に必要になります。
どのパッケージを使用すべきかわからない場合は(例:MariaDBかMySQLか)、インターネット上での一般的な見解を調べるとともに、パフォーマンスの推奨事項ページもご覧ください。このページは、具体的にどの程度の作業が必要になるか、ワークフローが最終的にどのようなものになりそうかを把握し、その面についても計画を立てるのに役立つでしょう。
ホスティング業者を利用する場合は、インストールを試みる前に、Moodleのすべての要件(PHPやデータベースのバージョンなど)がホスティングプラットフォームで満たされていることを確認してください。提供されるオプションやツールはさまざまであるため、ホスティング業者のプラットフォームで設定(PHPのファイルアップロードの上限など)を変更する方法に慣れておくと役立ちます。
ファイルのダウンロードと配置
重要:現在では、Moodleのコードを入手できる場所が数多くありますが(ホスティング業者が提供するMoodleインストーラを含む)、Moodleはmoodle.orgからのみ入手することを強くお勧めします。問題が発生した場合に、はるかに簡単にサポートを受けられます。
方法は2つあります:
- 必要なバージョンを http://moodle.org/downloads からダウンロードし、unzip/展開します。
- または、Gitリポジトリからコードをプルします(開発者に推奨され、アップグレードも非常に簡単になります):
$ git clone -b MOODLE_503_STABLE git://git.moodle.org/moodle.git
詳しい説明については、管理者向けGitをご覧ください。
どちらの方法でも、多数のファイルとディレクトリを含むmoodleという名前のディレクトリができます。通常、このフォルダはウェブルートの中または外に配置するか、moodleの中身をウェブルート内に配置できます。
サーバのウェブからアクセス可能なディレクトリ(DocumentRootとも呼ばれます)がpublic_htmlであると仮定します。また、moodleのコードディレクトリの名前はデフォルトのmoodleであるとします。Moodleディレクトリまたはその中身の配置場所には、3つの選択肢があります。
- moodleディレクトリの中身全体をpublic_htmlの中に置くことができます。この場合、通常はwww.example.comでMoodleにアクセスできるようになります。この方法をとる人は、ウェブサイト全体をMoodle専用にしていることが多いです。これは、専用サーバではある程度一般的な方法です。ただし、Moodle 5.1以降では、いくつかのセキュリティ要件を満たす必要があります。
- Moodle 5.1より前は、moodleディレクトリをpublic_htmlの中に置くのが一般的でした(例:public_html/moodle)。これにより、www.example.com/moodleでMoodleに簡単にアクセスでき、他のファイルやフォルダも配信できます。5.1より前の古いバージョンのMoodleをインストールする場合は、この方法でも問題ありません。ただし、Moodle 5.1からは、セキュリティ上の懸念を満たすため、この方法はもう推奨されません。
- Moodleのコードをmoodleディレクトリに置いたままにしたい場合は、moodleディレクトリをpublic_htmlの外に置くことをお勧めします(例:moodle/public_html)。その上で、さまざまな手法を適用してMoodleアプリケーションを配信し、www.example.com/moodleでMoodleにアクセスできるようにしつつ、セキュリティ上の懸念を満たすことができます。5.1より前の古いバージョンのMoodleをインストールする場合も、Moodle 5.1のセキュリティ推奨事項に従ってmoodleディレクトリをpublc_htmlの外に置く方法は有効です。ただし、以前はあまり行われていませんでした。
publicフォルダを設定するためのいくつかの方法
1. moodleのコードがpublic_htmlの中にある場合は、次の方法があります:
- サーバのDocumentRootがMoodleのpublicディレクトリを指すように再設定する。
- publicディレクトリがウェブからアクセス可能なフォルダになるように、Apacheの設定ファイルを再設定する
- ルータ方式を使用する
2. moodleディレクトリがpublic_htmlディレクトリの中にある場合は、次の方法があります:
- サーバのDocumentRootをMoodleのpublicディレクトリに再設定する。
3. moodleディレクトリがpublic_htmlの外にある場合は、次の方法があります:
- Moodleのpublicディレクトリの場所を指すシンボリックリンクファイルを作成し、public_htmlの中に置く。このシンボリックリンクファイルを作成する一般的な形式は次のとおりです:
ln -fs path_to/public symbolic_link_name (e.g., ln -fs ~/mdl_sites/moodle/public ~/public_html/moodle).
注:このシンボリックリンクの方法は、moodleディレクトリがpublic_htmlの中にある場合にも機能しますが、セキュリティ上の意図は満たしません。
選択肢がよくわからない場合は、システムまたはウェブサーバのドキュメントを参照してください。Moodle.orgでのディスカッションも役立つことがあります。
- ヒント:Moodleをローカルコンピュータにダウンロードしてから、ホスティングされたウェブサイトにアップロードする場合は、通常、Moodleの圧縮ファイルをアップロードしてから、ホスティングされたウェブサイト上で展開するほうがよいでしょう。ローカルコンピュータ上でMoodleを展開すると、Moodleは25,000以上のファイルで構成されているため、FTPクライアントやホストの「ファイルマネージャ」を使用して25,000以上のファイルをアップロードしようとした際に、ファイルが抜け落ちてエラーの原因になることがあります。
- Moodleファイルの保護:ウェブサーバのユーザがファイルに書き込めないようにすることが不可欠です。たとえば、Unix/Linuxでは(rootとして)次のようにします:
chown -R root /path/to/moodle chmod -R 0755 /path/to/moodle
(ファイルは管理者/スーパーユーザが所有し、管理者/スーパーユーザのみが書き込めます。その他のユーザは読み取りのみ可能です)
テストサイトや開発サイトでは、組み込みのプラグインインストーラを使用するために、ファイルを書き込み可能にしたい場合があるかもしれません。本番サイトでは推奨されません(少なくとも、そうした場合はより安全な設定に戻してください)。
Linuxウェブサーバでのディレクトリのパーミッションの設定に関する次のリンクも参考になるでしょう:Linuxサーバ上のウェブサイトに適したフォルダのパーミッション。
Composerの依存関係のインストール
Moodleは、Composerを使用して一部のサードパーティライブラリをインストールできます。Moodle 5.3では、OAuth 2サーバなどの新機能を除き、Composerは任意です。Moodle 6.0からは必須になります。
依存関係をインストールするには、Moodleのコードへの書き込みアクセス権を持つユーザとして、Moodleのルートディレクトリで次のコマンドを実行します:
composer install --no-dev --classmap-authoritative
サーバにComposerがインストールされていない場合は、ComposerのドキュメントのComposerのインストール方法をご覧ください。
空のデータベースの作成
次に、インストール用の新しい空のデータベースを作成します。インストールの最終段階で使用するため、次の情報を確認して控えておく必要があります:
- dbhost - データベースサーバのホスト名。データベースとウェブサーバが同じマシンの場合はおそらくlocalhost、それ以外の場合はデータベースサーバの名前です
- dbname - データベース名。付けた名前です(例:moodle)
- dbuser - データベースのユーザ名。割り当てた名前です(例:moodleuser)。root/スーパーユーザのアカウントは使用しないでください。必要最小限のパーミッションを持つ適切なアカウントを作成してください。
- dbpass - 上記ユーザのパスワード
データベースの照合順序は、適切な設定(例:utf8mb4_unicode_ci)にする必要があります。
サイトがホスティングされている場合は、コントロールパネルの一部として、データベース用のウェブベースの管理ページがあるはずです(または管理者に問い合わせてください)。それ以外の場合や詳しい手順については、選択したデータベースサーバのページをご覧ください:
データディレクトリ(moodledata/)の作成
Moodleには、すべてのファイル(サイトにアップロードされたすべてのファイル、一時データ、キャッシュ、セッションデータなど)を保存するためのディレクトリが必要です。ウェブサーバがこのディレクトリに書き込めるようにする必要があります。大規模なシステムでは、このディレクトリを割り当てる際に、どの程度の空き容量を使用することになるかを検討してください。
Moodleのデフォルトのデータキャッシュ方法のため、このディレクトリに比較的低速なストレージ(NFSなど)を使用すると、深刻なパフォーマンスの問題が発生する可能性があります。パフォーマンスの推奨事項をよくお読みになり、キャッシングに(たとえば)redisやmemcachedを使用することを検討してください。
重要:このディレクトリは、ウェブからアクセス可能な領域(例:public_html/moodledata/)の中に置いてはいけません。これは重大なセキュリティリスクになります。代わりに、ウェブルートの外(例:moodledata/public_html/)に置いてください。
システムによっては、Moodleのインストール時にmoodledataフォルダが自動的に作成される場合があります。ただし、手動で作成することをお勧めします。次は、ディレクトリを作成し、サーバ上の誰でも書き込めるようにパーミッションを設定する例(Unix/Linux)です。これは、共有されていないMoodleサーバにのみ適しています。ウェブサーバのユーザだけがこれらのファイルにアクセスできる、より適切なパーミッションについては、サーバ管理者と相談してください。
# mkdir /path/to/moodledata # chmod 0777 /path/to/moodledata
ウェブディレクトリ内のmoodledataの保護
ホスティングされたサイトを使用していて、「moodledata」をウェブからアクセス可能なディレクトリに置くしかない場合は、「moodledata」ディレクトリに.htaccessファイルを作成することで保護できることがあります。これはすべてのシステムで機能するわけではありません。ホストまたは管理者に確認してください。次の行のみを含む.htaccessという名前のファイルを作成します:
Apache 2.2
order deny,allow deny from all
Apache 2.4
Require all denied
Moodleのインストールの開始
いよいよインストーラを実行して、データベーステーブルを作成し、新しいサイトを設定します。推奨される方法は、コマンドラインインストーラを使用することです。何らかの理由でこれができない場合(例:Windowsサーバの場合)は、ウェブベースのインストーラも引き続き利用できます。
コマンドラインインストーラ
コマンドラインは、システムのウェブユーザとして実行するのが最適です。それが何であるかを知っておく必要があります。システムのドキュメントを参照してください(例:Ubuntu/Debianでは「www-data」、Centosでは「apache」です)。
- コマンドラインの使用例(rootとして。「www-data」は実際のウェブユーザに置き換えてください):
# chown www-data /path/to/moodle # cd /path/to/moodle/admin/cli # sudo -u www-data /usr/bin/php install.php # chown -R root /path/to/moodle
chownにより、スクリプトが新しいconfig.phpファイルを書き込めるようになります。オプションの詳細は、次のコマンドで確認できます:
# php install.php --help
このページで説明していない他の設定についても尋ねられます。よくわからない場合は、デフォルトのままにしてください。詳しい説明については、コマンドラインによる管理をご覧ください。
ウェブベースのインストーラ
手軽に、ウェブ経由でMoodleをインストールすることもできます。インストールが完了するまで、そのページに一般からアクセスできないようにウェブサーバを設定することをお勧めします。
ウェブインストーラのスクリプトを実行するには、ウェブブラウザでMoodleのメインURL(例:www.example.com/moodle)にアクセスするだけです。
インストールプロセスでは、いくつかのページが順に表示されます。著作権の確認、作成されるデータベーステーブルの確認、管理者アカウントの詳細の入力、サイトの詳細の入力を求められます。データベースの作成には時間がかかることがあります。しばらくお待ちください。最終的に、新しいコースの作成を促すメッセージとともにMoodleのサイトホームが表示されます。
新しいconfig.phpファイルをダウンロードしてMoodleのインストール先にアップロードするよう求められた場合は、画面の指示に従ってください。
PleskおよびcPanel
Moodleベースのトレーニング用ウェブサイトを含む複数のウェブサイトを管理するために、UbuntuサーバにPleskをインストールするには、次の手順に従ってください:
1. SSHでサーバに接続します。
2. リポジトリを管理するために、software-properties-commonパッケージをインストールします:
apt-get install software-properties-common
3. PPAリポジトリを追加します:
add-apt-repository ppa:ondrej/php
4. PHP 7.2をインストールします:
apt -y install php7.2
5. 必要なPHPモジュールをインストールします(例):
apt install -y php7.2-{bcmath,bz2,cli,common,curl,dev,fpm,gd,gmp,imagick,imap,intl,json,mbstring,mysql,opcache,soap,ssh2,xml,xmlrpc,zip}
6. PleskにPHPハンドラを登録します:
plesk bin php_handler --add -displayname php72-fpm-custom -path /usr/sbin/php-fpm7.2 -phpini /etc/php/7.2/fpm/php.ini -type fpm -id php72-fpm-custom -clipath /usr/bin/php -service php7.2-fpm -poold /etc/php/7.2/fpm/pool.d
Apache、MariaDB/MySQL、PHPおよびその他の必要なコンポーネントのインストールは、Pleskが処理します。その後、Moodleのドキュメントに従ってMoodleのインストールを進めることができます。
最終設定
Moodle内の設定
Moodleのサイト管理画面(Classicテーマでは「管理」ブロックの「サイト管理」タブから、Boostではナビゲーションバーの「サイト管理」ボタンからアクセスできます)には、多くのオプションがあります。確認しておきたい、より重要なものをいくつか次に示します:
- 管理 > サイト管理 > サーバ > メール > 送信メール設定:SMTPサーバと、必要に応じて認証を設定します(Moodleサイトがメールを送信できるようにするため)。このページでは、noreplyメールアドレスも設定できます。
- 管理 > サイト管理 > サーバ > サーバ > サポート連絡先。サポート連絡先のメールアドレスを設定します。
- 管理 > サイト管理 > サーバ > システムパス:du、dotおよびaspellのバイナリへのパスを設定します。
- 管理 > サイト管理 > サーバ > HTTP:ファイアウォールの内側にある場合は、「ウェブプロキシ」セクションでプロキシの認証情報を設定する必要があるかもしれません。
- 管理 > サイト管理 > ロケーション > タイムゾーンを更新する:これを実行して、タイムゾーン情報を最新の状態にしてください。(詳細はロケーションをご覧ください)
- php.ini内でサーバのローカルタイムゾーンを設定します(基盤となるOSに応じて、おそらく/etc/php.iniまたは/etc/php.d/date.ini内にあるはずです):
[Date]
; Defines the default timezone used by the date functions
date.timezone = "YOUR LOCAL TIMEZONE"
残りのタスク
- cronの設定:Moodleのバックグラウンドタスク(フォーラムメールの送信やコースバックアップの実行など)は、1日の特定の時刻に実行するように設定できるスクリプトによって実行されます。これはcronスクリプトと呼ばれます。cronの説明を参照してください。
- バックアップの設定:サイトのバックアップおよび自動コースバックアップをご覧ください。
- Moodleサイトの保護:セキュリティの推奨事項をお読みください。また、サイト管理 > レポート > セキュリティチェックの「セキュリティチェック」セクションもご覧ください。
- 最大アップロードサイズの引き上げ インストールFAQの「アップロードファイルの最大サイズ - 変更するには?」をご覧ください。
- メールの動作確認:サイト管理 > サーバ > 送信メール設定をテストするで、リンクを使用して自分宛てにテストメールを送信します。この手順を省略したくなっても、省略しないでください。
インストール完了 :)
- 新しいコースの作成:これで、ウェブブラウザから(インストールプロセス中に設定したものと同じURLを使用して)Moodleにアクセスし、管理者ユーザとしてログインして、新しいコースを作成できます。新しいコースの作成をご覧ください。
- サイトが稼働したら、時間のあるときにパフォーマンスの推奨事項に目を通し、サイトのパフォーマンスを最大限に高める方法を検討してください。
問題が発生した場合...
次のことを試してください...
- インストールFAQを確認します
- ファイルのパーミッションを慎重に確認します。ウェブサーバはMoodleのプログラムファイルを読み取れる(ただし書き込めない)ようになっていますか?ウェブサーバはMoodleのデータディレクトリを読み書きできますか?使用しているオペレーティングシステムでファイルの所有権とパーミッションがどのように機能するかを十分に理解していない場合は、時間をかけて調べることが非常に有益です。
- データベースのパーミッションを確認します。データベースユーザに、構成に合った正しい権利およびパーミッションを設定しましたか(特に、ウェブサーバとデータベースサーバが別のマシンの場合)?
- 設定ファイル(config.php)を手動で作成します。config-dist.php(Moodleプログラムディレクトリのルートにあります)をconfig.phpにコピーして編集し、データベース/サイトのオプションを設定します。インストールは正しい箇所から続行されます。
- config.phpを用意したら(前のヒントを参照)、それを編集してデバッグを有効にできます(セクション8)。これにより、問題の原因を突き止めるのに役立つ追加情報が得られることがあります。アクセスできる場合は、ウェブサーバのエラーログを確認してください。
- php.ini / .htaccessの設定を再確認します。設定は適切ですか(例:memory_limit)?正しいphp.ini / .htaccessファイルを編集しましたか?(必要な場合)変更後にウェブサーバを再起動しましたか?
- インストールスクリプトを開始する前に、コア以外の(任意の)プラグイン、テーマまたはその他のコードを含めましたか?含めた場合は、それらを削除してからもう一度試してください(壊れているか、互換性がない可能性があります)。
- Installation problemsフォーラムで問題を説明してください。使用しているソフトウェアのバージョンを必ず記載し、何をしたか、何が起こったか、どのようなエラーメッセージが表示されたか(あれば)を説明し、試したことを説明してください。「何も起こらない」ということはありません。空白のページも1つの結果です!
プラットフォーム別の手順
注:この情報の多くは、コミュニティによって提供されています。確認されていなかったり、古くなっていたりする可能性があります。上記のインストール手順と併せてお読みください。