アップグレード

このページでは、Moodleをアップグレードする方法について詳しく説明します。プロセスの概要については、 アップグレードの概要を参照してください。

要件を確認する

ご使用のサーバーが、 管理>サイト管理>サーバー> 環境で3.5のすべての要件を満たしていることを確認してください。

ソフトウェア要件については、devドキュメントのリリースノートを参照してください。

ノート:

  • Moodle 3.1以降からMoodle 3.5へのアップグレードのみ可能です。以前のバージョンからアップグレードする場合は、最初のステップとして3.1にアップグレードする必要があります
  • PHPの最小バージョンが増えており、現在は7.0.0です。
  • PHPエクステンションintlがMoodle 3.4で必要になりました(以前はそれだけが推奨されていました)。

アップグレードする前に

本番サイトのCOPYで最初にアップグレードをテストして、期待通りに機能することを確認することをお勧めします。

サイトのアップグレードキーを設定することを検討してください。

重要なデータをバックアップする

アップグレードの前にバックアップする必要がある3つの領域があります。

  1. Moodleソフトウェア(たとえば、server / htdocs / moodle内のすべてのもの)
  2. Moodleがアップロードしたファイル(例:server / moodledata)
  3. Moodleデータベース(あなたのPostgresやMySQLデータベースのダンプなど)

より具体的な情報については、 サイトのバックアップを参照してください。

プラグインのアップデートを確認する

自動更新の展開を有効にしている場合は、アップグレード中にインストール済みのプラグインを自動的に更新できます。利用可能なアップデートがあるかどうかは、プラグインのチェック画面で確認してください(ボタンで)。

手動でプラグインを更新している場合は、サイトに以前にインストールしたプラグイン(テーマを含む)に利用可能な3.5バージョンがあるかどうか、 Moodleプラグインディレクトリをチェックするのが良いでしょう。もしそうなら、プラグインパッケージをダウンロードしてください。次のステップで、あなたはそれをあなたのMoodleコードの適切な場所にコピーします( プラグインのインストールをご覧ください)。

プラグインのアップグレードはMoodleアップグレードプロセスの一部として行われます。

古いプラグインが原因でアップグレードが失敗した場合は、プラグインコードをMoodle内からアンインストールするのではなく削除して、関連付けられているデータが削除されないようにすることができます。

サイトをメンテナンスモードにします

あなたのサイトをアップグレードし始める前に、それをメンテナンスモードにして管理者以外のユーザがログインするのを止めるべきです。それから続行する前に現在実行中のcronプロセスが完了するのを待つべきです。

新しいMoodleソフトウェアをインストールする

現在のバージョンのソフトウェアを取得することができます。

wget https://sourceforge.net/projects/moodle/files/Moodle/stable35/moodle-latest-35.tgz

標準インストールパッケージ

  1. 古いMoodleソフトウェアプログラムファイルを別の場所に移動してください。 古いファイルの上に新しいファイルをコピーしないでください。
  2. アップグレードファイルを解凍または解凍して、すべての新しいMoodleソフトウェアプログラムファイルが、古いファイルがサーバ上にあった場所にあるようにします。アップグレード時にMoodleはSQLとmoodledataを調整します。
  3. 古いconfig.phpファイルを新しいMoodleディレクトリにコピーしてください。
  4. 上で述べたように、あなたがあなたのサイトにプラグインをインストールしたなら、あなたは今新しいコードツリー(Moodleディレクトリ構造)にそれらを追加するべきです。あなたが新しいバージョンのMoodleに対して正しいバージョンを入手していることを確認することが重要です。あなたが新しいバージョンのMoodleのコードを上書きしないこと、そしてプラグインフォルダを正しいディレクトリ(それらが現在のインストールにあるのと同じディレクトリ)に置くことに特に注意してください。
  5. あなたのmoodledataフォルダはあなたのMoodleコードフォルダとは別に置かれるべきです、そしてそれ自体、それに対して何もする必要はないはずです。 Moodle 3.0がWebでアクセス可能なフォルダにあり、moodledataがMoodleコードフォルダにあるべきではない場合、Moodle 3.0は警告を投げます。インストールを新しいサーバーまたはサーバー上の新しい場所に移動する場合は、移行に関する文書に従う必要があります。

Linux

 mv moodle moodle.backup
tar xvzf moodle-3.5.tgz

次に、config.php、カスタムプラグイン、作成している場合は.htaccessファイルをコピーします( 最初にカスタムプラグインが新しいMoodleの正しいバージョンであることを確認してください )。

 cp moodle.backup / config.php moodle
cp -pr moodle.backup /テーマ/ mytheme moodle /テーマ/ mytheme
cp -pr moodle.backup / mod / mymod moodle / mod / mymod

moodle / config.php(およびその他のソースコード)をあなたのwwwサーバで読めるようにすることを忘れないでください。理想的にはファイルはあなたのサーバーによって書き込み可能であるべきではありません。

chown -R www-data:www-data moodle(LinuxのDebian - あなたのOSのバージョンに合ったユーザとグループに変更してください)chmod -R 755 moodle

cronを使用する場合は、cron.phpが実行可能で正しいphpコマンドを使用するように注意してください。

 chmod 740 admin / cli / cron.php(設定によってはchmod 750またはchmod 755が必要です)
最初の行をcron.phpからコピーします( '#!/ usr / local / bin / php'または '#!/ usr / local / bin / php5.3'のように表示される場合は、 '<?php'をコピーする必要はありません)。 ) 

必要であれば。しかし、単純なアップグレードのためには、cronで何かを変更する必要はないはずです。

Gitを使う

あなたのMoodleを更新またはアップグレードするためにGitを使用することができます。詳しくはGit for Administratorsを見てください。

コマンドラインアップグレード

Linuxサーバでは、Moodle 3.5はウェブブラウザではなくコマンドラインからアップグレードを実行することをサポートします 。これは、特に大規模サイトでは信頼性が高くなります。

アップグレードの終了

最後のステップは、Moodle内でアップグレードプロセスを開始することです。

以前にサイトをメンテナンスモードにした場合今それを取り出しなさい!

これを行うには、単に管理>サイト管理>通知に行きます。

Moodleは自動的に新しいバージョンを検出し、必要なすべてのSQLデータベースまたはファイルシステムのアップグレードを実行します。それ自体ではできないことがある場合は(非常にまれですが)、必要なことを伝えるメッセージが表示されます。

すべてうまくいけば(エラーメッセージなし)、あなたは新しいバージョンのMoodleを使い始めて新しい機能を楽しむことができます!

注:複数のサーバーを実行している場合は、すべてのサーバーでアップグレードを完了した後で、( 管理>サイト管理>開発>すべてのキャッシュのパージを介して)手動ですべてのキャッシュをパージする必要があります。

致命的なエラー:最大実行時間が30秒を超えました...

サーバーが英語以外の主な言語を使用している場合、アップグレードしようとすると「致命的なエラー:最大実行時間が30秒を超えました」というメッセージが表示されることがあります。 php.iniでmax_execution_time = 160を増やすと、スクリプトが言語更新を処理するのに十分な時間を確保できます。それ以外の場合は、アップグレードを実行する前にデフォルトの言語として英語に切り替え、アップグレードが成功した後に元の言語に戻すことができます。 https://moodle.org/mod/forum/discuss.php?d=119598でフォーラムのディスカッションを参照してください

アップグレード後

あなたのインストールからのconfig.phpファイルはうまくいくはずですが、あなたがMoodle 3.0に同梱されているconfig-dist.phpを見れば、より多くの/異なるオプションが利用可能です(例えばデータベースドライバと設定)。古いconfig.php設定を3.0のconfig-dist.phpに基づいた新しい設定にマッピングするのは良い考えです。

cron

Cronはメジャーアップデート( MDL-25499 )を受けており、スケジュールされたタスクとアドホックタスクの両方をサポートしています。

これらの変更の利点は次のとおりです。

  • 各タスクのスケジュールは管理者が設定できます
  • タスクは並行して実行できます
  • Cronプロセスはロックを使用して、同じタスクが異なるプロセスによって同時に実行されるのを防ぎます。
  • 同一のアプリケーションノードが複数あるクラスタがサポートされています。それらすべてに対してcronを実行できます。

この結果、cronはもっと頻繁に実行できるようになります。これは、(たとえば)フォーラムの投稿をより早く送信できることを意味します。新しいcronシステムを利用するには、管理者がcronの実行頻度を少なくとも1分に 1 回に増やすことを強くお勧めします。

また、cronからの出力を解析している自動化スクリプトを修正する必要があるかもしれません。 「Cronスクリプトは正しく完了しました」という文字列についてcronの出力を単純にモニターすることはできなくなりました(それがあなたがしていたことである場合)。別の方法は、文字列 "task failed:"の出力を監視することです。あなたは、タスクが失敗していることを検出した場合は、 ここでの失敗をデバッグするためのいくつかのヒントがあります。

アップグレード前には、失敗したcronタスクがあり、それがcronの残りの部分の実行を妨げていた可能性があります。どのタスクでも失敗しても、残りのMoodlecronタスクの実行が妨げられることはなくなりました。そのため、以前にマスクされたバグを発見することができます。アップグレード後にcronからの出力を綿密に監視することをお勧めします。

課題

古い課題(2.2)モジュールはコアから削除され、透過的にURLを再マッピングし、古いモジュールから新しいモジュールにコースバックアップをリストアするためのスタブに置き換えられました。

まだ古い課題(2.2)モジュールを使用している場合、Moodle 3.0にアップグレードした後、すべての課題(2.2)活動は隠されます。活動を非表示にするには、 課題アップグレードツールを実行する必要があります

本当に本当に古いassignment(2.2)モジュールを使い続ける必要があるのなら、コードをMoodle 3.0に更新してから、 "mod / assignment"フォルダをhttps://github.com/moodlehq/のものに置き換えてください。アップグレードを完了する前にmoodle-mod_assignment / releaseを実行してください

Moodle 3.5であなたに影響を与える可能性のある問題

 //コード例、ここにscss変数を配置します。
// $ font-size-base:0.9375rem

// FontAwesomeをインポートします。
@ "fontawesome"をインポートする

//すべてのブートストラップをインポートします。
@ "bootstrap"をインポートします。

// Core moodle CSSをインポートします。
@ "moodle"をインポートする

//コード例、ブートストラップミックスインを使用してscssを配置し、ここに拡張する。
// .navbar {
// @include shadow();
//} 
  • PostgreSQLドライバが改良され、そして今、 get_recordset_xxx()オペレーションは大きな(> 100000)データセットのために全てのレコードをメモリにフェッチしません。これは、新しいfetchbuffersize dbオプションを使用して設定または無効にできます。これはトランザクションモードでpg_bouncerを使ったインストールに影響することが知られています。詳細についてはMDL-60174を参照してください。

ui_changeというラベルの付いたMoodle 3.5で修正された問題の一覧もご覧ください。

Moodle 3.1、3.2、3.3、3.4の改善

アップグレードしているバージョンに応じて、ドキュメントの「あなたに影響を与える可能性のある問題」のセクションを参照してください。

関連情報