WordPress ローカル環境(Local by Flywheel)からさくらのレンタルサーバへアップロード

アイキャッチ画像 ブログ・Web制作

WordPressのローカル環境(Local by Flywheel)から、さくらのレンタルサーバへアップロードしたので、その方法を自分の備忘録がてら記事にしました。

ドメインは、当サイトのドメイン https://haruchan-blog.com/ を使用します。
(取得方法については割愛します。)

参考になる所がありますと幸いです。

データベースの新規作成

以下の記事で解説していますので、データベースを作成されていない方はご参考にどうぞ。
(該当箇所にリンクしています)

ちなみに上の記事では、プラグインを使って、WordPressサイトを移行する方法について解説しています。

512MBまでなら無料で使えますし、今回解説する方法よりはるかに簡単です。笑
よければ、こちらもご参考にどうぞ。

ローカルで作成したWordPressフォルダを丸ごとコピー

Finder/ユーザーフォルダ/Local Sites/サイト名/app/public のフォルダをコピーしてください。

publicフォルダ 場所

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

publicフォルダ直下に「wp-config.php」というファイルがありますので、それを開きます。

wp-config.php変更前

define(…)と書かれている箇所まで移動してください。
上記画面を以下のように修正します。

wp-config.php変更後

データベース名など、どこに書かれているかに関しては、以下の画像をご参照ください。

データベース情報 コントロールパネル

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

FTPクライアントソフト「FileZilla」のインストール

FTPクライアントソフトとは、簡単に言うと、自分のパソコンからサーバー上にデータをアップロードする時に使える、とても便利なソフトです。

レンタルサーバーには、ファイルマネージャーというものがあり、

ファイルマネージャー

ここにhtmlなど必要なファイルをアップロードするとサイトが表示されるようになります。

ですが、一定時間経つとすぐにログアウトして、またログインし直さなければならず…となったり、作業する上でわずらわしく感じることもしばしばあるんですよね。


しかし、このファイルマネージャーとFTPクライアントソフトを一旦接続してしまえば、FTPクライアントソフトを通じて自分のパソコンからサーバー上にデータをアップロードできるようになります!

無料のものも多く、最初の設定は少し手間かもしれませんが、使い慣れると本当に便利ですよ!


私は、無料の「FileZilla」というソフトを使っていますので、そのインストール方法をご紹介します。

FileZillaダウンロード

上の画像の手順でボタンをクリックしていくと、FileZillaがインストールされます。
(Windowsの方は、①の時点で「Windows Only」を選択するといいと思います)

インストール後、さくらのレンタルサーバとの設定方法は公式サイトの解説をご覧ください。

コピーした public フォルダをアップロード

home/〇〇〇/www直下に、publicフォルダをアップロードします。

FileZillaにpublicフォルダをアップロード

Web公開フォルダの変更

Web公開フォルダとは、Webサイトを表示させるためのデータが入ったフォルダです。
URLにアクセスすると、この中のデータが表示される、というわけです。

デフォルトではwww直下のファイルを表示するようになっているので、これを先ほどアップロードした public フォルダ(今回は「haruchanblog」と名前を変更)を表示するようにします。


さくらのレンタルサーバのコントロールパネルにログインし、「ドメイン/SSL」より、該当のドメインの「設定」をクリック。

Web公開フォルダ変更

ドメイン設定の画面が開くので、Web公開フォルダの欄に該当のフォルダ名を記入し、「保存する」をクリック。

Web公開フォルダ変更

Web公開フォルダが変更されました!

Web公開フォルダ変更

ローカルのDBのバックアップファイルを作成

次はローカル環境(Local by Flywheel)のsqlファイルをエクスポートします。

ローカル環境(Local by Flywheel)を起動し、「DATABASE」をクリックし、「OPEN ADMINER」をクリックします。

Localからsqlファイルの書き出し

Adminerの管理画面に入ります。

Adminer画面

①左側の「エクスポート」をクリック
②画像のようにチェックが入っていることを確認し、「エクスポート」をクリック

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

local.sql

さくらのレンタルサーバで作成したDBに local.sql をインポート

Webサイト/データ→データベース→phpMyAdminログイン をクリック。

phpmyadminへログイン


ログイン画面が出てくるので、

phpmyadminへログイン
  • ユーザ名:FTPアカウント名(初期ドメインの .sakura.ne.jp より前の部分)
  • パスワード:データベース接続用パスワード

を入力してログインしてください。

ログイン後は以下の画面になります。

phpMyAdmin

①該当のデータベースを選択
②「インポート」をクリック
③「ファイルを選択」をクリック→作成したsqlファイル選択
④「実行」をクリック


そうすると以下の画面になります。

phpMyAdmin

【注意】1つのデータベースに、2つ以上のローカルのDBバックアップファイルをインポートする(2つ以上のWordPressをインストールする)場合

Local by FlywheelからエクスポートしたDBバックアップファイルの「テーブル接頭辞(赤い点線で囲った部分)」は、デフォルトだと全て「wp_」となります。
このまま複数サイトのDBバックアップファイルをインポートすると、テーブル名(赤い実線で囲った部分)は全て同じになるためデータが上書きされてしまい、全てのサイトのデータが壊れてしまいます。

私はこれをやらかし、2つのサイトの表示がとんでもなく崩れた(ほぼ画面真っ白に近い)という状態になりました。

これを防ぐために、テーブル接頭辞を変更し、それぞれのサイトのデータを区別する必要があります。

ちなみに、テーブル名が「wp_hamburger_◯◯◯」となっているのは、前回の記事で紹介した架空のハンバーガーショップのサイトのデータです。

すでにデフォルトの「wp_」から変更しているので、今回移行するサイトに関しては変更する必要はありませんが、どのサイトのデータなのか分かりやすくなるよう、変更したいと思います。


以下にテーブル接頭辞の変更方法を紹介します。
該当しない方は、以下「テーブル接頭辞を変更」の項目は読み飛ばして頂いて構いません。

テーブル接頭辞を変更

コピーしたアップロード用ファイル「wp-config.php」を修正」のところで紹介した、「wp-config.php」のファイルを開いて、以下のように修正してください。

wp-config-php テーブル接頭辞変更


修正したファイルは、FileZillaにドラッグ&ドロップで上書きできます。

wp-config.php テーブル接頭辞変更

続いて、phpMyAdminでテーブル接頭辞を変更します。

phpMyAdmin テーブル接頭辞変更

①「SQL」のタブをクリック
②テーブル接頭辞を変更するSQLを入力
実際に入力したSQLを下記に記載しますので、よければ参考にしてください。

【ALTER TABLE 「変更前接頭辞」 RENAME TO 「変更後接頭辞」;】

ALTER TABLE wp_commentmeta RENAME TO haruchanblog_commentmeta;
ALTER TABLE wp_comments RENAME TO haruchanblog_comments;
ALTER TABLE wp_links RENAME TO haruchanblog_links;
ALTER TABLE wp_options RENAME TO haruchanblog_options;
ALTER TABLE wp_postmeta RENAME TO haruchanblog_postmeta;
ALTER TABLE wp_posts RENAME TO haruchanblog_posts;
ALTER TABLE wp_termmeta RENAME TO haruchanblog_termmeta;
ALTER TABLE wp_terms RENAME TO haruchanblog_terms;
ALTER TABLE wp_term_relationships RENAME TO haruchanblog_term_relationships;
ALTER TABLE wp_term_taxonomy RENAME TO haruchanblog_term_taxonomy;
ALTER TABLE wp_usermeta RENAME TO haruchanblog_usermeta;
ALTER TABLE wp_users RENAME TO haruchanblog_users;

プラグインなどによるテーブルも混じっていれば、適宜追加して下さい。

③「実行」をクリックすると、テーブル接頭辞が変更される

そして、これだけではまだ全てのテーブル接頭辞が変更されていません。
このままWordPress管理画面にログインしようとする、エラーとなりログインできなくなる場合があります。

  • haruchanblog_options
  • haruchanblog_usermeta

この2つのテーブルの中に、古い接頭辞が残っていますので、以下の画像のように変更します。

phpMyAdmin テーブル接頭辞変更

●「haruchanblog_options」の変更箇所
・「wp_page_for_privacy_policy」
・「wp_user_roles」

●「haruchanblog_usermeta」の変更箇所
・「wp_capabilities」
・「wp_user_level」
・「wp_dashboard_quick_press_last_post_id」
・「wp_user-settings」
・「wp_user-settings-time」

これで、全てのテーブル接頭辞が変更できました!

テーブル接頭辞の変更方法に関しては、以下の記事を参考にさせて頂きました↓↓

hostsファイルを修正

hostsファイルとは、簡単に言うと、ドメイン名で新しいサーバーにアクセスできるようにするためのファイルです。

よく分からない説明なのでもう少し具体的に言うと、今のまま移行先のドメイン https://haruchan-blog.com/ にアクセスしても、https://〇〇〇.local/ とローカルサイトに飛ばされてしまうページもあります
これはLocal by Flywheelが「hostsファイル」を変更しているためなので、きちんとWebサイトが表示されるよう、hostsファイルを修正する必要があります。


Finder/Macintosh HD/private/etc/hosts ファイルをデスクトップにコピーして修正します。
(直接編集はできません。)

hostsファイル保存場所
hostsファイル 保存場所

コピーしたhostsファイルを開いて、ローカルサイトの記載がある行を削除します。

hostsファイル修正

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

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

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

「Search Replace DB」をダウンロード&アップロード

Search Replace DB」という無料配布されているプログラムを使います。

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

Search Replace DBダウンロード

チェックを入れると、以下のような入力フォームが出てきます。
必要事項を記入後、ダウンロードリンクを送るためのボタンをクリックしてください。

「Donation…」という項目がありますが、「Other」を選択すればお金を支払うようなことはありません。

Search Replace DBダウンロード

すぐに入力したEmail宛にメールが届きますので、以下画像の「here」の部分をクリックすると、zipファイルがダウンロードされます。

Search Replace DBメール

zipファイルを解凍し、フォルダごとFileZilla(該当するWordPressサイト直下)にアップロードします。
wp-admin や wp-content、wp-includes のフォルダがある所です。

Search Replace DBをFileZillaにアップロード

また一時的とはいえ、「Search-Replace-DB」の名前のままサーバーにアップロードすると、セキュリティリスクもあるため、適当に別のフォルダ名に変更してからアップロードした方がいいそうです。

(私はやってませんでしたが…笑)

「Search Replace DB」の使い方

アップロードしたら、サイトのドメインの後ろに「 / フォルダ名 /」 をつけて Search Replaceにアクセスします。

例:https://haruchan-blog.com/Search-Replace-DB-4.1.1/

Search Replace DBでURLを置換

①変更前のURL(Local by FlywheelのURL)を入力
例:https://harukablog.local ※

②変更後のURLを入力
例:https://haruchan-blog.com ※

③〜⑥の掲載箇所については、以下画像をご参照ください。

データベース情報
さくらのレンタルサーバ コントロールパネル

①〜⑥を入力後、「Test connection」をクリックします。

※サイトURLのhttps化について

Local by Flywheelの場合は初期状態で、「http://◯◯…」となっているので、https化していなければ、URLは両方とも「http://◯◯…」と書いてください。

URLのhttps化は、WordPressの管理画面 設定→一般 から簡単に行えます。

Local上でも、移行した後でもどちらでもOKです。
(私の場合は、Local上で最初にhttpsに変更しています。)

https化

「Test connection」をクリック後、以下の画面となります。

Search Replace DBでURLを置換

「Test connection」の右側に、「Success.…」という緑色の表示が出ますので、「Do a safe test run」をクリックしてください。

Search Replace DBでURLを置換

test runの結果が出ますので、確認して「Search and Replace」のボタンを押します。

最終的に上記画像のような表示になっていれば、無事にURLが変換できています。

URLが変換できたら、「delete me」を押して「Search-Replace-DB」のフォルダは必ず削除してください(もしくは、FileZilla上などで手動で削除してください)。

パーマリンク設定を再保存

ようやく全部の設定が終わった!と思い、サイトにアクセスすると…。

トップページは表示されるのですが、個別の記事のページなどに飛ぶと404(ページが存在しない)エラーが表示されてしまいます。

404エラー
トップページから個別記事のページに飛ぶと404エラーとなる

原因は色々と考えられるようですが、私の場合はパーマリンク設定を保存し直すことで解決しましたので、その方法をご紹介します。

まずWordPress管理画面へログインします。

【ログイン方法】
「ブログのURL/wp-login.php」へアクセスしてください。

例:https://haruchan-blog.com/wp-login.php

設定→パーマリンク設定より、「変更を保存」をクリックしてください。

パーマリンク設定

404エラーの解決方法に関しては、以下の記事を参考にさせて頂きました↓↓

これで、ローカル環境(Local by Flywheel)から本番サイトへのデータ移行は終了です。
お疲れ様でした!


今回の一連の流れに関して、こちらの記事を参考にさせて頂きました↓↓

コメント

  1. […] […]

タイトルとURLをコピーしました