ローカル環境のWordPress(Local by Flywheel)で作ったサイトを、本番環境のエックスサーバー(Xserver)へ移行する方法と、手間取った事の自分覚書です。
また移行作業が必要な時のために細かくメモしておきます。
ローカル環境(Local by Flywheel)からエックスサーバーXserverへ移行する方法
使用環境は以下の通りです:
1.Xserverのサーバーパネルでドメイン追加
エックスサーバーのサーバーパネルにログインし「ドメイン設定」をクリック。
次の画面で「ドメイン設定の追加」をクリック。
「ドメイン名」に追加したいドメインを入力し、「無料独自SSLを利用する」のチェックを外します。
無料独自SSLを設定するドメインは、XSERVERで運用されている必要があるので、場合により移転が終わった後(ネームサーバーの変更後)に、あたらめて設定します。
XSERVERで運用されていないドメイン名で無料独自SSLを利用するにチェックを入れた場合、以下のようなエラーになります。
「ドメインの追加(確認)」をクリックすると、確認画面が出るので間違いなければ「ドメインの追加(確定)」をクリックします。
2.エックスサーバーでDB(データベース)を新規作成
ドメインを追加した後は、エックスサーバーでデータベースを作成していきます。
エックスサーバーのサーバーパネルにログインし「MySQL設定」をクリック。
「MySQL追加」をクリックし、「MySQLデータベース名」に任意のデータベース名を入力し、文字コードが「UTF-8」な事を確認し、「MySQLの追加(確認)」をクリック。
次に、「MySQLユーザー追加」タブをクリック。
「MySQLユーザーID」と「パスワード」を入力し、「MySQLユーザの追加(確認)」をクリック。
次に、「MySQLユーザー一覧」タブをクリックします。すると、今まで作ったデータベースの一覧が表示されるので、先ほど新しく作ったデータベースを探します。
すると、「アクセス件所有ユーザ」が「ユーザーはいません」になっているので、「アクセス件未所有ユーザ」の、先ほど作ったユーザーIDを「追加」します。
これでデータベースと、それを使うデータベースユーザーの組み付けが完了し、アクセスできるようになりました。
3.ローカルで作成したWordPressフォルダを丸ごとデスクトップにコピー
移行の際に、キャッシュ系、バックアップ系のプラグインはエラーが出る可能性があるらしいので停止、または必要なければ削除しておきます。
ローカルで作成したWordPressフォルダの場所は以下です。(Windows10の場合)
C:\Users\ユーザーネーム\Local Sites\サイト名\app\public
4.デスクトップにコピーしたアップロード用ファイル「wp-config.php」を修正
先ほどデスクトップにコピーしたフォルダ内の「wp-config.php」の青枠部分を
本番環境(エックスサーバー)用に修正する。
データベースのユーザ名: エックスサーバーのMySQLユーザIDを入力
データベースのユーザ名: エックスサーバーのMySQLのユーザパスワードを入力
MySQLのホスト名: エックスサーバーのデータベースサーバー名を入力
5.ローカルのWordPressフォルダをサーバへアップロード
WordPressフォルダ(public)をFileZillaを使って本番環境(エックスサーバー)へアップロードします。
http://example.com/ でサイトを表示する場合のアップロード先
FTP上では、/example.com/public_html/ となります。
http://test.example.com/ でサイトを表示する場合のアップロード先
FTP上では、/example.com/public_html/test/ となります。
※http://example.com/test/ も同じフォルダになります。
6.ローカルのDBのバックアップファイルを作成
次はローカル環境(Local by Flywheel)のsqlファイルをエクスポートします。
ローカル環境(Local by Flywheel)を起動し、「DATABASE」をクリックし、「ADMINER」をクリックします。
Adminerの管理画面に入ったら、左側の「エクスポート」をクリック。
次の画面で下記のように設定し「エクスポート」をクリック。
すると任意の場所(ダウンロードフォルダなど)にDBのバックアップファイル(local.sql)が作成されます。
次はこれを本番環境(エックスサーバー)へインポートします。
7.本番環境(エックスサーバー)で新規作成したDBにsqlファイルをインポート
サーバーパネルの「phpmyadmin(MySQL5.7)」をクリックし、phpmyadminへログインします。
サイドメニュー(赤囲部分の1)より手順2で作成したデータベースを選択し、「インポート」(赤囲部分の2)を押す。
「ファイルを選択」から「5・ローカルのDBの・・」で作成したSQLファイルを選択し実行する。
これでローカル環境のDBの内容が、本番環境(エックスサーバー)に作成した空のDBにコピーされました。
ここでサイトを確認すると、トップは表示されましたが個別ページに飛ぶとhttp:/〇〇〇.local/のローカルサイトに飛ばされてしまいます。
これはLocal by Flywheelが「hostsファイル」を変更しているためなので、このままではURLを入力しても自分のパソコンからはローカルサイトが表示されてしまい、実際のウェブ上での確認ができません。
そこで、hostsファイルの修正をしていきます。
8.hostsファイルを修正
hostsファイルは直接修正できないのでデスクトップにコピーします。
hostsファイルの場所はWindowsの場合下記になります。
コピーしたhostsファイルをテキストエディタで開いて、ローカルサイトの記載がある行を削除します。
www無しと有りの2行あります。
保存して、元あった場所に戻して上書き保存します。
しかしこのままではまだウェブサイトの表示が変なので、次はローカル環境下のURLを、本番サイトのURLに置き換える作業をします。
9.データベース内の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サイトのフォルダ直下にアップロードします。
例: /home/サーバーID/独自ドメイン名/public_html/
「Search Replace DB」の操作手順
アップロードしたら、サイトのドメインの後ろに /Search-Replace-DB-master/ をつけて Search And Replaceにアクセスします。
例: https://〇〇〇.com/public/Search-Replace-DB-master/
1、旧ドメインを入力
画面の1の欄に旧ドメイン(ローカル環境のURL)を入力します。
・Local by Flywheelの場合は初期状態で ” http://〇〇〇.local/ ”
ドメイン入力時には最後の/を入力しないようにする。
正しい〇 http://〇〇〇.local
2、新ドメインを入力
ここに、本番サイトのURLを入力します。旧ドメイン入力時同様、最後のスラッシュは省きます。
ドメイン入力時には最後の/を入力しないようにする。
正しい〇 http://〇〇〇.com
3、データベースの情報
データベースは、自動で入力されるのでノータッチです。
4、dry run
実行したらこうなります、というのを表示してくれるのでチェックしてみます。
5、live run
置換を実行します。最終確認画面が出るので、dry runで問題なければOKをクリック。すると一括置換がスタートします。
6、 delete me【重要】
置換が終わったら、このボタンをクリックしてScriptを削除します。このScriptを残したままだと、アクセスされたら攻撃者に一括置換されて大変危険です。
これで、ローカル環境下のURLを、本番サイトのURLに置き換える事が出来ました。
10・サイトの動作確認
ファイルアップロード後、WordPressサイトへとアクセスし、問題なく表示・動作しているか確認します。
WordPressの管理画面にログインできるかも確認しましょう。管理画面のURLは以下の通りです。
本番のサイトURL/wp-admin/
ユーザー名とパスワードを入力して「ログイン」ボタンをクリックします。
WordPressのユーザー名とパスワードは、Local by Flywheelで構築したWordPressと同じものです。
これで移転作業は完了です。
他、本番環境にアップ後にやっておくべき事もずらっと覚書。