hero_picture

複数ブログ機能(マルチサイト)利用時のサーバー移行手順

2013/05/24

複数ブログ機能(マルチサイト)利用時のサーバー移行手順

基本的には普通の移行と同じで、wp-configのマルチサイト設定を編集するかどうかなだけです。

環境

旧サーバー

1旧ドメイン demo.hogehoge.com
2ドキュメントルート /var/www/demo
3

新サーバー

1新ドメイン www.hogehoge.com
2ドキュメントルート /var/www/www
3

上の新サーバーに移行する手順を例とします。

基本的にはwordpressのインポート/エクスポート機能は使用しません。

1.旧サーバーのMySQLのデータベースをダン

phpMyAdmin等が使えればログインし、wordpressが使用しているDBを選択したのちエクスポートタブを選択します。

「ファイルを保存する」にチェックを入れて実行するとdemodb.sqlみたいなファイルがダウンロードできます。

SSHログインができてmysqlコマンドが実行できるなら以下のコマンドでも。

1mysqldump -uユーザ名 -pパスワード --databases DB名 > demodb.sql
2

2.取得したダンプファイルを一括置換

とってきたdemodb.sqlを一括置換します。

テキストエディタとかで開いて置換すればOKです

1demo.hogehoge.com を www.hogehoge.com に一括置換
2/var/www/demo を /var/www/www に一括置換
3旧DB名 を 新DB名 に一括置換
4

WordPressで作成した記事内容の中も置換されるのである程度の確認はいるかもしれませんが基本的には全部置換して問題ないでしょう。

マルチサイトを使用していない場合や、サブディレクトリ形式のマルチサイトであれば上記でOKですが、

サブドメイン形式のマルチサイトであればそれらもすべて置換を行います。

1blog1.hogehoge.com を blog1.hogehoge.com に一括置換
2blog2.hogehoge.com を blog2.hogehoge.com に一括置換
3...
4

3.旧サーバーのファイルをすべて新サーバーにコピー

FTPなどで旧サーバーのファイルをすべてコピーします。

wordpressディレクトリとかもそのままごっそりと。

4.新サーバーのMySQLのデータベースを作成してリストア

新サーバーにデータベースを作成します。

phpMyAdmin等が使えればログインし、「新規データベースを作成する」から作成すればOKです。

データベースの作成ができたら、先ほど置換したファイルをリストアします。

phpMyAdminが使えればログインし「インポート」メニューからファイルを選択する事ができますが、PHPで許可されている最大容量までしかアップロードできないので、容量制限の問題でアップロードできない場合はphp.iniや.htaccessでアップロード可能な最大サイズを変更する必要があります。

また、コマンドが使用できるのであれば以下のようなコマンドでリストア可能です。

1mysql -u ユーザ名 -pパスワード DB名 < demodb.dump
2

5.新サーバーのwp-config.php と .htaccessの修正

wp-config.phpをのDB設定を変更します

1/** WordPress のためのデータベース名 */
2define('DB_NAME', '新DB名');
3/** MySQL データベースのユーザー名 */
4define('DB_USER', '新ユーザー名');
5/** MySQL データベースのパスワード */
6define('DB_PASSWORD', '新パスワード');
7/** MySQL のホスト名 */
8define('DB_HOST', 'localhost');
9

複数ブログ機能を使用している場合は以下の項目もあるはずなので

ドメイン名を編集します。

1define('WP_ALLOW_MULTISITE', true);
2define( 'MULTISITE', true );
3define( 'SUBDOMAIN_INSTALL', false );
4$base = '/';
5define( 'DOMAIN_CURRENT_SITE', '新ドメイン名' );
6define( 'PATH_CURRENT_SITE', '/' );
7define( 'SITE_ID_CURRENT_SITE', 1 );
8define( 'BLOG_ID_CURRENT_SITE', 1 );
9

5.確認

あとは動作確認を行えばOKです。