暇人じゃない

CORESERVER から さくら VPS に WordPress を移行した

このブログは CORESERVER というレンタルサーバーを使用していたのですが、最近重たいのと、さくら VPS を契約したので移行することにしました。 ドメインはそのまま、移行するコンテンツはトップページ(cho-co.be/index.html)、ブログ(cho-co.be/blog)、画像素材(cho-co.be/images)くらいなので比較的楽です。

環境: WordPress 3.0.0 nginx 0.8.53 PHP 5.3.2 MySQL 5.1.41

やったこと

CORESERVER 側でやること

ドメインの設定 ドメインの DNS の設定(Value-Domain)を CORESERVER からさくら VPS に向けます。

データベースのダンプを取得 CORESERVER のコントロールパネルにログインし、データベースの設定で該当のデータベースのダンプを保存します。 SSH でログインして mysqldump を叩いても良いと思います。

/virtual/hoge 以下に mysql_(データベース名).dump というファイルが生成されるので SCP や FTP などでローカルに落とします。

ファイルを取得 public_html/ 以下の必要なファイルを SCP や FTP で落とします。 僕は tar コマンドでファイルをまとめた後、SCP を使用してローカルに落としました。

> tar zcvf data.tar.gz {blog,images,index.html}

ここではダンプやファイルを一旦ローカルに落としていますが、CORESERVER から直接 SCP でデータを転送しても良いと思います。

CORESERVER 側でやるのはこれくらい。

さくら VPS 側でやること

データベース(・必要があればユーザー)の作成

ダンプをデータベースに復元 ダンプファイルを適当なディレクトリにアップロード

$ mysql -u hogeuser -p hogedb < mysql_db.dump

nginx の設定ファイルの作成

この前の記事を参考に…

$ sudo vim /etc/nginx/sites-available/cho-co.be
$ sudo ln -s /etc/nginx/sites-available/cho-co.be /etc/nginx/sites-enabled/cho-co.be
$ sudo nginx -s reload

サイトディレクトリの作成

$ sudo mkdir -p /var/www/cho-co.be/{public_html,logs}

ファイルのアップロード public_html/ 以下に CORESERVER からダウンロードした data.tar.gz をアップして解凍します。 元のファイルを削除するのを忘れずに!

$ sudo tar zxvf data.tar.gz
$ sudo rm data.tar.gz

WordPress のデータベース設定を変更

$ sudo vim blog/wp-config.php

データベース周りの設定、例えば DBNAME/DBUSER/DB_PASSWORD などを新しい環境に合わせます。

ファイル/ディレクトリの所有者を変更

$ sudo chown -R www-data:www-data public_html/

確認

URL にアクセスして、トップページや記事ページ、管理画面が表示されるかを確認します。 後は WordPress 自体のアップデートやプラグインのアップデートを実行して終わり。

レンタルサーバーから VPS に環境が大きく変わり、Web サーバーが Apache から nginx に変わったこともあってか、体感できるくらい、動作が速くなりました。

記事とはあまり関係ありませんが、設定をする際に自分で書いた記事を読み返すことが多かったので、こうやって自分がやったことを書き残すのは大切なことだな、と思いました。