メニュー

プラグインを使わずにWordPressを引っ越しさせる方法

2021.04.26

WordPressを引っ越しするときに使用する有名なプラグインと言えば「All-in-One WP Migration」がありますが、今回はそういったプラグインを使わずにファイルやデータベースを手動でサーバーを引っ越す方法をご紹介します。

このやり方はざっくり言うとサーバー内のWordPressデータをFTPソフトなどを使って移動させ、データベースもphpMyAdminを使ってエクスポート/インポートするやり方になります。

ちなみにプラグインを使わないメリットはサーバーと使用するFTPソフトさえ動けば容量による制限がありません。
かつ引っ越し前と引っ越し後でおなじWordPressファイルを使うので、バージョンも含めて
まったく同じ環境でまるっと引っ越しを完了することができます。

今回説明する引っ越しの環境は引っ越し元がさくらのレンタルサーバー、引っ越し先がXserver、ドメインの管理元がお名前.comになりますので各サービスを基に引っ越しの手順を解説させていただきますが、他レンタルサービスでも同じような作業が必要になりますので参考にしていただければと思います。

【引っ越し元サーバー】さくらのレンタルサーバー(スタンダード)
【引っ越し先サーバー】Xserver(X10)
【ドメイン管理】お名前.com
【引っ越しサイト】mets-lab.com

WordPressを引っ越すときに気を付ける点

環境(バージョン)を合わせる

サーバー間で引っ越すにあたってサーバーの環境に気を付けてください。
引っ越し先のサーバーにおいてphpやデータベース(MySQL)が使えることは最低限必要ですが、
phpなどバージョンが異なると動きませんので、引っ越し元で使っているphpのバージョンと引っ越し先のバージョンを合わせるようにしましょう。
phpは7.xxまで厳密に合わせなくても動きますが、5系と7系などの違いがあれば不具合を起こしてしまいます。
サーバー側も7系のphpにシフトしてますので、可能であれば引っ越す前にphpのバージョンを最新にして、引っ越し先と環境に差が出ないようにしておきましょう。

新規でデータベースを作れるか

サーバー会社のサービスによっては、サーバーで使えるデータベースの個数が決まっている場合があります。中にはデータベースが一個しか使えない会社もありますので、気を付けてください。
新規でWordPressを設置するのであれば問題ありませんが、既にデータベースを使っている場合、既にあるデータベースにプレフィックスで被らないようにしてインポートすることも可能ですが、一つのデータベースで複数のサイトの情報を管理するとなると使い勝手が悪いためなるべくWordPressひとつに対してデータベース一つの利用が望ましいです。

プラグインの停止

プラグインの中にもSiteGuardの様なセキュリティ系のプラグインがオンのままだと引っ越した後にサーバー環境の違いによりアクセスできないといった事象が起こることがありますので、影響を及ぼしそうなプラグインは一旦停止して引っ越した後に再度有効化させるといったことが必要になります。

もしどのプラグインを停止させれば良いか分からない場合は、有効中のプラグインをメモした後にすべて停止させ、引っ越してからプラグインを有効化し直すといった方法でも大丈夫です。

引っ越し先でWordPressを設置するディレクトリの設置

今回の引っ越し先はXserverですので、Xserverの仕様に合わせてディレクトリを作成します。
Xserverの場合、管理画面にて使用するドメインを登録すれば自動でそのドメイン用のディレクトリが作成されるので、まずはドメインの登録を行います。

さくらやロリポップなどは、任意でディレクトリを作成してドメインの紐付けが行えますが、Xserverの場合はドメインを登録したら専用のディレクトリが作成されてそこに必要なデータを入れるといった仕様になります。

FTPでのデータ移設

WordPressファイルのバックアップ

FTPソフトを使ってデータ移設する場合は、該当するサイトのWordPressのファイルを丸ごとローカル環境にバックアップ(コピー)を取ります。

私の場合はFTPソフトはWinSCPを使っていますので下記の様な画面になります。

引っ越し先のディレクトリ設置

Xserverの仕様ではサーバーパネルでドメインの設定を行えば、専用のディレクトリがサーバーに設置されますのでドメインの登録を行います。

このときにSSLの設定まで出来れば楽なのですが、この時点ではネームサーバー設定がさくらのレンタルサーバーになってますのでSSLの設定は出来ません。あとでネームサーバー設定を変更してからSSL設定を行います。

ドメイン設定で「mets-lab.com」を登録したので、FTPでXserverに接続したら「mets-lab.com」というディレクトリが設置されていました。実際にサイトが表示されるのは「mets-lab.com」の中の「public_html」ディレクトリになりますので、この中に先ほどダウンロードしたWordPressファイルを今度はXserverにアップロードします。

public_htmlディレクトリの中にはデフォルトでいくつかファイルが入ってますが、必要ないので削除しても構いませんが、「.user.ini」ファイルに関してはいずれ使用するかもしれないので、バックアップだけとって削除します。

以上でWordPressのデータの引っ越しは完了です。

SSH接続でのデータ転送(上級者向け)

データの引っ越しに関してSSH接続でのやり方も紹介しておきます。
※FTPを使う方は次の「データベースのエクスポート(引っ越し元)」へ

私自身、軽いデータファイルであればFTPソフトを使用するのですが、転送量が多い場合FTPソフトでは時間がかかるので「Tera Term」でSSH接続してコマンドで転送させます。

SSH接続は知らない方のために説明すると、いわゆる「黒い画面」でLinuxコマンドを打ち込んでファイルを扱う作業になります。
Macユーザーであればターミナルを使ったりしますが、私はWindowsでの作業が多いので普段は「Tera Term」を使って作業します。

数十MB程度であればFTPソフトでも十分なのですが、数百MB以上になると時間が掛かるうえに、回線が細いと接続が切れてやり直しになる場合はありますので、大きなデータの転送を行う場合はSSH接続をしてコマンドラインを使っての転送を覚えておいた方が良いでしょう。

SSH接続に関しては詳しくは下記リンクからご確認ください。

XserverのSSH接続
さくらのレンタルサーバーSSH接続

さくらレンタルサーバへのSSH接続の記事もご覧ください

引っ越し元のデータを圧縮

引っ越し元へSSH接続(ここではさくらのレンタルサーバー)して該当のディレクトリを転送用に圧縮します。

さくらのサーバーにアクセスできたらcdコマンドでwwwの中に入ります。
wwwの中に様々なWordPressディレクトリがありますが、今回お目当てのディレクトリはmets-labディレクトリです。下記のコマンドで分かりやすい名前を付けて転送用のファイルを作成します。

#tar cvzf [圧縮ファイル名] [圧縮したいディレクトリ]
tar cvzf mets-lab_20210426.tar.gz mets-lab

上記コマンドを実行すると黒い画面の中ですべてのファイルがバーッと表示されて圧縮が始まります。300MB程度の容量でしたが、1分程度で圧縮が完了しました。これで引っ越し元の転送準備は完了です。

引っ越し先に転送

次は引っ越し先にSSH接続(ここではXserver)に接続して先ほどの圧縮ファイルを転送させます。

XserverにSSH接続できたら、scpコマンドでさくらのレンタルサーバーで圧縮したファイルを任意の場所に転送させます。(ここでは「mets-lab.com」ディレクトリ内の「public_html」)

#引っ越し元に接続して指定したファイルを持ってくる
scp -r xxx@xxx.sakura.ne.jp:/home/xxx/www/mets-lab_20210426.tar.gz /home/xxxx/mets-lab.com/public_html

※xxxは自身のアカウント情報になります。

さくらのレンタルサーバーに接続する際パスワードを聞かれますので、パスワードを打ち込んでEnterで転送が始まります。

これで先ほど圧縮した「mets-lab_20210426.tar.gz」ファイルがXserverの方に転送されました。時間的には数秒で完了しました。(転送時間は環境によって異なります)

転送したファイルの展開

ファイルの転送が完了しましたので、これを使える状態に戻します。

転送したファイルと同階層に移動して下記コマンドで展開します。

#ファイルの展開
tar vxzf mets-lab_20210426.tar.gz

展開が完了するとpublic_htmlの中にmets-labディレクトリが展開されました。この中にWordPressのファイル群が入ってます。しかしこのままでは階層が違いますのでmets-labディレクトリの一つ上の階層、つまりpublick_htmlの直下に移動させます。

#mets-labディレクトリに移動
cd mets-lab
#今いるディレクトリ内すべてのファイルを一つ上の階層に移動
mv * ../
#.htaccessの移動
mv .htaccess ../
#不要になったファイルやディレクトリの削除
rm -r mets-lab_20210426.tar.gz
rm -r mets-lab

一瞬で終わりますが、.htaccessファイルがある場合、隠しファイルはこの一括移動で一緒に移動されませんので、個別に移動させます。不要になった転送ファイルやディレクトリを削除して移動完了です。

以上でSSH接続によるデータの転送が完了です。

覚えるまで少し手間が掛かりますが、FTPソフトに比べて転送時間が大幅に削減されますので、使えるようになればメリットは大きいです。

慣れないうちは、FTPソフトでファイルを確認しながらやると安心です。
※すぐにFTPのビジュアルに反映されない場合がありますので、更新して確認しましょう。

データベースのエクスポート(引っ越し元)

phpMyAdminを使ってデータベースの中身を丸ごとエクスポートします。

さくらのレンタルサーバーでは、データベースメニューから「phpMyAdminログイン」ボタンがありますので、こちらからphpMyAdminにログインします。

phpMyAdminへログイン出来たら、使用しているデータベースを選択してエクスポートメニューからエクスポートします。

※特に設定がなければそのままで「実行」大丈夫かと思います。

ローカル環境に.sqlファイルがダウンロードされますので、これを引っ越し先のデータベースにインポートします。

データベースのインポート(引っ越し先)

新規データベースの作成

Xserverで専用のデータベースを作成します。

サーバーパネルのデータベース>MySQL設定のMySQL追加タブをクリックしてデータベースの追加を行います。入力エリアに半角英数字で16文字以内の名前を設定します。今後WordPressを増やしていく場合は管理上分かりやすいネーミングをつけましょう。

データベースアカウントの作成

データベースを作成したら、作成したデータベースを扱う為の専用のアカウントを設定しておきます。

MySQLの設定よりユーザーID(半角英数8文字以内)とパスワード(半角英数.8文字以上16文字以内)を設定します。
ここの情報はphpMyAdminへのアクセスと、WordPressの設定情報になる重要情報ですのでしっかりと管理しましょう。

MySQL設定のMySQL一覧タブに先ほど追加したデータベースのアクセス件未所有ユーザーのプルダウンに先ほど作成したユーザーが追加されますので、選択して「追加」ボタンを押します。

これで先ほど登録したユーザー情報でphpMyAdminへアクセスが可能となります。

データベースのインポート

追加したデータベースにphpMyAdminを使ってデータベースをインポートします。
Xserverのサーバーパネルのデータベース > phpmyadminからアクセスするとベーシック認証でユーザーIDとパスワードを聞かれますので、上記で登録したIDとパスワードでログインしてください。

1.使用するデータベースを選択
2.インポートタブの開く
3.「ファイル選択」で引っ越し元でエクスポートしたsqlファイルを選択
4.「実行」でインポートを実行

以上でデータベースにデータが登録されます。
インポート画面に様々な設定がありますが、エクスポートしたsqlデータが特に特殊な設定でなければデフォルトの設定で大丈夫です。

エラーなくインポート実行が完了したらデータベースの移設は完了となります。

データベースのドメイン設定の変更

※2022/11/17追記

引っ越し元と引っ越し先のドメインが同じ場合はこちらの設定は必要ありません。

もし引っ越し元と引っ越し先でドメインが変更になる場合は、WordPressのデータベースのドメイン設定の変更が必要になります。詳しくは下記の記事「データベースのドメイン設定の変更」「記事などのURLの置換」をご覧ください。

wp-config.phpの設定

wp-config.phpには様々な設定情報が入っており、この中のデータベースの情報を変更します。
今まで引っ越し元サーバーのデータベース情報を使っていましたが、ここを変更して引っ越し先サーバー(Xserver)のデータベース情報にします。

サーバーのwp-config.phpをローカルに落として該当箇所を先ほどデータベースを作成する際に設定した情報に変更します。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'xxxxxxxx');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'xxxxxxxx');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'xxxxxxxx');

/** MySQL のホスト名 */
define('DB_HOST', 'xxxxxxxx');
  • データベース名
  • ユーザーアカウント
  • パスワード
  • ホスト

ホスト情報はデータベース>MySQL設定の画面で確認することが出来ます。

以上、情報の変更が完了したら再度サーバーにアップします。情報に間違いが無ければドメイン切り替え後に無事サイトが表示されるようになります。

ドメインの切り替え

ドメインのDNSが、引っ越し元のサーバーに設定されていますので、これを引っ越し元の設定にします。
今回はお名前.comにて管理しているドメインのDNSの切り替えを行います。
今までさくらの方に向いていたDNSをXserverの方に切り替えます。

プライマリネームサーバns1.dns.ne.jp
セカンダリネームサーバns2.dns.ne.jp
さくらインターネットのネームサーバー情報(最新の情報は公式公式から取得してください)

さくらインターネットでは上記のネームサーバー情報になってました。
それをXserverの情報に変更して、ドメインの方向をXserverに向くように設定します。

ネームサーバー1ns1.xserver.jp
ネームサーバー2ns2.xserver.jp
ネームサーバー3ns3.xserver.jp
ネームサーバー4ns4.xserver.jp
Xserverのネームサーバー情報(最新の情報は公式から取得してください)

大体ネームサーバーに登録するアドレスが二つ以上は用意されていると思います。
Xserverは5つ用意されてましたが、4つ設定しました。心配な方は用意されているアドレスすべて登録しても構いません。

※プライマリネームサーバ/ネームサーバー1などサーバー会社によって名称が違う場合があります。上から順番に登録していけば問題ありません。

今まで「mets-lab.com」を閲覧する際、さくらの方のサーバーに行ってそこからさくら内で紐づけされたディレクトリを見せるといった設定が、これによってXserverの方のサーバーへ行ってXserver内で紐付けされたディレクトリを見せるといった設定に変わります。

ドメインが切り替わるまでの時間

DNSの切り替え作業は大体24時間程度掛かりますが、お使いの環境によっては30分程度で見れるようになります。
技術的な話しになりますが、ドメインの切り替えは世界中のDNSサーバーに切り替えを通達して浸透していきます。
DNS経由で広がっていくので、場所によっては切り替わっているところと切り替わっていない場所が発生する場所が出てきます。
私自身の経験ではいつも30分程度で切り替わるのですが、浸透が遅い(遠い?)場所であれば数日掛かるようです。

もしドメインを切り替えてもうまく表示されないようであれば引っ越し元のネームサーバー情報に戻せばまた30分程度で戻ります。
不測の事態に備えて無事引っ越しが完了するまでは、引っ越し元のデータはそのまま残しておきましょう。

SSLの設定

上記でも触れましたが、ネームサーバーが既にXserverになっている状態であれば、ドメインの登録作業を行う際、SSLの取得も一緒に出来るのですが、ネームサーバーが他社になっている状態であれば一緒に取得することが出来ません。
DNSサーバーの設定が完了してドメインの切り替えが反映された状態になればSSLの設定も出来るようになりますので忘れないようにしましょう。※だいたい1時間くらいで反映されます。

hostsで疑似的に確認する

ドメインのネームサーバー情報を切り替えるまで引っ越し先でしっかりサイトが表示されているか分かりません。
どうしてもドメイン切り替え前に確認しておきたいといったときにはhostsを使って確認することができます。

hostsはPC内でIPアドレスとドメインを紐付ける設定で、
exsample-xxxxx.comのドメインをリクエストしたときにxxx.xxx.xxx.xxxのサーバーを見に行くといった事を設定したPC内で行う事が出来ます。

Xserverの場合、サーバー情報からサーバーのIPアドレスの情報が分かりますので、hostsファイルに下記のように追記して

xxx.xxx.xxx.xxx exsample-xxxxx.com

ドメインのネームサーバーの切り替えをしていなくても、サーバー内でドメインの紐づけが完了していれば
ドメインを使って疑似的にドメインに紐付けされたディレクトリを見ることができます。

※SSLの設定には対応してません。

最後に

以上で引っ越し作業は完了です。
念のため管理画面に入って操作に支障が無いか確認しましょう。
私の場合、引っ越し元のデータに関してはバックアップとして(ベーシック認証などかけて)残しておきますが、容量のひっ迫など気になる方はデータ一式をローカルで保存しておいて引っ越し先の運用に問題ないことが確認できた段階で削除しましょう。

作業を行う際は、すぐに元に戻せるようバックアップを怠らず慎重に行ってください。
みなさまのお役に立てれば幸いです。

関連記事