さくらレンタルサーバのWordPressをお名前.com VPS に引越しする手順

2013年6月13日

WordPress

お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第8回目。前回は PHP をインストールし、APC、memcached など設定するところまでやりました。

WordPress
お名前.com VPS にNginxとPHP-FPMをインストール

お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第9回目。前回はさくら ...

続きを見る

今回は、さくらレンタルサーバで稼働していた WordPress を お名前.com VPS に引越して Apache で動作させるところまでを紹介します。最終的には Nginx で WordPress を動作させるので無駄な作業に思えますが、WordPress は Apache での動作を前提としているプラグインも多く、Apache で環境を作っておくと Nginx で問題が起きた時の切り分けがしやすくなります。

目次

  1. バックアップの前にキャッシュ系プラグインを無効に
  2. WordPress をフルバックアップ
  3. WordPress 用データベースとログインユーザの作成
  4. WordPress のバックアップを復元
  5. VirtualHost の設定
  6. SSL の設定
  7. クライアント PC の hosts ファイルを編集して VPS にアクセス

バックアップの前にキャッシュ系プラグインを無効に

さくらレンタルサーバで稼働している WordPress をバックアップする前に、問題を起こしがちなキャッシュ系プラグインを無効にしておきます。このサイトの引越しの時に無効にしたプラグインは以下の通り。

  • W3 Total Cache
  • DB Cache Reloaded Fix
  • 001 Prime Strategy Translate Accelerator
  • Head Cleaner

CloudFlare も利用していたので、引越しの1週間くらい前に無効にしておきました。

WordPress をフルバックアップ

プラグインを停止したらレンタルサーバで稼働している WordPress を完全バックアップします。以下の記事で紹介している方法で日々のバックアップを取れば、引越しを見据えて日々のバックアップも取れてオススメです。

BackWPupでWordPressをDropBoxに完全バックアップ

引越しの時だけバックアップが取れれば良い方は以下のようなコマンドで。

$ tar -zcf wordpress.tar.gz path-to-wordpress
$ mysqldump -u ユーザ名 -p WordPressデータベース名 --quick > wordpress.sql

WordPress 用データベースとログインユーザの作成

MySQL に root でログインし、WordPress を稼働させるためのデータベースと作業ユーザを作成します。

mysql> CREATE DATABASE データベース名 CHARACTER SET UTF8;

WordPress 用のユーザを作成します。

mysql> GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,ALTER,INDEX ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY "パスワード";

面倒な方は以下でも構いません。

mysql> GRANT ALL PRIVILEGES ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY "パスワード";

作成したユーザの情報を確認します。

mysql> SHOW GRANTS FOR ユーザ名@localhost

WordPress のバックアップを復元

WordPress のファイルをバックアップから復元して、パーミッションの設定を行います。

# mkdir /var/www/wordpress
# cd /var/www/wordpress
# tar -zxf wordpress.tar.gz
# chown -R apache:apache *
# chown apache:apache .htaccess

MySQL のデータベースを復元します。

# mysql -u ユーザ名 -p wordpress < wordpress.sql

wp-config.php を引越し先の DB の情報に更新します。

define('DB_NAME', 'データベース名');
define('DB_USER', 'ユーザ名');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', '127.0.0.1');

バックアップファイルはドキュメントルートから移動しておきます。

# mv wordpress.tar.gz ~/
# mv wordpress.sql ~/

VirtualHost の設定

Apache の VirtualHost はこんな感じ。

/etc/httpd/conf/httpd.conf

### Section 3: Virtual Hosts
NameVirtualHost *:80
<VirtualHost _default_:80>
    ServerName XXX.XXX.XXX.XXX
    DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
    ServerName vXXX-XXX-XXX-XXX.myvps.jp
    DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/wordpress"
    <Directory "/var/www/wordpress">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

SSL の設定

/etc/httpd/conf.d/ssl.conf

##
## SSL Virtual Host Context
##
<VirtualHost *:443>
    DocumentRoot "/var/www/wordpress"
    ServerName  example.com
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/pki/tls/certs/example.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/example.com.key
</VirtualHost>

VirtualHost 以外の Apache の設定や SSL 環境の作成については以下の記事を参考にどうぞ。SSL 証明書の CommonName はご自身のドメインに置き換えてください。

お名前.com VPS にApacheをインストールしてSSL環境も整える

管理画面を SSL 化したい場合は、wp-config.php に以下の設定を追記します。JS, CSS や画像のパスが https になります。

/var/www/wordpress/wp-config.php

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

クライアント PC の hosts ファイルを編集して VPS にアクセス

レンタルサーバからの引越し期間中、引越し元の WordPress と VPS の WordPress が並行稼動する期間が出てきます。VPS 側の動作確認をしたいけど、DNS は引越し元のレンタルサーバを向いている。取得している独自ドメインはひとつだけ。そんなときは、クライアント PC の hosts ファイルに 独自ドメインの情報を設定して VPS にアクセスします。

/etc/hosts

↓VPS の IP アドレスと独自ドメインを追記
XXX.XXX.XXX.XXX  example.com

独自ドメインで VPS にアクセスする方法はお名前.com のDNSを設定し、VPSに独自ドメインでアクセスするにまとめてあります。

終わりに

以上で引越しは完了です。VPS 上の WordPress でひと通りいじってみてください。記事の更新、プラグインの新規インストール、画像アップロードなど、問題ありませんか。Apache での動作に問題がなければ、この後の Nginx のインストール作業に移ります。

次回は、お名前.com VPS にNginxとPHP-FPMをインストールするところをやります。

WordPress
お名前.com VPS にNginxとPHP-FPMをインストール

お名前.com VPS メモリ2G プランに Nginx で WordPress を構築するメモ、第9回目。前回はさくら ...

続きを見る

-技術ブログ
-