さくらのVPSプラン乗り換え計画(14)

WordPress を旧サーバから移行する。

下準備

旧サーバから新サーバへ、データを移動しておく。Wordpress のデータをディレクトリごと tar でまとめて、データベースは mysqldump で出力した。

ユーザとデータベースを作成

WordPress 用のユーザとデータベースを作成。

[takatoh@tk2-254-36564 ~]$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 46
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'xxxxxxxx';
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE DATABASE wpdb;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON wpdb.* TO 'wordpress'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

データベースにデータを復元

今作ったデータベースにデータを復元する。

[takatoh@tk2-254-36564 ~]$ mysql -u wordpress -p wpdb < wpdb.sql
Enter password:

WordPressのデータを展開

tar で固めておいた WordPress のデータ一式を /var/www/wordpress に展開する。

[takatoh@tk2-254-36564 ~]$ cd /var/www
[takatoh@tk2-254-36564 www]$ sudo cp ~/wordpress.tgz .
[sudo] password for takatoh: 
[takatoh@tk2-254-36564 www]$ sudo tar xzf wordpress.tgz
[takatoh@tk2-254-36564 www]$ ls
cgi-bin  error  html  icons  lathercraft  wordpress  wordpress.tgz

Nginxにバーチャルホストの設定

/etc/nginx/conf.d/blog2.lathercraft.net.conf ファイルを作る。

server {
    # port
    listen 80;

    # server name
    server_name blog2.lathercraft.net;

    # document root
    root /ver/www/wordpress;

    # index
    index index.php;

    # log files
    access_log /var/log/nginx/blog.lathercraft.net/access.log main;
    error_log /var/log/nginx/blog.lathercraft.net/error.log warn;

    if (!-e $request_filename) {
        rewrite ^/(.+)# /index.php?q=$1 last;
        break;
    }

    try_files $uri $uri/ /index.php?q=$uri&$args;

    # php-fpm
    location ~\.php$ {
        root /var/www/wordpress;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
        root /var/www/wordpress;
        access_log off;
        expires 30d;
    }
}

で、ログファイル用のディレクトリを作ったら Nginx をリスタート。

[takatoh@tk2-254-36564 conf.d]$ sudo service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

名前解決のためにゾーン編集

さくらのゾーン編集のページで、blog2.lathercraft.net を登録する。

確認

さて、これで OK のはず。ブラウザで確認してみよう。
OK、大丈夫のようだ。

[追記]

しばらく様子を見ていたけど、大丈夫のようなので、blog2.lathercraft.net ではなく blog.lahtercraft.net でアクセスできるように変更した。

これで VPS プラン乗り変え計画は全て完了した。