久しぶりに、WordPressのサーバー引越しをしたら、あまりに簡単になっていたので、その手順をまとめてみた。以下、ドメイン名hogehoge.jpで運用しているサーバーAをサーバーBに引っ越させるという設定で話を進めている。
目次
移転先サーバーBの設定からWordPressのセットアップまで
移転先のサーバーBで、次のような手順で作業を進める。
- サーバーAで運用中のドメインhogehoge.jpを、サーバーBにセット
- サーバーBにドメインhogehoge.jpのサブドメイン(例えばtest.hogehoge.jpなど)を設定
サブドメインでhogehoge.jpと同じウェブルートを参照できるようにする - DNS設定で、test.hogehoge.jpにサーバーBのIPアドスをセット
- DNS設定が反映されたらFTPクライアントで、上記のウェブルートにWordPressファイルを転送
- ブラウザからtest.hogehoge.jpへアクセス
こんな画面が表示されたら取り敢えず成功。
「設定ファイルを作成する」ボタンをクリックして先に進むと、データベースの設定、wp-config.phpの作成(自動で作ってくれる場合もある)、ユーザーの設定という手順で、インストールが完了する。
最近は、ほとんどのレンタルサーバーがWordPressのクィックインストールに対応しているので、実際はもっと簡単に終わってしまうだろう。
インストールが完了したら、管理者画面にログインする。サイドメニューから設定→一般を選択すると、例えば次のようになっている。
赤矢印のところに注目して、WordPressアドレス(URL)、サイトアドレス(URL)が、ともにhttp://test.hogehoge.jpとなっていることを確認しておく。
プラグインやテーマの移動とデータベースの移転
ここで、移転元のサーバーAにFTPクライアントでアクセス。wp-contentフォルダを、ローカルディスクに丸ごとダンロードする。次に移転先のサーバーBにFTPクライアントでアクセスして、先ほど、新規インストールしたWordPressのwp-contentフォルダ内に、ローカルディスクにダウンロードしたwp-contentフォルダ内の中身をすべてコピーする。
続いて、移転元のサーバーAにセットアップしているデータベースのバックアップを取る。データバック用のWordPressプラグインもあるが、ここではオーソドックスにphpMyAdminを利用する。
エクスポートするときの設定は次のとおり。
最後に、移転先のサーバーBのデータベースにphpMyAdminでアクセスして、サーバーBからエクスポートした圧縮ファイルを選択する。これをサイトBのWordPress用データベースにインポートすれば、ここで作業は一段落する。
WordPressのアドレスとDNSの設定
ここまでできたところで、ブラウザでhttp://test.hogehoge.jpにアクセスする。サーバーAで稼働中のhttp://hogehoge.jpとまったく同じトップページが現れるが、管理画面にはログインできない。
そこで、移転先のサーバーBにセットしているデータベースにログインして、wp_optionsのsiteurlをhttp://test.hogehoge.jpに書き換える。
ここで再びWordPressの管理画面へのログインを試みると、今度は無事にログインできる筈だ。
ログイン後、サイドメニューから設定→一般を選択すると、WordPressアドレス(URL)の欄にhttp://test.hogehoge.jp、サイトアドレス(URL)の欄にhttp://hogehoge.jpが入力されているので、サイトアドレス(URL)の欄もhttp://test.hogehoge.jpに書き換える。
これで、サイト内を自由に点検できるようになるので、すべてのデータや設定がきちんと、http://test.hogehoge.jpに移転できているかを確認する。
問題なければ、もう一度、管理画面のサイドメニューから設定→一般を選択して、WordPressアドレス(URL)とサイトアドレス(URL)の両方にhttp://hogehoge.jpと入力して保存する。
後は、DNS設定で、http://hogehoge.jpのIPアドレスをサイトBのものに書き換え、コーヒーでも飲みながら(最近、MACノートにコーヒーこぼして大変なことになった人がいるので、飲むならパソコンから離れよう)設定が反映されるのを待つ。
どうしてWordPressのサーバー引越しはこんなに楽になったのか
最近、立て続けにWordPressで構築した3つサイトのサーバー移転を行ったが、いずれもこの方法でうまくいった。移転先のレンタルサーバーは、さくらのスタンダード、ヘテムル、ファイアーバードだったが、標準的なレンタルサーバーならほとんど問題はないと思う。
なお、ログインやユーザーからの書き込みを許可していないサイトであれば、シームレスに移転を行うことも可能だが、DNS設定が反映されるまでの間は、移転元のサイトAに、只今メンテナンス中というページを表示させておいた方がよいだろう。HTMLで簡単なページを作ってもよいが、Maintenance ModeといったWordPressのプラグインもある。
最後に、以前のサーバー引越しと何が大きく変わったのかを調べてみたが、結局、移転先でwp-config.phpを編集する手間がなくなったというだけのことのようだった。
こんな小さな改良で、久しぶりに触った人間に劇的に進化したという印象を与えてしまうのだから、まあ、こういうところがWordPressのすごいところ(うまいところでもある)なのかもしれない。