WordPress ローカル環境(XAMPP)からさくらのレンタルサーバーへ移行する

WordPress

ローカル環境(XAMPP、Instant WordPress)で作ったサイトを、本番環境のさくらのレンタルサーバーへ移行する方法と、手間取った事の自分覚書です。PHPもチンプンカンプンだし、また移行作業が必要な時のために細かくメモしておきます。

スポンサーリンク

ローカル環境からさくらのレンタルサーバーへ移行する方法

1.さくらにログインしDBを新規作成する。

データベースの設定から「データベースの新規作成」をクリック。

s1

データベース名(任意)を入力し、データベース文字コードが(UTF8mb4)になっているか確認。

注意事項を確認の上、同意にチェックを入れ「データベースを作成する」をクリック。
データベース 一覧に作成したDBが追加されたら完了。

さくらの「データベースユーザ名」、「接続パスワード」は20個まで作れる全データベースで共通です。管理ツール(phpMyAdmin)へのログインにも使用します。

2.ローカルで作成したWordPressフォルダを丸ごとデスクトップにコピー。

\\xampp\\htdocs\\作成済みのWordPressフォルダをデスクトップにコピーします。

3.デスクトップにコピーしたアップロード用ファイル「wp-config.php」を修正。

先ほどデスクトップにコピーしたフォルダ内の「wp-config.php」の青枠部分を
本番環境(さくらレンタルサーバー)用に修正する。

s2

データベース名: 1、さくらにログインしDBを新規作成するで作成したDB名を入力
データベースのユーザ名: さくらのMySQLのユーザ名を入力
データベースのユーザ名: さくらのMySQLのユーザパスワードを入力
MySQLのホスト名: さくらのデータベースサーバー名を入力
保存する際は、「wp-config.php」内に記載されている通り、必ずUTF-8のBOMなし(UTF-8N)で保存する事。
FFFTPでアップロードする時のモードもUTF-8のBOMなしで

4.ローカルのWordPressフォルダをサーバーへアップロード。

WordPressフォルダをアップロードする為に圧縮(zip化)し、FFFTP(バイナリ転送モード)でhome/〇〇〇/www直下にアップする。

アップしたら、さくらのコントロールパネルの「ファイルマネージャー」にログインし、圧縮ファイルを右クリックで「リモートで解凍」を選択。すると以下のように展開される。

home/〇〇〇/www/WordPress
「WordPress」という初期フォルダ名は後から変更可能なのでとりあえずこのままでOKです。

5.ローカルのDBのバックアップファイルを作成、修正

ローカル環境(XAMPP、Instant WordPress)を起動しphpMyAdminにログインする。

※Instant WordPressの場合↓

 

ログイン画面が表示されるので「ユーザ名」「パスワード」を入力し「実行」する。
Instant WordPressの場合、以下のままでログインOK。

ユーザ名 : root
pass : 無記入でOK

サイドメニューからバックアップファイルの元となるDBを選択、「エクスポート」を押す。

・「詳細-可能なオプションをすべて表示」のラジオボタンにチェックを入れる。
・テーブルを全て選択(デフォルト状態で全て選択されているはず)
「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」にチェックを入れる。
・その他はデフォルトでOK。

最後に「実行」を押すと、任意の場所(ダウンロードフォルダなど)にDBのバックアップファイル(DB名.sql)が作成される。

6.サーバーで新規作成したDBにバックアップファイルをインポート

さくらのコントロールパネルの「データベースの設定」→作成したデータベースの「管理ツールログイン」をクリックする。

(さくらのデータベース共有の)ユーザ名、パスワードを入力し「実行」でログイン。

サイドメニュー(赤囲部分の1)より「1・DB新規作成」で作成したデータベースを選択し、「インポート」(赤囲部分の2)を押す。

「ファイルを選択」から「5・ローカルのDBの・・」で作成したSQLファイルを選択し実行する。

これでローカル環境のDBの内容が、さくらサーバーに作成した空のDBにコピーされました。

しかし、この状態のままではホームページは表示されませんでした。
アップした場所は以下ですが、404 Not found となってしまいます。

http://〇〇〇.sakura.ne.jp/wordpress/

リロードすると以下のローカル環境(Instant WordPress)のアドレスに飛ばされ、

http://127.0.0.1:4001/wordpress/

127.0.0.1:4001 のサーバーへの接続を確立できませんでした。

というエラーが出てホームーページが表示されません。

ローカル環境下のURLを、本番サイトのURLに置き換えなければならないようです。

その前に、ブラウザのキャッシュで古いページ(ローカルページ)に飛ばされてる場合もあるので、念のためブラウザの履歴を消しておきました。

7.データベース内のURLを変換するプログラムを実行

ローカル環境下のURLを、本番サイトのURLに置き換えるには、「Search Replace DB」という無料配布されているプログラムを使うと簡単でした。

「Search Replace DB」をダウンロードする。

以下のページからダウンロード可能です。
入力したEmailアドレスに、ダウンロードリンクが届きます。

Database Search and Replace Script in PHP | interconnect/it
Search Replace DB is a powerful tool for developers, allowing them to run a search replace against their database where CLI tools or WP plugins can’t work.

ページの中盤ぐらいに下図のようなダウンロード用のフォームがあります。

 

Knowledge checkの内容

  • I accept this script can be a security risk
    私は、このスクリプトがセキュリティ上の危険であるかもしれないことを認める。
  • I understand that this script must not be left in a public facing web server
    私は、このスクリプトをサーバーに残してはならないと理解している。
  • I am a developer and I know what I’m doing!
    私は開発者であり、このスクリプトの機能を理解している。

だいたいこういう内容なので、確認してチェックを入れ名前も入力します。
チェックを入れるとEmail入力欄が表示されるので入力し、 [SUBMIT] ボタンで送信します。するとすぐに入力したEmail宛に2通のメールが届きます。

以下の件名のメールを開くと、文中にスクリプトのダウンロード先へのリンクがあるのでクリックすると、任意の場所にダウンロードされます。

Dear (入力した名前) – here’s your Search Replace DB download Link

「Search Replace DB」をアップロードする。

ダウンロードしたScriptを解凍し、フォルダごとWordPressサイトのフォルダ直下にアップロードします。

「Search Replace DB」の操作手順

アップロードしたら、サイトのドメインの後ろに /Search-Replace-DB-master/ をつけて Search And Replaceにアクセスします。

例:https://〇〇〇.sakura.ne.jp/wordpress/Search-Replace-DB-master/

1、旧ドメインを入力

画面の1の欄に旧ドメイン(ローカル環境のURL)を入力します。

・XAMPPの場合は初期状態で  http://localhost/wordpress  

・Instant WordPressの場合は初期状態で  http://127.0.0.1:4001/wordpress

ドメイン入力時には最後の/を入力しないようにする。

間違い× http://localhost/wordpress/
正しい〇 http://localhost/wordpress
2、新ドメインを入力

ここに、本番サイトのURLを入力します。旧ドメイン入力時同様、最後のスラッシュは省きます。

ドメイン入力時には最後の/を入力しないようにする。

間違い× http://〇〇〇.com/
正しい〇 http://〇〇〇.com
3、データベースの情報

データベースは、自動で入力されるのでノータッチです。

4、dry run

実行したらこうなります、というのを表示してくれるのでチェックしてみます。

5、live run

置換を実行します。最終確認画面が出るので、dry runで問題なければOKをクリック。すると一括置換がスタートします。

6、 delete me【重要】

置換が終わったら、このボタンをクリックしてScriptを削除します。このScriptを残したままだと、アクセスされたら攻撃者に一括置換されて大変危険です。

これで、ローカル環境下のURLを、本番サイトのURLに置き換える事が出来ました。

これでローカル環境から本番サイトへのデータ移行は終了です。