• ベストアンサー

FTPでWordPress移行

mixhostからシンレンタルサーバーへ、WordPressの移行をしています。 シンレンタルサーバーのWordPress簡単移行やAll-in-One WP Migrationというプラグインのやり方がありますが、それらもファイルの大きさなどからできず。 そのため、FTPでWordPressのファイルを直接アップロードする方法を取っています。 1,mixhostのWordPressファイルをFTPでダウンロード 2,シンレンタルサーバーでWordPressをインストール(MySQL のホスト名などをメモ) 3,メモしたMySQL のホスト名などをダウンロードしたWordPressファイルのwp-config.phpにmixhostのものと変更 4,FTPでシンレンタルサーバーの移行先のWordPressを削除 5,削除した場所に、ダウンロードしたWordPressファイルをアップロード chatGPTでこれでいけると教えてもらったのですが、 それでアップロード完了してから、サイトを表示させてみると、 『このページは動作していませんwww.〇〇.com では現在このリクエストを処理できません。 HTTP ERROR 500』 と出て、サイトが表示されません。 やり方が間違っているのでしょうか? FTPでのWordPress移行の正しいやり方は、どのような流れでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.7

画像と移行手順から1つ気になるのは、既存のデータベースを削除していないのではないですか? すでにテーブルもレコードも登録済みなので、CREATEで新しいテーブルを同じ名前で作成しようとすればエラーになります。( 構造が同じなのでスルー?) データ(レコード)も、UPDATE文であればデータは上書きされますが、テーブルは空っぽの前提でINSERT文を使って登録するので、IDがかぶったデータはエラーになって登録されないはずですが、エラーはなかったですか? 手順4で移行先のファイルを削除したように、移行先のデータベースを削除して、新しい(空っぽの)データベースを作ってからインポートする、という手順になります。 この時、データベースの名前は移行元でも移行先でもどちらでもいいですが、ここで決めたデータベース名を、wp-configの DB_NAME で指定するようにします。 (名前を変えるなら、既存のものを削除する必要はないということになりますね) 簡単移行ができない理由は、中身(仕組み)が不明なのでわかりません。 ヘルプにあるエラーメッセージの種類から想像するに、移行元に空きがないとか? MySQLについては、圧縮すればインポートできたので互換性は間違いなくあると思います。

mute_low
質問者

お礼

どうもありがとうございました!

Powered by GRATICA
mute_low
質問者

補足

返信ありがとうございます。 移行先のデータベースも削除しないとならなかったのですね。 WordPressの方だけかと思ってました汗 サイトが表示されなかったのは、いろんな要因があったようです。 mixhostからダウンロードしたと思っていたのが、一部だけ欠けていたとかありました。 filezillaを使っているのですが全部ダウンロード指示しても、一部を欠けてダウンロードされるんですよね。 (失敗した転送をリセットしてダウンロードしても欠けている) ファイル数1000近くを転送したらずっと失敗するようになるしで、なかなか大変でした。 (たぶん、サーバー側が度々止めている?) > ヘルプにあるエラーメッセージの種類から想像するに、移行元に空きがないとか? > MySQLについては、圧縮すればインポートできたので互換性は間違いなくあると思います。 移行元は、数日前に契約したばかりですし、WordPressも入れてないので空きがないというのはないはずです。 シンレンタルサーバーから互換性がないっていうのは、聞いた時そんなはずはないのでは・・・?と思いました。 謎です。 WordPress簡単移行ができれば、スムーズにできたのですけども・・・。 なにはともあれ、WordPress移行を完了することができました! こちらの質問&回答が、後に同じように悩んだ人のためになると良いです。 luka3さん、心から心から感謝します!スペシャルサンクス! どうもありがとうございました。

その他の回答 (6)

  • luka3
  • ベストアンサー率72% (424/583)
回答No.6

データベースが入れば、あとはmixhostのwordpressのファイル群をそっくりそのままコピーし、wp-config.php のデータベース部分を書き換えれば動くはずだと思うんですけど。 エラーが出る原因は様々です。 試したいこともありますが、まずはエラーログを確認してみましょう。 https://www.shin-server.jp/support/manual/man_server_logerror.php >これは、SQLファイル内のことですよね? そうです、インポートした後でデータベース内の一括修正は難しいので。 大半はログ的記録なので修正が不要な部分も多いですが、後半、プラグインが使っていると思われるものもあるので、まとめて置換がいいでしょう。 >SQLファイル内の21行目のデータベース 行頭が -- で始まる行は全てコメントです。 コメントは人間が見たときのために自動で出力されたもので、インポート時には全て無視されます。 よって修正する必要はありません。

mute_low
質問者

お礼

追記です。 そもそも、なぜWordPress簡単移行ができないのかずっと疑問に思っています。 シンレンタルサーバーにお問い合わせしたら、 「移行先のMySQLが移転元のデータベースと互換性がないため、一部のSQLを実行できずに失敗している」 「WordPress簡単移行のシステムではコピーができないため、手動でデータベースの移行を進めるように」 とのことです。 mixhost→シンレンタルサーバーで検索すると、 みんなWordPress簡単移行で成功できてるのに、なぜ自分だけ?と思います。 移行先のMySQLが移転元のデータベースと互換性がないなどが理由ってありうるのでしょうか?

mute_low
質問者

補足

返信ありがとうございます! 前回やっていたドメインは容量が大きいです。 そのため、また別のドメインも同時に同じような流れで進めていました。 そのドメインも同じように、 wp-config.phpのデータベース名なども変更して、 phpMyAdminでもまとめて置換してインポートして、 FTPでWordPressをアップロードして、 WordPress移行できたと思いました。 ですが、サイトを表示させてみると、シンレンタルサーバーの新しいWordPressのトップページが表示されます。 mixhostのときのサイト表示でないです。エラーログは何も書かれていません。 これは何が原因なのでしょうか? 一つ気になるのは、 phpMyAdminにインポートした際、 https://i.imgur.com/k39BYQp.jpeg という表示になることです。 1,移行元のWordPressファイルをFTPでダウンロード 2,移行先でWordPressをインストール(MySQL のホスト名などをメモ) 3,ダウンロードしたWordPressファイルのwp-config.phpに移行元のものとメモしたMySQL のホスト名などを変更 4,FTPで移行先のWordPressを削除 5,削除した場所に、ダウンロードしたWordPressファイルをアップロード 6,移行元のphpMyAdminでSQLファイルをエクスポート 7,エクスポートしたSQLファイルをテキストで開き、ユーザー名の部分を移行先のものにまとめて置換 8,そのSQLファイルを7zでgzip・超圧縮で圧縮、そして移行先のphpMyAdminでインポート 9.ドメインのネームサーバーを移行先のものにする 10,パーマリンク設定画面で、「変更と保存」をして決定 これをやった結果、表示されるのは、 2,でインストールしたWordPressのトップ画面。 これは何が原因ですか? よろしくお願いいたします。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.5

自分で契約しているサーバでMYSQLコマンドを使ってインポートしてみました。 source ……_wp195.sql; で、取り込みを開始したところ、何カ所かワーニングの表示はあったものの、1分くらいでエラーもなく取り込みが完了しました。 試していただければ・・・ と書いてみたものの、TeraTermの接続がうまくいかないようですね。 そうしましたら、別な手段として、gzip圧縮を試してみましょうか。 まず 7-Zip をインストールしてください。 https://7-zip.opensource.jp/ インポートしたい(未分割の)SQLファイルを右クリックして、メニューから『7-Zip ⇒ 圧縮』を選びます。 画像のように、形式をgzip、レベルを超圧縮にします。 自分の環境だと、約29MBに圧縮できました。 50MBまで対応しているようでしたので、たぶんこれでインポートできると思います。 その他の助言としては、 /home/(ユーザ名)/public_html/(ドメイン)/ は新しい環境に合わせて、先にまとめて置換してから取り込みましょう。 サイズが大きいため、サクラエディタやEmEditorなど大容量ファイルに対応できるものでないと厳しいかも。 それと、 INSERT INTO `wph7_users` の(下から探した方が早いです)次の行にある、 『(1, 』の後ろのログイン名は可能なら変えましょう。 パスワードは暗号化されているので簡単にはログインできませんが、ログイン名を公開してしまったため、攻撃されやすい状態になっています。本気で攻撃したい人ならば、暗号化されたパスワードから元のパスワードを力技で復元するかもしれませんので。 その後ろにある、user_nicenameと少し上にあるnicknameはそのままでいいでしょう。 (以前、ユーザ名は変更できないと言いましたが、データベースを直接いじれる場合は話が別)

mute_low
質問者

補足

返信ありがとうございます! 7-Zipの圧縮方法でインポート成功しました。 ですが、サイト自体は表示されないようです汗 ネームサーバーをシンレンタルサーバーものにして、SSL化設定もしました。 システムの反映待ちの画面からサイト表示に変わるかと思ったら、 「このページは動作していませんwww.〇〇.com では現在このリクエストを処理できません。 HTTP ERROR 500」 の状態のままです。 インポートは、 SQLファイル内のユーザー名をまとめて置換してないのと、まとめて置換したのを両方試しました。 インポート成功したのですが、この状態のままなのは他に原因があるのでしょうか? > /home/(ユーザ名)/public_html/(ドメイン)/ > は新しい環境に合わせて、先にまとめて置換してから取り込みましょう。 > サイズが大きいため、サクラエディタやEmEditorなど大容量ファイルに対応できるものでないと厳しいかも。 これは、SQLファイル内のことですよね? やはり、移行先のユーザー名にまとめて置換しないとならないのだと思うのですが、 SQLファイル内の21行目のデータベースも移行先のものに変える必要がありますか? 変える必要があるとしたら、ここはシンレンタルサーバーの何を記入するのでしょうか? よろしくお願いいたします。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.4

おそらく、連続で失敗したことから攻撃されているとみなされて、ブロックされたと思われます。時間をあければ再度アクセスできると思います。 マニュアルの手順通りで問題ない気がしますので、再度確認して、それでもダメなら公式のサポートへ聞いてみてください。 mixhostも同じ公開鍵認証方式でSSH接続できますので、練習も兼ねてこちらで接続できるか手順を確認しながら試してみてもいいのではないでしょうか。 https://help.mixhost.jp/hc/ja/articles/115003742132-SSH%E3%81%AE%E3%81%94%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95 パスフレーズ(キーのパスワード)は共通でもいいですが、秘密鍵は別物になりますのでダウンロードしたファイル名にサーバ名を入れておくなど、区別が付くようにしましょう。 TeraTermに取り込むのはid_rsaのファイルなので、PuTTY形式の変換は無視して、あとはホスト名とポート(=22)を確認し、同じようにTeraTermで接続してみましょう。 データベースの登録が終わったら、ファイルのコピーのために両方へSSH接続が必要になる予感がしますので、このテストも無駄ではないはず。

mute_low
質問者

補足

返信ありがとうございます。 mixhostでのteratermを試してみましたが、 「ホストに接続できません」というポップが出ますね。 ホスト名は、〇〇.mixh.jpというプライマリドメインのはずですし、なぜだろう・・・? 改めて、シンレンタルサーバーでのteratermもやったら、 「SSH2秘密鍵の読み込みに失敗しました」というポップが出ました。 検索してみると、 -----END OPENSSH PRIVATE KEY----- の後に改行がないとならないとのこと。 なので、-----END OPENSSH PRIVATE KEY----- の後と、 最後の-----END OPENSSH PRIVATE KEY----- の前に改行を入れてトライしましたが、同じ「SSH2秘密鍵の読み込みに失敗しました」というポップが出る。 Cドライブの直下に秘密鍵ファイルを置いて、それに指定しても同じエラーです。 一つ気になるのが、シンレンタルサーバーからダウンロードした秘密鍵ファイルの拡張子が.keyで種類がApple Keynoteです。 teratermで指定する際、「すべてのファイル」にしないと表示されないです。 また、mixhostでダウンロードしたid_rsaが拡張子なしのファイルです。 これらが関係するでしょうか? 何度も返信いただきどうもありがとうございます。心から感謝いたします。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.3

データ見ました。 所見としては、サイズが巨大なため、アップロードに時間がかかりタイムアウトになってエラー、またはアップロード可能サイズの制限に引っかかってエラーが発生しているのかなと思います。 そこで試してみてほしいのは、phpMyAdminを使わずにコンソールからデータベースを登録する方法です。 コンソールに繋ぐためにはSSH接続を使いますが、まずSSH公開鍵を作る手順はこちら https://www.shin-server.jp/support/manual/man_server_ssh.php これを使ってTeraTermで接続する手順がこちら https://www.shin-server.jp/support/manual/man_server_ssh_connect_tera.php データベースをインポートする手順はこちらを参考にしてください https://www.trevo-web.com/tech/ssh-mysqlimport 時間に余裕があれば、自分もインポートを試してみます。 それと悪用されかねないためギガファイル便にアップしたデータは消しましょう。

mute_low
質問者

補足

返信ありがとうございます。 貼っていただいたURL先を参考に進めていましたが、 https://www.shin-server.jp/support/manual/man_server_ssh_connect_tera.php 4. 必要項目の入力・選択で、認証に失敗しました。 となりました。 それから何度がトライしていたら、 3. 必要項目の入力 の段階で、「ホストに接続できません」というポップが出てtera termが終了してしまいます。 これは弾かれるようになったってことでしょうか?

  • luka3
  • ベストアンサー率72% (424/583)
回答No.2

画像になっていると見づらいし、エディタの構文チェックも使えないし、ちょっと原因はわかりません。 できれば最初から(CREATE TABLEから)見たいです。 それと、『(mixhostでのユーザー名)』がたびたび出てきますが、インポートする前に、シンレンタルサーバーのパス(path)に変更する必要があるのではないでしょうか。 1ファイルの状態でまとめて置換してから、SQL Dump Splitterで分割すればよいかと。 パスが同じなら変更は不要ですが。 (これはエラーが出ていることとは関係ありません)

mute_low
質問者

補足

返信ありがとうございます。 CREATE TABLEを調べましたが、作成の仕方などがよくわからなかったため、 https://9.gigafile.nu/0811-g0f087bacbec22a4bfe70f092cac7eb90 そのまま、sqlファイルをアップします。 > それと、『(mixhostでのユーザー名)』がたびたび出てきますが、インポートする前に、シンレンタルサーバーのパス(path)に変更する必要があるのではないでしょうか 『(mixhostでのユーザー名)』は、相当数あって、 それらを一括置換で、シンレンタルサーバーのサーバー番号に変えました。(path=サーバー番号じゃないかもしれません) そして、インポートを試みましたが、またもや502エラーでした。 > 1ファイルの状態でまとめて置換してから、SQL Dump Splitterで分割すればよいかと。 > パスが同じなら変更は不要ですが。 まとめて置換→分割で、インポートをしましたが、3ファイル目で#1064 - SQL構文エラーが出ます。 https://79.gigafile.nu/0809-5ee5ac10e384ddb665e570cf3def636f 分割前と分割後のファイルです。 sqlファイルをzipで圧縮して、〇〇.sql.zipという名前にしてインポートを試みました。 まとめて置換前・まとめて置換後、両方試しましたが、 かなり長い時間、試行をしているようで、結果、500Internal Server Errorになりました。 chatGPTも制限でかなり後の時間まで待たないとならないし、 あとはインポートだけでWordPress移行が完了するのですが、そのあと一歩が進まないです汗 よろしくお願いいたします。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

mixhostのWordpressデータベースを、シンレンタルサーバーへ登録する部分がないですが、そこはどうなっていますか?

mute_low
質問者

補足

回答ありがとうございます。 はい、それに気づいて、mixhost側のphpMyAdminでデータベースをエクスポートして、シンレンタルサーバー側のphpMyAdminでインポートしようとしています。 ですが、インポートしようとしても、 502 Bad Gateway nginx と出ます。 chatGPTに聞くと、サーバー通信の問題であり、 SQLファイルの分割がいいとのこと。 SQL Dump Splitterというソフトで分割して試しました。 3分割でやると、 502 Bad Gateway nginx 6分割・21分割でやると、 #1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : 'INSERT INTO wph7_options (option_id, option_name, option_value, auto...' 付近 80 行目 というエラーがでます。 ↓が80行目です。 https://i.imgur.com/EhSnDkE.png これのどこかを修正したら、インポートできるようになりますでしょうか? よろしくお願いいたします。

関連するQ&A