ローカル環境(XAMPP、Instant WordPress)で作ったサイトを、本番環境のさくらのレンタルサーバーへ移行する方法と、手間取った事の自分覚書です。PHPもチンプンカンプンだし、また移行作業が必要な時のために細かくメモしておきます。
ローカル環境からさくらのレンタルサーバーへ移行する方法
1.さくらにログインしDBを新規作成する。
データベースの設定から「データベースの新規作成」をクリック。
データベース名(任意)を入力し、データベース文字コードが(UTF8mb4)になっているか確認。
注意事項を確認の上、同意にチェックを入れ「データベースを作成する」をクリック。
データベース 一覧に作成したDBが追加されたら完了。
2.ローカルで作成したWordPressフォルダを丸ごとデスクトップにコピー。
\\xampp\\htdocs\\作成済みのWordPressフォルダをデスクトップにコピーします。
3.デスクトップにコピーしたアップロード用ファイル「wp-config.php」を修正。
先ほどデスクトップにコピーしたフォルダ内の「wp-config.php」の青枠部分を
本番環境(さくらレンタルサーバー)用に修正する。
データベースのユーザ名: さくらのMySQLのユーザ名を入力
データベースのユーザ名: さくらのMySQLのユーザパスワードを入力
MySQLのホスト名: さくらのデータベースサーバー名を入力
FFFTPでアップロードする時のモードもUTF-8のBOMなしで
4.ローカルのWordPressフォルダをサーバーへアップロード。
WordPressフォルダをアップロードする為に圧縮(zip化)し、FFFTP(バイナリ転送モード)でhome/〇〇〇/www直下にアップする。
アップしたら、さくらのコントロールパネルの「ファイルマネージャー」にログインし、圧縮ファイルを右クリックで「リモートで解凍」を選択。すると以下のように展開される。
5.ローカルのDBのバックアップファイルを作成、修正
ローカル環境(XAMPP、Instant WordPress)を起動しphpMyAdminにログインする。
※Instant WordPressの場合↓
ログイン画面が表示されるので「ユーザ名」「パスワード」を入力し「実行」する。
Instant WordPressの場合、以下のままでログインOK。
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 となってしまいます。
リロードすると以下のローカル環境(Instant WordPress)のアドレスに飛ばされ、
127.0.0.1:4001 のサーバーへの接続を確立できませんでした。
というエラーが出てホームーページが表示されません。
ローカル環境下のURLを、本番サイトのURLに置き換えなければならないようです。
7.データベース内のURLを変換するプログラムを実行
ローカル環境下のURLを、本番サイトのURLに置き換えるには、「Search Replace DB」という無料配布されているプログラムを使うと簡単でした。
「Search Replace DB」をダウンロードする。
以下のページからダウンロード可能です。
入力したEmailアドレスに、ダウンロードリンクが届きます。
ページの中盤ぐらいに下図のようなダウンロード用のフォームがあります。
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
2、新ドメインを入力
ここに、本番サイトのURLを入力します。旧ドメイン入力時同様、最後のスラッシュは省きます。
ドメイン入力時には最後の/を入力しないようにする。
正しい〇 http://〇〇〇.com
3、データベースの情報
データベースは、自動で入力されるのでノータッチです。
4、dry run
実行したらこうなります、というのを表示してくれるのでチェックしてみます。
5、live run
置換を実行します。最終確認画面が出るので、dry runで問題なければOKをクリック。すると一括置換がスタートします。
6、 delete me【重要】
置換が終わったら、このボタンをクリックしてScriptを削除します。このScriptを残したままだと、アクセスされたら攻撃者に一括置換されて大変危険です。
これで、ローカル環境下のURLを、本番サイトのURLに置き換える事が出来ました。
これでローカル環境から本番サイトへのデータ移行は終了です。