SSHが使えない環境でのサーバ移転

SSHが使えない環境でのサーバ移転

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

Moodle 3.8.2 (Build: 20200309)を利用しています。

現在利用中のサーバがサービスを終了するため、別のサーバに移転しようとしていて問題が発生しています。

現在検証中のサーバ移転の手順は、

1.旧サーバのMoodleプログラムをすべてFTPでダウンロード
2.旧サーバのmoodledata内の全データをFTPでダウンロード
3.旧サーバのMySQLのエクスポート
4.新サーバにMoodleプログラムをすべてFTPでアップロード
5.新サーバにmoodledata内の全データをFTPでアップロード
6.新サーバのmoodledataフォルダ内の全フォルダのパーミッションを777、全ファイルのパーミッションを666に変更
7.新サーバにMySQLインポート
8.新サーバ用に合わせて修正したconfig.phpをFTPでアップロード
9.新サーバのMoodleインストール先の「/admin/tool/replace/index.php」を実行して、旧サーバのURIを新サーバのURIに変更

上記の手順でサーバ移転した後で、新サーバのMoodleにアクセスした場合に問題が発生しています。

・テンプレートで使用している画像が表示されない。
・コース内の教材PDFがダウンロードできるものとできないものが発生(規則性は不明)

コースが多いため、新規でMoodleをインストールして、コースのバックアップからリストアは避けて、Moodle全体のバックアップから新サーバに移転したいと思っています。

画像が表示されないサイトホーム等で、次のようなワーニングが表示されます。
Warning: getimagesize(): PNG file corrupted by ASCII conversion in /home/abnet/abnet.co.jp/public_html/moodle/lib/filestorage/file_system.php on line 417 Warning: getimagesize(): PNG file corrupted by ASCII conversion 

どのようにすれば、SSHが使えない環境でサーバ移転ができるでしょうか?

政博 山崎 への返信

Re: SSHが使えない環境でのサーバ移転

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
FTPクライアントを使ったファイル転送時に「バイナリモード」で転送されてはいかがでしょうか?
評点平均: お役立ち度: ★★★★★★★ (1)
Mitsuhiro Yoshida への返信

Re: SSHが使えない環境でのサーバ移転

- 政博 山崎 の投稿

ありがとうございます。
後で、バイナリモードで確認してみます。

環境面の違いを伝えるのを失念しておりました。

移行前サーバ:PHP7.1、MySQL5.5 utf8
移行後サーバ:PHP7.4、MySQL5.7 utf8mb4

環境の違いによって、考慮しないといけないことがあるでしょうか?

政博 山崎 への返信

Re: SSHが使えない環境でのサーバ移転

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

念のため、エクスポートしたダンプファイルをテキストエディタ等で開いて、すべてのテーブルに関して文字コード (CHARSET) および照合順序 (COLLATE) を以下のように修正されてはいかがでしょうか。

[ 修正前 ]
DEFAULT CHARSET=utf8
 
[ 修正後 ]
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
評点平均: お役立ち度: ★★★★★★★ (1)
Mitsuhiro Yoshida への返信

Re: SSHが使えない環境でのサーバ移転

- 政博 山崎 の投稿
思いつくパターンを試行した結果、特に文字コードと照合順序を変更しなくても動作しました。
ありがとうございました。
Mitsuhiro Yoshida への返信

Re: SSHが使えない環境でのサーバ移転

- 政博 山崎 の投稿
投稿した内容を訂正します。
「思いつくパターンを試行した結果、特に文字コードと照合順序を変更しなくても動作しました。」と投稿しましたが、Ver.3.8.2の環境では特にエラーもなく動作しましたが、Ver.3.7の環境では、「/admin/tool/replace/index.php」でデータベースの置換をする際にデータベースへの書き込みエラーが発生しました。
MySQLの文字コードと照合順序の修正をした結果、エラーは出なくなりました。
念のためということでしたが、文字コード (CHARSET) および照合順序 (COLLATE)の修正は、した方が良いと思います。
Mitsuhiro Yoshida への返信

Re: SSHが使えない環境でのサーバ移転

- 政博 山崎 の投稿
最初は、「moodledata」全体をバイナリモードで転送していましたが、正常に動作しませんでした。
私が十分に確認しておらず、Moodleの移行手順がドキュメンテーション内に掲載されていました。
Moodleの移行
https://demo.tkita.net/moodledocs/35/ja/7e6cc1f639771b549a0ac8fa0e860647.html

基本的に、ドキュメンテーション内の手順に従い、
「/moodledata/filedir/」だけをバイナリモードで転送し、他のディレクトリは自動判定で転送しました。
また、次のディレクトリは、転送対象から除外しました。
/moodledata/cache/
/moodledata/localcache/
/moodledata/sessions/
/moodledata/temp/
/moodledata/trashdir/

そのうえで、「moodledata」内のパーミッションを
フォルダ:777
ファイル:666
.htaccess:644

moodledata内の.htaccessの内容
order deny,allow
deny from all

上記以外は、ドキュメンテーション内の移行手順通りにしたところ、正常にサーバ移転できました。
「バイナリモード」という言葉が大きなヒントになりました。
ありがとうございます。
政博 山崎 への返信

Re: SSHが使えない環境でのサーバ移転

- 政博 山崎 の投稿
FTPをバイナリモードに変更してみました。
ワーニング表示は、同じものが表示されます。

画像についての表示が異常なのは変わらないのですが、バイナリモードにする前は全く表示しないか、表示するかのどちらかだったのですが、バイナリモードにしてから、PDFデータの画像部分や写真などがいろんな色が不規則に表示されて、やはり画像が異常な状態になりました。
政博 山崎 への返信

Re: SSHが使えない環境でのサーバ移転

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

ご確認頂きまして、ありがとうございます。

今後のことも考えて、FTPのみが使用できるサーバではなく、シェルログイン (SSH) 可能なさくらのレンタルサーバ等のホスティングサービスをお試しになってはいかがでしょうか。

[さくらのレンタルサーバ]
https://www.sakura.ne.jp/