ご利用ガイド WordPressサイトをConoHa VPSに移行しよう
目次
WordPressはサイトを構築する手段として、非常にポピュラーです。ConoHaではWordPressとそれに付随するソフトウェアがオールインワンで入ったパッケージが提供されているので、わずか数十秒で構築することができます。
しかし、既に自分のサイトやブログなどを運用されいる方も多いと思います。ConoHaでWordPressを構築したはよいものの、今あるサイトのデータを移行できなければ意味がありません。今回はこの「移行」をテーマにします。
データ移行の厄介さ
WordPressに限らず、一般的にWebサイトの移行というのは何かと面倒な作業になります。ファイルが多かったりサイズが大きい場合は、ファイル転送に時間がかかります。PHPやRubyのようなプログラムが動作していれば、環境を調べてちゃんと動作するか検証が必要になります。データベースを使っている場合、どうやってデータを移行すれば良いでしょうか? あ、もちろん作業はアクセスの少ない深夜帯に行いましょう。ん?、そもそもサイトを止められない? それは困った・・・。
残念ながらこのエントリでは、深夜の作業をお手伝いしたりメンテナンス時間を確保する調整をお手伝いすることはできませんが、既に動作しているWordPressサイトをConoHaに移行するための技術的な部分のお手伝いができればと思います。
移行の方法を二つ紹介します。一つはWordPressプラグインを利用する方法。もう一つは手作業でWordPressそのものをコピーする方法です。
なお、どちらの方法もお客様の環境によって、このエントリの通り動作しない場合があります。あくまで参考手順としてご覧いただき、移行後の検証作業を怠らないようお願いいたします。
プラグインを使う
一つ目の方法は、「All-in-One WP Migration」というWordPressプラグインを使う方法です。プラグインをインストールして数クリックですむので、非常に手軽に実行することができますが、注意点があります。
1. 移行元のPHP側の設定によっては使えない場合がある
2. バックアップアーカイブのサイズが512MB以上の場合は有料契約が必要になる
3. WordPressの管理外のファイルがある場合、それらはバックアップされない
1はPHPの設定によってプラグインが動かないことがあります。PHPのバージョンが5.2.17以上であることと、パラメータのmemory_limitが32MB以上であることが条件になります。おそらく現在のホスティングサービスではほぼ問題ないと思います。
2は、512MB以上のバックアップファイルをリストアする場合、プラグインの有料契約が必要になります。
3は、FTP,SCPなどでWordPressのディレクトリ外にファイルをアップロードしている場合、それらのファイルはWordPressの管理外なためバックアップ対象外になります。ありがちなのは、デザイナやコーダーが独自のCSSファイルやJavaScriptファイルを置いているケースです。
エクスポート
以上を踏まえた上で、実際に試してみましょう。移行元のWordPress管理画面にログインしてください。(このスクリーンショットはWordPress3.9です)
メニューのプラグインをクリックします。
新規追加を選択し「All-in-One WP Migration」を検索してそのままインストールします。
インストールが完了すると、左のメニューにSiteMigrationという項目が登場します。ここから「Export」を選択しましょう。
特に設定は不要です。そのまま「エクスポート」をクリックすると、WordPressがエクスポートされzipファイルになります。
VPS上のWordPressにインポート
次にインポートです。インポート先はVPS(WordPressテンプレート)になります。あらかじめVPSをWordPressテンプレートで構築しておいてください。http://[VPSのIPアドレス]/にアクセスすると、初期画面が表示されます。
ひとまず、サイト名、ユーザ名、パスワードあたりは適当に入力して進めてください。これらの項目は、インポートすると上書きされます。そのまま初期作業を進めて、WordPressの管理画面にログインしてください。
ログインしたら「All-in-One WP Migration」をインストールしてください。これはエクスポートの項で説明した手順と同じなので省略します。
インストールが完了すると、左のメニューにSiteMigrationという項目が登場しますので、「Import」を選択しましょう。点線内にファイルをドラッグアンドドロップするか、「OR, SELECT A FILE」をクリックしてファイルをアップロードします。
以上で移行作業は完了です。とても簡単でした。最後にちゃんとサイトが動作しているかチェックしてください。
手作業で移行する
もう一つの方法として、手作業で移行する方法をご紹介します。
この方法はサーバに関してある程度知識をお持ちであることが前提になります。(SCPコマンドでのファイル転送、MySQLをコマンドでオペレーションするなど)。また、移行元のサーバ環境によっては、以下のエクスポート手順がそのまま使えない場合があります。特にSSHでリモートログインできない場合は、大幅に手順が変わります。一応、補足を入れますがご注意ください。
ファイルのバックアップを作成する
サーバにSSHで接続できる場合は簡単です。WordPressのルートディレクトリに移動して、以下のコマンドを実行します。巨大なサイトで実行する場合は、サーバ側の空きディスク容量に注意してください。また、バックアップのサイズが大きい倍、ディスクの負荷が大きく上がります。運用中のサイトに影響が無いよう注意してください。
# WordPressが/var/www/vhosts/defaultにインストールされている場合を想定
cd /var/www/vhosts/default
tar zcf ~/wp_backup.tgz .
これでホームディレクトリにwp_backup.tgzが作成されました。
SSHで接続できない場合は、SCPやFTPなどでWordPressのルートディレクトリをそのままダウンロードしてください。それをクライアントPC上でZIPファイルなどにしておきます。
MySQLのバックアップを作成する
次にMySQLのバックアップを作成します。これもまずはSSHで接続ができる場合です。
mysqldump -u [接続ユーザ名] -h [接続先ホスト] -p [DB名] > wp_dump
gzip wp_dump
これでwp_dump.gzというMySQLのバックアップファイルが作成されます。
MySQLのバックアップを作成する(コマンドを使わない場合)
MySQLのオペレーション方法は人によって様々だと思います。コマンドの他にphpMyAdminのようなブラウザベースのGUIツールや、MySQL Workbenchをお使いの方も多いでしょう。
これらのツールの場合、まず間違いなくバックアップの機能があります。ツールの機能を使ってWordPressのデータベースのバックアップを作成してください。
また、特に共用タイプのホスティングサービスでは、コントロールパネルにMySQLバックアップの機能がある場合もあります。
ConoHa VPSにリストアする
それではリストアしてみましょう。あらかじめVPSを作成し、WordPressテンプレートで構築しておいてください。
まずバックアップファイルを、VPSに転送します。
scp wp_backup.tgz root@[VPSのIPアドレス]:
scp wp_dump.gz root@[VPSのIPアドレス]:
これでVPSにバックアップファイルが転送されました。次にSSHでVPSにログインします。
ssh root@[VPSのIPアドレス]
MySQLのリストア
リストアの順番ですが、MySQLのバックアップの展開 → WordPressの展開、と言う順番で行います。
まずはMySQLからです。ユーザ名、パスワードなどは移行元と同じでも良いですし、変更してもかまいません。変更した場合は、後ほどwp-config.phpの変更が必要になります。ここではconohaと言うユーザ名でwpというデータベースを作成しています。
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or g.
(中略)
mysql> GRANT ALL ON wp.* TO 'conoha'@'localhost' IDENTIFIED BY '[パスワード]';
Query OK, 0 rows affected (0.05 sec)
mysql> CREATE DATABASE wp;
Query OK, 1 row affected (0.03 sec)
データベースが作成されました。ダンプファイルからリストアを実行します。
gunzip wp_dump.gz
mysql -u conoha -p wp < wp_dump
これでデータベースの移行は完了です。
WordPressのリストア
次にWordPressの移行です。/var/www/vhosts/defaultがWordPressのルートディレクトリになるようにします。
# /var/www/vhosts/に移動します
cd /var/www/vhosts/
# 最初からインストールされているWordPressを削除します。
rm -rf default/*
# バックアップを展開します
mv ~/wp_backup.tgz .
tar zcf wp_backup.tgz -C default
移行元とデータベースの設定が違う場合は、wp-config.phpを変更してください(HyperDBなどプラグインでデータベースを管理している場合は、プラグインの設定ファイルを変更することをお忘れなく)。
以上で移行作業は完了です。http://[VPSのIPアドレス]にアクセスしてみましょう。正しく表示されましたか?
終わりに
WordPressサイトの移行は、基本的にはWordPressディレクトリの移行とMySQLデータベースの移行です。お手軽に実行したい場合はプラグインを使えば良いですし、ある程度カスタマイズしたサイトであっても手作業で移行すれば、そのまま移行することができます。
ConoHa VPSは非常にパフォーマンスが高いので、WordPressを動かすには最適です。今のサイトが重いなどの悩みをお持ちの方は、是非乗り換えを検討してみてください。
- 問題は解決できましたか?
-