ここまででサーバー設定、FTP、Apache、SQL、メールの設定が完了したのでWordpressの設定を行う。Wordpressに関してはレンタルサーバーからの引っ越しを行うので、Wordpressの新規インストールや初期設定については説明しない。
引っ越し自体は非常に簡単である。
WordPressにbackwpupのプラグインが入っていなければインストールする。インストール後、ジョブを追加しバックアップを行う。backwpupの使い方については
今こそ安心できるWordPressバックアップを!復旧作業まで実際にやってみたWordPress丸ごとバックアップ法
を参考に。キャッシュプラグインを利用している場合、cacheファイルは除外しておくと良い。バックアップ実行後「backwpup_xxx.tgz」(圧縮方式によりファイル拡張子異なる)が作成されるので、新サーバーへコピーする。
新サーバーでフォルダーとデータベースの準備をしておく。フォルダーとデータベースは元サーバーから変更しても良いが、同じ構成にしておけば設定ファイルの修正等なしに使えるようになる。
元サーバーのwordpressがユーザー「mami」下にあったとした場合、rootユーザーにて
adduser mami chmod 755 /home/mami cd /home/mami mkdir www cd www tar -zvxf backwpup_xxx.tgz cd .. chown -R apache.apache www
wwwやbackwpupのフォルダー名やファイルパスは自身の環境に合わせる事。ファイルの展開が終わったら、データベースを準備する。backwpupを展開した先にwordpress_db.sql があるはずなので、その内容をデータベースに流し込めば完了だ。データベース名やユーザー名は自身のwordpressの設定(wp-config.phpの内容)に合わせる。
mysql -u root -p create database データベース名; GRANT ALL PRIVILEGES ON データベース名.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード'; exit;
mysql -u ユーザー名 -p データベース名 < wordpress_db.sql
もしデータベースを間違えてしまった場合、データベースを下記コマンドで削除後create databaseからやり直せばよい。
mysql -u root -p drop database データベース名
wordpress自体の引っ越しはこれだけだが、必要に応じて以下の設定を書き換える
- wp-config.phpのデータベース関連設定
- wp-config.phpのドメイン設定
ドメイン名を変更した場合、wp-adminに入れなくなるため(元サーバーに飛ばされてしまう)wp-config.phpに下記行を追加し、ドメインを変更しておく。
define('WP_HOME', 'http://新ドメイン/パス'); define('WP_SITEURL', 'http://新ドメイン/パス');
参考:http://d.hatena.ne.jp/koyukin/20120218/p1
ドメインに変更が無くレンタルサーバーからVPSへの引っ越しの場合、新しいサーバーへのドメインとIP関連付けの前に作業を行うには、一時的に自分のPCのみ同ドメインで新サーバーにつながる様に設定しておけば良い。
Windowsであれば、
c:\windows\system32\drivers\etc\hosts
ファイルにドメインとIPの関連付けを独自設定出来るので、ここに
111.222.333.444 programresource.net
の様に記載しておけば、即時自PCからは新サーバーにつながるようになり、作業が出来る様になる。作業完了後、実際にドメイン名と新サーバーのIP更新作業が完了したら、hostsファイルから記述を削除すれば良い。
wordpressの準備が出来たら、apacheの設定を行う。
vi /etc/httpd/conf/httpd.conf
下記行を修正
AllowOverride All DirectoryIndex index.html index.html.var index.php
wordpress設定ファイルを追加
vi /etc/httpd/conf.d/wordpress.conf
<VirtualHost *:80> ServerName programresource.net DocumentRoot /home/mami/www <Directory /home/mami/www> Options SymLinksIfOwnerMatch AllowOverride All DirectoryIndex index.php </Directory> </VirtualHost>
同一サーバーでマルチドメイン化する場合、httpd.confの最後に
NameVirtualHost *:80
を追記し、ServerNameとDocumentRoot、Directoryを変更したwordpress.confの別ドメイン用ファイルを作成しておけば良い。
設定編集後apacheを再起動する
/etc/init.d/httpd restart
これでwordpressにアクセスできるので、web上で設定を変更する。筆者が行ったのは
- WP Overviewプラグインの追加(接続しているサーバーのIP確認)
- WP Super Cacheのクリア
- WP File Cacheのクリア
- BackWPupの設定変更
ドメインを変更した場合、jetpackを利用していれば一旦jetpackを解除し、再度連携しなおす。注意する点は、新サーバーでjetpackを解除すると、元サーバーの連携まで解除されてしまうので、元サーバーでも連携解除してやり直す必要がある事だ。
新サーバーでカテゴリーやタグ、メディア、投稿を手動で削除する場合、数が多ければWordpress管理画面右上の「表示オプション」で表示件数を増やしてから作業すると一括選択出来て多少ら楽に行える。ただ、メディアは300件程度は纏めて処理できたがそれ以上となるとURLが長すぎてエラーとなってしまった。
これで新サーバーへの移行の基本は完了である。最後のPartではアクセス制限(アクセス過多でサーバーが落ちるのを防ぐ)とサービス監視の設定を行う。