PR

ローカル環境(Local by Flywheel)からエックスサーバーXserverへ移行する方法

ブログの引越し

ローカル環境のWordPress(Local by Flywheel)で作ったサイトを、本番環境のエックスサーバー(Xserver)へ移行する方法と、手間取った事の自分覚書です。

また移行作業が必要な時のために細かくメモしておきます。

スポンサーリンク

ローカル環境(Local by Flywheel)からエックスサーバーXserverへ移行する方法

使用環境は以下の通りです:

windows10
ローカル環境のWordPress(Local by Flywheel)
エックスサーバー(Xserver) プラン:X10

1.Xserverのサーバーパネルでドメイン追加

エックスサーバーのサーバーパネルにログインし「ドメイン設定」をクリック。

次の画面で「ドメイン設定の追加」をクリック。

「ドメイン名」に追加したいドメインを入力し、「無料独自SSLを利用する」のチェックを外します。

無料独自SSLを設定するドメインは、XSERVERで運用されている必要があるので、場合により移転が終わった後(ネームサーバーの変更後)に、あたらめて設定します。

XSERVERで運用されていないドメイン名で無料独自SSLを利用するにチェックを入れた場合、以下のようなエラーになります。

「ドメインの追加(確認)」をクリックすると、確認画面が出るので間違いなければ「ドメインの追加(確定)」をクリックします。

2.エックスサーバーでDB(データベース)を新規作成

ドメインを追加した後は、エックスサーバーでデータベースを作成していきます。

エックスサーバーのサーバーパネルにログインし「MySQL設定」をクリック。

「MySQL追加」をクリックし、「MySQLデータベース名」に任意のデータベース名を入力し、文字コードが「UTF-8」な事を確認し、「MySQLの追加(確認)」をクリック。

次に、「MySQLユーザー追加」タブをクリック。
「MySQLユーザーID」と「パスワード」を入力し、「MySQLユーザの追加(確認)」をクリック。

ここで入力したIDとパスワードはPhpMyAdminにログインする時に必要なので、メモするか保存しておきます。

次に、「MySQLユーザー一覧」タブをクリックします。すると、今まで作ったデータベースの一覧が表示されるので、先ほど新しく作ったデータベースを探します。

すると、「アクセス件所有ユーザ」が「ユーザーはいません」になっているので、「アクセス件未所有ユーザ」の、先ほど作ったユーザーIDを「追加」します。

これでデータベースと、それを使うデータベースユーザーの組み付けが完了し、アクセスできるようになりました。

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

移行の際に、キャッシュ系、バックアップ系のプラグインはエラーが出る可能性があるらしいので停止、または必要なければ削除しておきます。

ローカルで作成したWordPressフォルダの場所は以下です。(Windows10の場合)

C:\Users\ユーザーネーム\Local Sites\サイト名\app\public

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

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

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

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へログインします。

ログインには手順2で作成した「MySQLユーザ名」、「MySQLユーザのパスワード」が必要です。

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

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

これでローカル環境のDBの内容が、本番環境(エックスサーバー)に作成した空のDBにコピーされました。

ここでサイトを確認すると、トップは表示されましたが個別ページに飛ぶとhttp:/〇〇〇.local/のローカルサイトに飛ばされてしまいます。

これはLocal by Flywheelが「hostsファイル」を変更しているためなので、このままではURLを入力しても自分のパソコンからはローカルサイトが表示されてしまい、実際のウェブ上での確認ができません。

そこで、hostsファイルの修正をしていきます。

8.hostsファイルを修正

hostsファイルは直接修正できないのでデスクトップにコピーします。

hostsファイルの場所はWindowsの場合下記になります。

C:\Windows\System32\drivers\etc\hosts

コピーしたhostsファイルをテキストエディタで開いて、ローカルサイトの記載がある行を削除します。

www無しと有りの2行あります。

保存して、元あった場所に戻して上書き保存します。

しかしこのままではまだウェブサイトの表示が変なので、次はローカル環境下のURLを、本番サイトのURLに置き換える作業をします。

その前に、ブラウザのキャッシュで古いページ(ローカルページ)に飛ばされてる場合もあるので、念のためブラウザの履歴を消しておきます。
この時点でLocal by Flywheelのローカルサイトに変更を加えたら、またhostsファイルが上書きされてしまいます。ローカルサイトが必要のない場合はLocal by Flywheelからサイトを削除します。ローカルサイトを保存しておきたい場合は、ドメイン名を変更しておきます。
ドメインを変更するには、Site Domainの「CHANGE」をクリックして変更します。
個人的には、アップした後に変更を施したい場合のテスト用に残しておいた方が便利だと思ったので、ドメイン名を変更して残しています。

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

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

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

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

Database Search and Replace Script in PHP | inter.connect
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サイトのフォルダ直下にアップロードします。

例: /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/
正しい〇 http://〇〇〇.local
2、新ドメインを入力

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

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

間違い× http://〇〇〇.com/
正しい〇 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と同じものです。

これで移転作業は完了です。

他、本番環境にアップ後にやっておくべき事もずらっと覚書。

WordPressのユーザー名(admin)を変更し削除する方法
ローカル環境でWordPressを構築する時に、使うローカル環境によっては最初からユーザー名とパスワードが設定されている場合があります。 例えばInstant WPの場合は Username: adm...
みちなりに! | WordPress,HTML,CSS,Webデザインの覚書を、忘れないよう日々メモするHP制作者のサイト
サイトをhttpからhttpsに常時SSL化した後にやるべきGoogle系の設定
このサイトをhttpからhttpsに常時SSL化しましたが、すでにhttp://のアドレスで登録してあるGoogle系の設定も変更が必要なのか一つ一つ確認する事にしました。今後、他のサイトも順次常時S...
WordPressのドメインを変更したらすぐにやるべき3つの事
当サイトは最初はさくらインターネットで取得したサブドメインで運営していました。 しかしアドセンスが表示されない問題が発生したため、独自ドメインを取得し変更しました。 アドセンスの件はまた別投稿しようと...
ライブドアブログからワードプレスへ引っ越し後のリダイレクト設定方法
ライブドアブログには、ブログのURLを変更したときに新しいURLにリダイレクトしてくれる機能がありました。簡単な設定なので忘れずにやっておきます。 ライブドアブログからWordPressへ301リダイ...
タイトルとURLをコピーしました