WordPressをさくらのVPS(CentOS 6.3)からDigitalOcean(Ubuntu 14.04)に移設する

DO_Logo_Vertical_Blue-75e0d68b
ブログをさくらのVPSからDigitalOceanに移設してみた」の通り、WordpressをDigitalOceanに移設したので具体的な移設手順について残しておきます。DigitalOceanにはワンクリックでWordpressを利用できる状態にできるパッケージ(のようなもの)があるのでこれを利用して移設します。移設元と移設先でOSが違うのですが、あまり意識することなくスムーズに移設できるのでかなり便利です。
move-from-sakura-to-do

目次

  • BackWPupでWordpressのデータをバックアップする
  • DigitalOceanでDropletを作成する
  • バックアップファイルを移設先にコピーする
  • データベースをインポートする
  • DNSの設定を変更する

BackWPupでWordpressのデータをバックアップする

移設するためのWordpressのデータをバックアップする必要がありますが、バックアップにはデータベースのバックアップも必要なので、手動ではなくWordpressのプラグインを利用します。最もメジャーなのはBackWPupだと思いますので、BackWPupをインストールします。プラグインのインストールなので手順は省略します…。

WordPress › BackWPup Free – WordPress Backup Plugin « WordPress Plugins

バックアップファイルの保存先はWordpressのデータが保存されているフォルダかDropboxを指定しておきましょう。このバックアップファイルは後に移設先に転送します。

DigitalOceanでDropletを作成する

ここからは移設先のDigitalOceanの作業です。DigitalOceanにログインしてDroplet(DigitalOceanではVMのことDropletという)を作成します。DigitalOceanのDroplet作成画面でWordPress on 14.04を選択して作成します。
do-applications

作成後、SSHでログインしてアクセスできることを確認しましょう。ここからは下記のチュートリアルも参照しつつ進めます。

One-Click Install WordPress on Ubuntu 14.04 with DigitalOcean | DigitalOcean

尚、作成された環境では.htaccessが有効になっておりパスワード認証になっています。面倒なのでさっさと解除しておきましょう。手順はここで細かく触れませんが、上記のチュートリアルの「Removing the Additional Apache Password Prompt for Admin Areas」という項目を参照してください。

バックアップファイルを移設先にコピーする

移設元でバックアップしたファイルを移設先にコピーします。コピー方法はなんでもいいですが、SFTPで転送するのが最も簡単ですね。解凍先は/var/www/になります。
ちなみに、既に/var/www/にはいくつかファイルが置いてあると思いますのでそれらを全て退避させておきます。

$ mkdir old
$ mv * old/

解凍が終わったら、それらの所有権を変更しておきましょう。UbuntuのApacheのユーザーはwww-dataなので、全て変更します。

$ chown -R www-data:www-data *

データベースをインポートする

コピーしただけだとデータベースは復旧できていないので、続いてデータベースのインポートです。まずはMySQLをGUIで操作できるようにするためphpMyAdminをインストールします。

$ sudo apt-get install phpmyadmin

インストールが完了したら、さっそくログインしましょう。http://(IPアドレス)/phpmyadmin/でアクセスできますが、パスワードがわからないはずです。パスワードは/root/.my.cnfに保存されていますので確認しましょう。

続いてデータベースの作成です。作成するデータベース名は移設元のデータベース名に合わせます(ここではwordpress_db)。
phpmyadmin_1

次はデータベースを操作するユーザーの追加です。ユーザ名、ホスト、パスワードは移設元に合わせましょう。権限も付与する必要があるのですが、私の場合ユーザ名がwordpress、データベース名がwordpress_dbなので「ワイルドカード(ユーザ名_%)に該当するデータベースにすべての特権を与える」にチェックを入れればOKです。

いよいよSQLファイルのインポートなのですが、そのままSQLファイルをインポートしようとすると、ファイルサイズが大きすぎてエラーになりました。そこでphp.iniを編集します。php.iniが保存されている場所は環境によって異なりますが、DigitalOceanのUbuntu 14.04の場合、/etc/php5/apache2/php.iniに保存されています。
変更点は2つ。1つはpost_max_sizeというPOSTデータに許可される最大サイズ、もう1つはupload_max_filesizeというアップロードされるファイルの最大サイズです。私の場合、インポートするSQLファイルが10MBを超えていたので下記のように変更しました。
;post_max_size = 8M
post_max_size = 20M

;upload_max_filesize = 2M
upload_max_filesize = 15M

これでインポートできるはずなのでやってみましょう。インポートできれば移設完了です。
phpmyadmin_3

最後にブラウザから移設先のIPアドレスを指定してアクセスし、正常に表示されるか確認しましょう。

DNSの設定を変更する

問題なく移設できていたら、最後はDNSの設定です。DNSのAレコードを移設元のIPアドレスから移設先のIPアドレスに変更します。これでブログのURLを叩くと移設先にアクセスするはずです。ここまでうまくいけば移設元のサービスは停止しておきましょう。

想像以上に移設は簡単ですので、本記事を読みながら試してみてください。細かく書いたつもりですが、もし手順に誤りが補足が必要な場合はコメントに残していただけると幸いです。

fujitaka

コメント

タイトルとURLをコピーしました