WordPressをローカル環境から本番環境に移行する方法

WordPressをローカル環境から本番環境に移行する方法

はじめに

ローカル環境で開発したWordPressを使用したサイト(ブログ)を本番環境にアップロードする方法を説明します。

local by Flywheelを利用して作成したローカル環境で、テーマやプラグインをテストしたり、デザインや機能の調整をしたWordPressを本番環境、すなわちオンラインで稼働しているサーバーに移行する方法となります。

オンラインで稼働しているサーバーにはWordPressがインストールされていない状態を想定しておりますので、ローカル環境で開発し、新しくオンラインで公開されるWordPressが対象です。

既に稼働しているWordPressやデータベースを上書きする形で作業してしまうと思わぬ結果となる可能性があるので十分注意してください。
同時に必ずバックアップを取ること、手順のひとつひとつをメモして、自分が何の作業をしたのか覚えておくこと、作業した手順を元に戻す方法も理解しながら読み進めることをおすすめします。

また、今回は「WordPressをローカル環境で構築する方法(Local編)」で作成したデータやドメインを元に説明していますので、ぜひとも下記の記事もご一読ください。
WorodPressをローカル環境で構築する方法(Local編) 簡単すぎる!WordPressをローカル環境で構築する方法(Local編)

本番環境にデータベースの作成

phpMyAdminログイン
まずは本番環境にWordPressのsqlデータを入れるデータベースを作成します。

レンタルサーバーや自前のサーバーのphpMyAdminにログインしたら「データベースを作成する」の画面を開きます。
今回はデータベース名として「wp_online_db」を入力し、utf8_general_ciを選択して作成ボタンを押します。

新しくユーザーを作る
作成ボタンを押したら、特権をクリックして、 Add user accountをクリックして新しくユーザーを作ります。

新しくユーザー作成

User name: wp_user
Host name: localhost
パスワード: 任意の文字列
再入力:上記と同じ文字列

実行
上記を入力したら、右下の実行をクリックします。
入力した情報は後で使いますので、データベース名と一緒にメモしておきましょう。

新しいユーザー追加
上記のように新しいユーザーが追加されました!と表示されたら成功です。
次はlocal by Flywheelで作成したWordPressから、sqlデータをエクスポートします。

ローカルDBからsqlデータをエクスポート

LOCAL画面
LOCALを起動させて、任意のWordPressを選択し、右上のボタンでスタート、SSLのタブでTRUSTをクリックしたら、DATABASEのタブを開きます。

ADMINERというボタンをクリックするとphpMyAdminがブラウザで開きます。

phpMyAdmin画面
URLがwordpress-local.comとなっていますが、LOCALのバーチャルホストによってローカル環境でドメインが割り当てられている状態です。
左側にあるエクスポートをクリックしてください。

phpMyAdminエクスポート
画面が切り替わったら、下記項目をチェックしてエクスポートしてください。通常はデフォルトのままエクスポートできると思います。

出力:保存
形式:SQL
データベース:ルーチン・イベント
テーブル:DROP+CREATE・トリガー
データ:INSERT

確認したらエクスポートのボタンをクリックしましょう。
ファイルがダウンロードされたらsqlデータのエクスポートは終了です。

sqlデータの修正

phpMyAdminからエクスポートした.sqlのデータはローカル環境でのドメインになっていますので、本番環境用のドメインに修正する必要があります。

「WordPressをローカル環境で構築する方法(Local編)」の記事では https://wordpress-local.com というドメイン・URLで簡易的にSSL化し、httpsにしていたので変更はありませんが、通常ですと下記のようになる場合があります。

http://localhost
http://localhost/test/
http://localhost/wp_001/
http://localhost:1024

上記のようにlocalhost以降は任意のポート番号だったり、任意のフォルダ・ディレクトリ名で管理することもあると思います。

このままだと本番環境に移行した際にURLが上手く適用されず、場合によってはWordPressの管理画面にログインできない可能性があります。

http://wordpress-local.com
https://wordpress-local.com

また、ローカル環境ではhttpだけど、本番環境ではhttpsにしたいということもあるかもしれません。
それでは実際に.sqlデータを置換します。
.sqlデータを編集するのにテキストエディタを使う必要があります。
テキストエディタはたくさんあるのでどれを使っても構いません。

今回は日本語で使えるテキストエディタとして下記のエディタ「Terapad」を使います。

https://tera-net.com/library/tpad.html

上記よりダウンロードしてインストールしてください。インストーラーではなく、zip形式のファイルで展開して利用する形で大丈夫です。

Terapad置換
Terapadを起動してメニューのファイルから開くをクリック、ファイルの種類を全てにして、エクスポートした.sqlのファイルを開いたら、「CTRL+R」をキーボードから入力してください。

置換のウィンドウが開いたら、上の枠にローカル環境でのURLを入力します。
もし、ポート番号やフォルダ・ディレクトリ名で管理している場合はその全てを入力しましょう。

次に本番環境でのURLを入力しましょう。httpsなのか、httpなのかもチェックすることが大事です。
「すべて置換」でも大丈夫ですが、不安な方は「連続置換」でひとつひとつチェックしても良いかもしれません。

こうしたテキスト形式のデータの取り扱いに慣れていない場合は検索や置換などで悩むことがありますので、必ずバックアップを作成して、別の場所の元のデータと同じものを保存してから作業しましょう。
置換が終わったら保存してファイルを閉じて、phpMyAdminよりインポートを行ってください。

sqlデータのインポート

phpMyAdminインポート
次に移行する側のphpMyAdminを開いて、作成したデータベースを選択し、インポートをクリックします。
ファイルを選択で先ほど修正したSQLのデータを選択します。

sqlデータ選択
ファイルが選択されたことを確認したら、画面を少しスクロールして、左下にある実行をクリックしすればデータベースのインポートは終了です。

wp-config.phpの修正

localからWordPressフォルダを開く
次はlocal by Flywheelで上記の箇所をクリックしてフォルダを開いて、app、publicとクリックしてWordPress本体があるフォルダを開きます。

C:\Users\ユーザー名\Local Sites\wordpress\app\public

エクスプローラであればユーザー名の部分にお手元のパソコンのユーザー名を入れれば開くと思います。ただし、環境によって異なりますので注意してください。
WordPressのデータが確認出来たら、データを作業用のフォルダにコピーします。
移動ではなくコピーなのは、ローカル環境のWordPressをバックアップとして残しておくためでもあります。
今回はユーザーのドキュメント内にwordpressというフォルダを作りコピーしました。
適当なフォルダに移動したら、wp-config.phpを編集しましょう。

wp-config.php編集前

【編集前】
// ** MySQL settings ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘local’ );

/** MySQL database username */
define( ‘DB_USER’, ‘root’ );

/** MySQL database password */
define( ‘DB_PASSWORD’, ‘root’ );

/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );

wp-config.php編集後

【編集後】
// ** MySQL settings ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘wp_online_db’ );

/** MySQL database username */
define( ‘DB_USER’, ‘wp_user’ );

/** MySQL database password */
define( ‘DB_PASSWORD’, ‘password’ );

/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );

移行先のphpMyAdminで作成したデータベース名とユーザー名、パスワード名とホスト名をそれぞれの箇所に入れ込みます。
編集したら保存して閉じます。

次はFTPで移行先のサーバーに接続してファイルをアップロードします。

ファイルのアップロード

FFFTPサイト
公式ページ: https://ja.osdn.net/projects/ffftp/

今回はサーバーと接続するのにFFFTPを使います。インストール方法は公式ページに記載があるので省きます。

FFFTP画面
レンタルサーバーや自前のサーバーのFTP接続情報を入力してサーバーとFTP接続します。
FTPの情報は基本的にユーザー名、パスワード、ホスト名と、環境によってはポート番号などが挙げられます。
入力する項目は少ないので、間違いのないように入力すれば接続できます。

WordPressディレクトリアップロード
接続されたら、左側のローカルフォルダは作業用にWordPressを移動したフォルダを選び、右側はアップロードするドメインのフォルダを開いて、全てのファイルをアップロードしましょう。
これにはかなり時間が掛かりますので、ゆっくりと待ちましょう。

表示確認

表示確認
LOCALで作業していたwordpress-local.comのドメインのまま、本番環境でも同じように表示されました。
基本的にはレンタルサーバーでも自前のサーバーでも、ドメインのフォルダに何も存在しない状態であり、LOCALと同じドメイン、https、なるべくなら同じデータベース名なら不具合なく動く可能性が高いです。

ただし、手元の作業用パソコンやサーバーの環境によって異なりますので、レンタルサーバーや自前のサーバーの環境に合わせて適宜編集する箇所が増えることを忘れないようにしてください。

今回は修正しなくても済みましたが、sqlデータの修正方法と.htaccessの修正方法についても併せてご説明します。

.htaccessの修正

local by FlywheelでWordPressを構築したフォルダには.htaccessが含まれていませんが、移行するサーバー側に存在する可能性があります。
ドメインがフォルダ分けされておらず、レンタルサーバーのルート直下がドメインのフォルダになっている場合、.htaccessが存在する可能性が高いです。

また、レンタルサーバーにありがちな「WordPress簡単設置!」のようなレンタルサーバーのコンソールでクリックだけでWordPressを構築できる場合にも.htaccessが作られていると思います。
その他にはサブドメインでフォルダ分けしている場合にも.htaccessによってアクセスを制御していることもあります。

.htaccessについては、同じサーバーに別のサイトやサービスがある場合に影響が出る可能性が高いので十分に注意しながら編集しましょう。
レンタルサーバーや自前のサーバーによって設定が違いますが、詳しくは下記のWordPresのWikiを参照して編集することをおすすめします。

WordPress Codex 日本語マニュアル .htaccess
https://wpdocs.osdn.jp/htaccess

.htaccessを編集する時はFTPのソフトでダウンロードしてアップロードするよりも、WEBFTPでアクセスして、.htaccessの本体を編集したほうが早いです。
ただし、必ずバックアップを取ること、すぐに戻せるように手順をメモして覚えておくことが大前提です。

まとめ

今回はLOCALから本番環境にWordPressを移行する手順をご説明しました。

実際に作業する中で参考としたサイトや記事の中にも手順や記述する形式、意味や考え方や捉え方の違いなどあり、すんなりといかない部分もありました。

WordPressのカスタマイズやサーバーの設定ファイルの編集や修正などは適宜置き換えなければならない部分がたくさんあります。

特に、任意の文字列やご自身の環境に合わせてといった部分がわからなくなることもあるので、一回で成功させようとするよりも、何度か繰り返して確実に操作や手順を覚えることも重要ではないかと思います。

まずはバックアップを取ること、作業するフォルダ、ダウンロードしたファイル、元のデータの保存場所など、同じ内容のデータやファイルをきちんと把握することも意識しましょう。

ユーザー名やディレクトリ名、データベース名やドメイン、ローカルホスト名など何が重要で編集や修正する必要があるのか、よく見極めて理解できるようになると、WordPressだけでなく、サーバー関連の知識やスキルを高める上で役立ちます。

失敗する場合はまずは自分自身を疑うこと、次に参考とする記事やサイトのアップロードされた日時をチェックすること、
同じような環境で作業しているのかにも注目して、少しずつ「できないこと」を「できること」に変えていくことが一番大切だと思います。