重いサーバで動いていたWordPressを移転しました
いくつかCORESERVERのレンタルサーバを契約しているんですが、そのうちの1つ、かなりハズレな重たいサーバがそろそろ更新時期が近づいてきたので、いい機会なのでオサラバすることにしました。
そのサーバ上で動いているサービス(といってもWordPressがほとんどですが)も結構あるんですが、そいつらは他に借りているマシなサーバに移行することにします。同じCORESERVERなので最小限の変更で済みそうなので多分簡単だろう、ということで。
目次
移行元WordPressのバックアップ
まず、キャッシュ系プラグインの停止と、phpMyAdminでのDBのエクスポート、ファイル一式のバックアップを行って、tarなりzipなりに固めておきます。
主な手順は先日の記事「えすたくぶろぐもWordPress 3.5にアップデートしました」の通りです。
DNS設定の変更
VALUE-DOMAINにログインして、ドメイン設定を変更します。他のドメイン業者を使っている人はもちろんそちらで。
今回はサーバの変更だけでドメインはそのままですので、ドメインに割り当てているホストのIPアドレスを移行元から移行先のものに変更します。
切り替えはだいたい30〜1時間程度要するようです。その間、以下の作業も進めておきます。
ドメインウェブ設定
移行先のCORESERVERの管理画面の「ドメインウェブ」に移行元と同じドメイン名を追加します。
数分以内にサーバ内にドメイン名のディレクトリが作成されます。hogehoge.comの場合、下のパスに作成されます。
移行先データベースの作成
CORESERVERの管理画面の「データベース」から、MySQLの追加を行います。これは、移行元のDB設定と同じ情報にしておきます。移行元と移行先のサーバでユーザ名が異なる場合は、DBのPREFIX(ユーザ名_)が異なってしまいますが、ここは変えようがないので気にしないでいいです。アンダーバー以降は同じ文字列にしておきましょう。
移行先(ユーザ名: after)… after_wp
作成したデータベースは数分で使えるようになります。
phpMyAdminで移行先DBにインポート
上記で作成したデータベースが使えるようになったら、phpMyAdminでログインして、バックアップしておいた移行元のDBをインポートします。
WordPressファイルのコピー
tarで固めたファイル一式を移行先サーバにFTPなどで転送し、展開します。
移行元のWordPressが最新であればそのままWordPressごと復元させてしまえばいいのですが、僕の移行元環境ではインストール時に何を間違えたか原因がよくわかっていないんですが、v3.3.1の頃のWordPressのままバージョンチェックが正しく動かず、WordPress本体やプラグインの更新などが行えないようになっていたので新規にWordPress 3.5をインストールすることにしました。
バックアップからは使用しているテーマとプラグイン一式だけを持ってきました。システムディレクトリ名を変更している場合(標準では wordpress)は移行元と同じ名前にしておきます。
DNSが切り替わるまで待つ
上記で前準備は完了です。DNSが切り替わっていれば(WordPressのURLを表示させようとすると 403 Forbidden などのエラーが出るなど)、すぐに次の作業にとりかかります。
WordPressの管理画面にログイン
もうすでにDBにデータをインポート済みですので、基本的にはそのまま動くと思います。僕がやったように移行元と移行先のWordPressが異なっている(移行先の方が新しい)場合、データベースの更新を行うように促されますので、データベースを更新します。
移行したWordPressがちゃんと動いているか、エラーが出ていないか動作確認をしましょう。
その他注意点
移行元と移行先のユーザ名が異なっている場合、WP-DBManagerなどのプラグインでエラーが出る場合があります。
Path To Backupの設定値が、移行元のパスを使っているので、これを移行先のパスに置き換えます。「/virtual/ユーザ名/…」の部分です。
その他、ユーザ名が異なっている場合は設定値を手動で直さないといけないプラグインがあるかもしれません。また、テーマなどで上記のようなパス指定を指定していたりする場合は同様に修正が必要です。
移行後、各WordPressも多少なりとも速く動くようになったし、レンタルサーバ代も削減できるしでもっと早く作業しておけばよかったなあ。