追加のプラグインをインストールする理由
プラグインを使用すると、新しい活動、新しい小テストの問題タイプ、新しいレポート、他のシステムとの統合など、さまざまな機能をMoodleに追加できます。
注:MoodleCloudなど一部のホスティングソリューションでは、Moodle内からプラグインをインストールすることはできません。
サイトに最適なプラグインの選択
プラグインは、本番サイトで使用する前に、本番以外の環境でインストールしてテストしてください。
Moodleマーケットプレイスでプラグインを選ぶときは:
- 使用しているMoodleバージョンに対応しているか確認します
- 説明、ドキュメント、インストール要件を確認します
- 最終更新日と、活発にメンテナンスされているように見えるかどうかを確認します
- サポート情報を確認します
- 外部サービス、ライセンス、追加料金が必要かどうかを確認します
- プラグインのページに表示されているアワード(Privacy friendlyアワードやMobile appアワードなど)を確認します
学校教育向けのプラグイン
さまざまな学校環境(4~18歳)向けには、次のプラグインを検討してください:
大学教育向けのプラグイン
大学向けには、大学による/大学向けのプラグインの一覧と専門分野別のプラグインへのリンクがあり、検討する価値があるかもしれません。
本番サイトに関する考慮事項(Moodleを試しているだけの場合は読み飛ばしてください)
非常に重要!
ディレクトリ内の一部のプラグインは、品質やMoodleサイトへの適合性についてレビューされていません。プラグインが期待どおりに動作しない場合があり、まれにセキュリティ上の問題を引き起こす可能性もあるため、インストールする際は慎重に判断してください。この状況は、Moodleマーケットプレイスの発展とともに改善されつつあります。
- 本番用の大規模なサイトを運用している場合は、そのプラグインが本当に必要かどうか検討してください。機能が増えるほど、サポートすべきこと、(潜在的に)問題が起こりうること、アップグレード時に気をつけるべきことが増えます。
- そのプラグインはサポートされ、メンテナンスされていますか?問題が起きたときにサポートを受けられますか?バグは修正されますか?
- Moodleの将来のバージョンでプラグインが動作しなくなった場合、どう対処しますか?
- インストール手順でMoodleのコアファイルを手動で変更または置き換えるよう求めるプラグインには注意してください。これは標準的な方法ではありません。また、Moodleの通常のプラグイン構造を迂回するため、将来のMoodleのアップグレード後も機能し続ける保証はありません。
- こちらのフォーラムスレッドとこちらのフォーラムスレッドもご覧ください。どちらも、プラグインのインストールを心配するユーザの例を取り上げています。
プラグインのインストール
プラグインをインストールするには、そのソースコードをMoodleのインストールディレクトリ内の適切な場所に配置(デプロイ)し、メインの管理ページサイト管理 > 通知にアクセスする必要があります。プラグインは、次の方法でデプロイできます:
- Moodleの管理インタフェースからプラグインのZIPファイルをアップロードする
- MoodleサイトがComposerで管理されている場合は、互換性のあるプラグインをComposerでインストールする
- プラグインのファイルをサーバに手動でコピーする
管理インタフェースからZIPファイルをアップロードするには、ウェブサーバプロセスが該当するプラグインタイプのディレクトリへの書き込みアクセス権を持っている必要があります。
Composer(Packagist)によるプラグインのインストール
MoodleサイトがComposerで管理されている場合は、互換性のあるプラグインをPackagistから直接インストールできます。
始める前に
- サイトがComposerで管理されていることを確認します。
- プロジェクトが本番用の依存関係として`moodle/composer-installer`を必要としていることを確認します。
- 対象のプラグインがPackagistで公開されており、正しいMoodle Composerメタデータを宣言していることを確認します。
プラグインをインストールする
プロジェクトのルートで:
composer require abgreeve/moodle-block_stash
その後、求められた場合は、Moodleのアップグレード処理を完了します。
プラグインを更新する
composer update abgreeve/moodle-block_stash
プラグインを削除する
composer remove abgreeve/moodle-block_stash
削除後、必要に応じて、Moodleのアンインストールまたはアップグレードの手順を完了します。
Composerで管理されているサイトでの推奨事項
- `composer.json`と`composer.lock`への変更は、一緒にコミットします。
- プラグインの変更は、まず本番以外の環境でテストします。
- 状態の食い違い(ドリフト)を避けるため、各プラグインのインストール方法は1つに統一します。
注記
- この方法は、Composerで管理されていないMoodleサイトには適用されません。
- プラグインがPackagistにない場合、またはComposerに対応していない場合は、このページの他の箇所で説明している標準のインストール方法を使用してください。
ZIPファイルのアップロードによるインストール
- Moodleマーケットプレイスにアクセスしてログインし、現在のMoodleバージョンを選択して、適切なバージョンのプラグインをZIPファイルとしてダウンロードします。
- 管理者としてMoodleサイトにログインし、サイト管理 > プラグイン > プラグインをインストールするに移動します。(a)このページでは、2つのオプションを選択できます。1つは「Moodleプラグインディレクトリからプラグインをインストールする」ボタンです。以前はこのボタンでプラグインを直接インストールしていましたが、この直接インストールの流れはMoodleマーケットプレイスの開始とともに終了しました。そのため現在は、このボタンをクリックすると、代わりにMoodleマーケットプレイスへのリンクがある一時的なページに移動します。リンクをクリックしてマーケットプレイスにログインし、目的のプラグインを見つけて、ZIPファイルをダウンロードします。(b)このページの2つ目のオプション(上記のボタンをクリックしていない場合)では、以前にダウンロードしたZIPファイルをアップロードできます。
- ZIPファイルをアップロードします。追加の詳細(「さらに表示する」セクション内)の入力を求められるのは、プラグインのインストール先が自動的に検出されない場合だけです。
- インストール先のディレクトリが書き込み可能でない場合は、警告メッセージが表示されます。
- プラグインの検証レポートを確認します。
サーバへの手動インストール
管理用のウェブインタフェースからプラグインのコードをデプロイできない場合(たとえば、ウェブサーバプロセスがMoodleのインストールツリーへの書き込みアクセス権を持たず、デプロイを自動で行えない場合)は、サーバのファイルシステムに手動でコピーする必要があります。
まず、Moodleのコードツリー内で、そのプラグインタイプの正しい場所を確認します。一般的な場所は次のとおりです:
- /path/to/moodle/theme/ - テーマ
- /path/to/moodle/mod/ - 活動モジュールおよびリソース
- /path/to/moodle/blocks/ - サイドバーブロック
- /path/to/moodle/question/type/ - 問題タイプ
- /path/to/moodle/question/behaviour/ - 問題動作
- /path/to/moodle/course/format/ - コースフォーマット
- /path/to/moodle/admin/report/ - 管理レポート
すべてのプラグインタイプと、Moodleツリー内でのそれぞれの場所の完全な一覧については、プラグインタイプをご覧ください。
- Moodleプラグインディレクトリにアクセスし、現在のMoodleバージョンを選択してから、ダウンロードボタンのあるプラグインを選び、ZIPファイルをダウンロードします。
- それをMoodleサーバにアップロードまたはコピーします。
- プラグインタイプに応じた正しい場所で展開します(またはプラグインの指示に従います)。
- Moodleサイトで(管理者として)サイト管理 > 通知に移動します(ほとんどのプラグインタイプでは、プラグインがインストールされたことを示すメッセージが表示されるはずです)。
注:プラグインには言語ファイルが含まれている場合があります。言語ファイルはMoodleによって自動的に検出されます。これらの言語ストリングは、標準のサイト管理 > 言語設定の編集インタフェースを使用してカスタマイズできます。言語ファイルを編集しようとしたときに「データベースエラー」が発生する場合は、ダウンロードしたこのプラグインのZIPファイルに含まれる言語ファイルに、コーディング上の問題がある可能性が高いです。新しい言語ストリングを含むplugin_name/lang/other_language_different_to_English/フォルダを削除してデータベースエラーが解消されれば、原因はこの言語ファイルにあると判断できます。今後のリリースで修正されるよう、プラグインのメンテナにお知らせください。
トラブルシューティング
エラー
エラーが発生した場合は、デバッグを有効にして、エラーの原因に関する追加情報を取得してください。
- 言語のカスタマイズ中のデータベースエラー
- 言語カスタマイゼーション自体の問題ではなく、最近インストールしたプラグインの問題である可能性があります。
- tool_installaddon/err_curl_exec - cURL error 60
- リモート(moodle.org)サイトのSSL証明書の検証に問題があることを示しています。これは、Windows用のMoodleパッケージを実行しているWindows 7のMoodleサーバにおける既知の問題でもあります。詳細と考えられる解決策については、moodle.orgのSSL証明書をご覧ください。
ファイルパーミッションのエラーが発生しました
一部の3.0.xバージョンでは、管理インタフェースからプラグインをインストールする際に、Moodleは設定$CFG->directorypermissionsおよび$CFG->filepermissionsを使用します。config.phpでこれらが明示的に定義されていない場合は、デフォルト値として、ディレクトリには777(rwxrwxrwx)、ファイルには666(rw-rw-rw-)が自動的に設定されます(lib/setup.phpを参照)。
このデフォルトの動作がニーズやホスティング環境に合わない場合は、次のような、より厳しい設定を指定するとよいでしょう。
$CFG->directorypermissions = 02750;
プラグインのインストール後によくあるエラーとして、モジュールのインスタンスを作成して保存し、表示すると、「ファイルパーミッションのエラーが発生しました。スクリプトおよびスクリプトがあるディレクトリのパーミッションを確認して、もう一度お試しください。」というエラーが表示されることがあります。このエラーが表示される場合、パッケージのファイルパーミッションが711に設定されているため、正しく実行できなくなっている可能性が高いです。使い慣れたFTPクライアントまたはウェブホストのコントロールパネルを使用して、インストールしたモジュール(例:/moodle/mod/[myplugin]/)内のすべてのファイルとディレクトリのファイルパーミッションを755に設定し、モジュールのインスタンスを正常に表示できるか確認してください。
Default exception handler: Error writing to database Debug: Duplicate entry 'en_us-...
- これらのエラーは通常、サードパーティのプラグインが原因です。
- 関係するプラグインを見つけるには、http://lang.moodle.orgにアクセスし、AMOSツールを使用して、該当するストリング識別子を持つすべてのストリングを検索します。
- 疑わしいプラグインを削除し、エラーが解消されたか確認します。解消された場合は、プラグインのメンテナに連絡して、この問題を報告してください。
- 既知の原因と修正方法については、こちらのフォーラムスレッドをご覧ください。
手動でインストールする場合
- ファイルのパーミッションを確認します。ウェブサーバがプラグインのファイルを読み取れる必要があります。Moodleの他の部分が動作している場合は、プラグインのパーミッションと所有者をそれに合わせてみてください。
- プラグインを確実に正しい場所に展開またはインストールしましたか?
- Moodleは新しいプラグインを探すためにプラグインフォルダをスキャンするので、そこに他のファイルやフォルダを置くことはできません。ZIPファイルは必ず削除してください。また、(たとえば)古いバージョンのプラグインを別の名前に変更して残そうとしないでください。動作しなくなります。
- プラグインのディレクトリ名が正しいことを確認します。すべての名前が一致しなければなりません。名前を変更すると動作しません。
ヘルプを得る
Moodle in Englishのフォーラムで質問してください。システム(MySQL、PHPなどのバージョンを含む)、試したこと、起きたことを必ず説明してください。エラーメッセージは正確にコピー&ペーストしてください。ダウンロードしたプラグインのバージョンへのリンクを記載してください(よく似た名前のプラグインもあります)。
プラグインのアンインストール
プラグインをアンインストールするには:
- サイト管理 > プラグイン > プラグイン概要に移動し、削除したいプラグインの横にある「アンインストール」リンクをクリックします
- 指示に従って、ファイルマネージャを使用して実際のプラグインディレクトリを削除します。そうしないと、次にサイト管理にアクセスしたときに、Moodleがプラグインを再インストールします
プラグイン概要

サイト管理 > プラグイン > プラグイン概要の「プラグイン概要」ページには、インストールされているすべてのプラグインが、バージョン番号、リリース、利用状況(有効または無効)、設定リンク(該当する場合)とともに一覧表示されます。
「利用可能な更新をチェックする」ボタンを使用すると、管理者は、サイトにインストールされているプラグインに利用可能な更新があるかどうかを(Moodleマーケットプレイスから)すばやくチェックできます。利用可能な更新は強調表示され、プラグインの横の「ノート」欄に詳細情報とダウンロードリンクが表示されます。
Moodle内からのプラグインの更新
管理者は、サイト管理 > サーバ > 更新通知で更新の適用を有効にできます。すると、更新が利用可能な場合に、「プラグイン概要」ページに「この更新をインストールする」ボタンが表示されます。詳しくは、自動更新の適用をご覧ください。
Moodle内からプラグインをインストールできないようにする
必要に応じて、config-dist.phpから次のコード行をコピーしてconfig.phpに貼り付けることで、Moodle内からのインストールと更新を防止できます。
// Use the following flag to completely disable the installation of plugins
// (new plugins, available updates and missing dependencies) and related
// features (such as cancelling the plugin installation or upgrade) via the
// server administration web interface.
$CFG->disableupdateautodeploy = true;
関連項目
- 通知(更新通知の詳細)
- プラグインのレビュー基準
- プラグインFAQ
- Moodle in EnglishのGeneral plugins forum
- Gitリポジトリからのサードパーティの拡張機能のインストール
開発者向け:

