アップグレードでアップロードしたファイルが認識できなくなる

アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿
返信数: 12

xServer上で、

MySQL 5.7

PHP 7.2.6

の環境で、Moodle3,4,2を、テンプレートEnlightliteで動かしていした。

先日、Moodleを3.5.2にアップグレードを行いました。

1.サイト上の全ファイルをダウンロードしてバックアップ(moodledataを含む)

2,MySQLの全データをエクスポート

3.メンテナンスモードに切り替え

4.サイト上の全ファイルを削除(moodledataを除く)

5.Moodle3.5.2をダウンロードして解凍、全ファイルをサイトにアップロード

6.config.phpをバックアップからサイトにアップロード

7.メンテナンスモード解除

上記手順で、問題なくアップグレードできました。


Moodle3.5.3が公開されたので、再度、上記同様にアップグレードしたところ、すぐに見える問題として、トップ画像やロゴ等の画像が表示されませんでした。

コース内のリンクを確認したところ、PDF等のアップロードしたファイルは、ファイル名は残っていますが、リンクが切れている状態のようです。

3.5.2にアップグレードした時との違いは、

・メンテナンスモードにしなかった(誰もログインしていません)

・moodledataを消してしまったので、バックアップからアップロードした(パーミッションは元通りにしました)

くらいです。


試しに、バックアップしていた全ファイルをアップロードして、MySQLもバックアップからインポートしても、やはりファイルとのリンクは切れた状態になります。


これでは、バックアップも意味がなく、下手にアップグレードすると、元に戻すこともできなくなってしまいそうです。


何か、手順に問題があれば、ご教授ください。

政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

もし、可能でしたら、下記内容をお教えください。

  • moodledataを消したタイミング (例  Moodle3.5.3へのバージョンアップ直前)
  • moodledataのバックアップのタイミング (例 Moodle3.5.3へのバージョンアップ当日の午前2時前後)
  • moodledataをバックアップから戻したタイミング (例 Moodle3.5.3へのバージョンアップ直前)
  • moodledataのバックアップ方法 (rsyncを使用したバックアップ用サーバへのバックアップ)
Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

> もし、可能でしたら、下記内容をお教えください。

  • moodledataを消したタイミング :Moodle3.5.3へのバージョンアップ直前です。
  • moodledataのバックアップのタイミング :Moodle3.5.3へのバージョンアップ当日の22時55分頃
  • moodledataをバックアップから戻したタイミング :Moodle3.5.3へのバージョンアップ直前
  • moodledataのバックアップ方法:FTPクライアント(FileZilla)を利用したダウンロード
記憶が曖昧なところもありますが、概ね上記のとおりだと思います。
政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

ありがとうございます。

moodledataディレクトリのパーミッションは本投稿の添付画像のようになっていますでしょうか?

添付 moodledata.png
Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

私のスキル不足で、求めている答えでない場合、ご容赦ください。

moodledataのパーミッションですが、Moodleインストール時はmoodledataフォルダを作成して、パーミッションを777に設定して、後は自動的に作成されるに任せていました。


バックアップからリストアする際には、

moodledataフォルダを含め、サブフォルダを含むすべてのフォルダのパーミッションを777に設定

moodledataフォルダ内の全てのファイルのパーミッションを666に設定

(.htaccessのみパーミッションを604に設定)

のように、FTPクライアント(FileZilla)から設定しました。

政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

ありがとうございます。パーミッションには問題ないようです。

「管理 > サイト管理 > 開発 > デバッグ」ページで以下のように設定した場合、何らかのエラーメッセージは表示されますでしょうか?

  • デバッグメッセージ debug = DEVELOPER: 開発者のための特別Moodleデバッグメッセージ
  • デバックメッセージを表示する debugdisplay = 有効 (チェックボックスをチェックしてください)

添付 Debugging.jpg
Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

アップグレードして、ファイルとリンクが切れた環境を、ゼロから作り直しの作業を始めてしまったので、リンクが切れている環境でのメッセージを確認することができません。


現状、作り直しかけている環境と、リンクが切れたものはテスト用の環境で、リンク切れになる前と並行して同様に作った本番環境の2つがありますが、そのいずれも、特にエラーは表示されていません。


リンク切れになっていた時に、全てのエラーを表示するように設定した際に、詳細なメッセージは記録していないのですが、画像ファイルの拡張子が表示され、そのファイルのサイズが取得できないといったような意味のエラーが表示されていたと思います。

政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

詳細な情報をお教え頂きまして、ありがとうございます。

Apache、MySQLを含むログを詳細に確認する必要があると思いますが、FTPクライアントを使ってバックアップデータをサーバにアップロードした際に一部のファイルが正常にアップロードされなかった可能性もあるかと思います。

Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

ありがとうございます。

一旦、テスト環境をゼロから再構築して、バックアップ・リストアが正常に行えるようにしたいと思います。


最初の質問で記述した手順で、正常に完了したこともあるのですが、バックアップ・リストアの手順としては、最初の質問の手順で問題ないでしょうか?

そこに問題があるようでしたら、その手順を変えて、まず、確実に復元できる状態を作りたいと思います。

その上で、アップグレードの検証ができればと思います。


アップグレードの手順についても、問題があるようならご教授いただければと思います。

よろしくお願いいたします。

政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

手順としては大きな問題があるとは思いませんが、FTPクライアントを使ったバックアップではなく、同一サーバ内または別のバックアップ用サーバにLinuxのtarコマンドまたはrsyncコマンドを使ってバックアップされても宜しいかと思います。

また、最新のMoodleのプログラムを入手されます場合、今後のバージョンアップも考えて、下記オンラインドキュメントのようにGitを使われても宜しいかと思います。

[Git for Administrators - MoodleDocs]
https://docs.moodle.org/35/en/Git_for_Administrators


Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

ありがとうございます。

手順に大きな問題はないのですね。

ご教授いただいた方法で試してみます。

Mitsuhiro Yoshida への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- 政博 山崎 の投稿

まだ、ご教授いただいたGitは試していないのですが、近日中に確認します。

その前に、やはりFTPクライアントでバックアップせざるを得ない状況があることに気付いてしまいました。


現在、テスト用の環境をXserver上に構築して、ほぼ同じ環境の本番運用はsixcoreで行っています。

Xserverの上位サーバであるsixcoreは、Xserverの機能は大抵使えると思い込んでいましたが、SSHはXserverでは使えるものの、sixcoreでは使えないことがわかってしまいました。


その為、FTPで、どうやったらアップデートできるかを、更に試行しています。


テスト環境で、ゼロからクリアインストールした状態で、次の手順であれば、アップデートできるようです。

1.メンテナンスモードに変更

2.moodledata以外の全てのファイル・フォルダを消去

3.アップデート後のバージョンのファイル・フォルダをFTPでアップロード

4.config,phpおよび.htaccessをバックアップからアップロード

5.サイトを表示して、アップグレード処理


2点ほど、問題があります。

1点目

moodledataを残せばアップデートできるということは、やはりmoodledataのFTPでの転送に問題があると感じます。

moodledataが残っていれば良いですが、何らかの問題で、moodledataをリストアしないといけない場合に、どうしようもなくなります。

何か手があるでしょうか?


2点目

アップデート後に、サイトを表示しようとすると、テーマ「Essentials」が出力したらしい、コンポーネントに問題があり、プログラムの修正が必要とのメッセージだけが画面表示され、何もできなくなってしまいました。

config.phpを修正し、テーマを「clean」に強制的に変更したところ、正常にアップデートできました。

アップデートしてから、config.phpをもとに戻すと、最初の表示に時間がかかりましたが、「Essentials」は動作しました。

アップデート時は、テーマを「clean」に変更する必要があるのでしょうか?

何か回避策があるのでしょうか?

政博 山崎 への返信

Re: アップグレードでアップロードしたファイルが認識できなくなる

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> 何か手があるでしょうか?

シックスコアのバックアップデータ取得には個別に費用が発生しますが、下記ページで詳細説明をご覧頂けます。

[バックアップ - シックスコア(sixcore)]
https://www.sixcore.ne.jp/shared/service/service_backup.php

>アップデート時は、テーマを「clean」に変更する必要があるのでしょうか?

いいえ、テーマを「clean」に変更する必要はございません。

> 何か回避策があるのでしょうか?

独自開発のプラグイン、非標準プラグイン (https://moodle.org/plugins/)、プログラムの修正等、何が影響しているか確認する必要がございますため、まず、サーバのログをご確認ください。その上でテーマ表示不良を解決するための対策をお考えください。