他サーバーからKUSANAGIへ引っ越す場合の手順 【ダウンタイム最小限】

KUSANAGI移転 アイキャッチ

現在利用しているレンタルサーバーからVPSへ移行してKUSANAGI を利用したい方向けの記事です。

私自身の環境での内容なので、不具合が発生する場合がありますので、必ずバックアップをしっかりとったあと自己責任で行ってください。

\ 700円クーポン付き! /

  • 約1ヶ月無料で使おう
目次

サーバー移転までの流れ

実行前にかならずバックアップ

STEP
データのバックアップ

コンテンツ、データベースバックアップ

STEP
KUSANAGI自動セットアップ

ConoHa VPS で新規サーバーを作成します。スタートアップスクリプトを利用するので自動で新しいWordPressサイトが立ち上がります。

STEP
コンテンツファイルを転送

新規サーバーへコンテンツファイルをアップロードします。

STEP
phpMyAdminをインストール

WordPressデータベースを管理するphpMyAdminをインストール後、バックアップしたデータベースをインポートして復元します。

STEP
DNSを新規サーバーへ

以前のサーバーで利用していたドメインをDNSレコードを編集してConoHa VPSの新サーバーへ向けます。

表示を確認して完了。

旧サーバーのWordPress のデータをバックアップ、エクスポート

バックアップの対象は以下です。

  • WordPressのデータベーステーブル
  • WordPressのコンテンツフォルダ

データベースのバックアップ

今回の方法は移行元でphpMyAdminが利用できる環境が必要です。

phpMyAdminにログインして該当のwordpressのテーブルをエクスポートします。

データベースバックアップ

xxx.sql」ファイルが作成されるのでデスクトップなどに保存します。

コンテンツフォルダのバックアップ

FTPソフトで、wordpressが入っているディレクトリの wp-content をまるごとデスクトップなどにダウンロードします。 ここにはWordPressのテーマ、プラグイン、画像などが含まれます。

基本的にはこの3つのフォルダだけですがその他に自分で追加したファイルなどがあればダウンロードしておきましょう。

FTPソフト Filezillaの場合

ユーザー  kusanagi でログインします。

FTPでログインした後、WordPressのデータディレクトリを開いて、中の「wp-content」へ入ります。この中にコンテンツデータがあります。

wp-content場所

「wp-content」内の3つのフォルダを選択して左側のウィンドウへドラッグアンドドロップしましょう。保存先はデスクトップが分かりやすいと思います。

コンテンツファイルコピー

このような感じでデスクトップにファイルがコピーしておきます。

ファイルコピー後

KUSANAGI を ConoHa VPSに構築

このKUSANAGI + WordPress 自動構築スクリプトを利用してConoHa VPSで新規サーバーをセットアップします。

#!/bin/bash
yum update -y
mkp="mkpasswd -l 10 -s 0"
password=`$mkp`
passphrase=`$mkp`
dbpassword=`$mkp`
## OS and Network 設定
IPADDRESS=`curl globalip.me`
HOSTNAME=${IPADDRESS}
WWWUSER=httpd
## WordPress 設定
WPNAME=<span style="color: #ff0000;">auto</span>
WPLANG=ja
EMAIL='[email protected]'
WPTITLE=テストブログ
WPADMINNAME=testuser
WPADMINPASS=testtest
DBNAME=testdb
DBUSER=testdbuser
DBPASSWD=testdbtest
WPPLUGINS=("autoptimize" "wp-multibyte-patch" "search-regex")
expect -c "
set timeout -1
spawn kusanagi init --tz tokyo 
    --lang ja 
    --keyboard ja 
    --passwd $password 
    --phrase $passphrase 
    --dbrootpass $dbpassword 
    --nginx 
    --php7 
    --ruby24
expect "Which you using?(1):"
send "n"
expect "KUSANAGI initialization completed"
exit 0
"
cat << EOF >> /etc/motd
================================================
kusanagi user password  : $password
kusanagi user passphrase: $passphrase
MySQL root password     : $dbpassword
To delete this message: rm -f /etc/motd
================================================
EOF
# ホスト名を設定
hostnamectl set-hostname ${HOSTNAME}
kusanagi provision --WordPress --wplang ${WPLANG} --fqdn ${HOSTNAME} --email ${EMAIL} --dbname ${DBNAME} --dbuser ${DBUSER} --dbpass ${DBPASSWD} ${WPNAME}
systemctl start nginx
# WordPress Install and Basic Setting
WPHOST="/home/kusanagi/${WPNAME}"
WPROOT="${WPHOST}/DocumentRoot"
WPCONF=${WPROOT}/wp-config.php
WPCMD="/usr/local/bin/wp --path=${WPROOT}"
KUSANAGICMD='sudo -u kusanagi'
${KUSANAGICMD} ${WPCMD} core config --dbname=${DBNAME} --dbuser=${DBUSER} --dbpass=${DBPASSWD} --dbhost=localhost --locale=${WPLANG}
${KUSANAGICMD} ${WPCMD} core install --admin_user=${WPADMINNAME} --admin_password=${WPADMINPASS} --admin_email=${EMAIL} --url=http://${HOSTNAME}/ --title=${WPTITLE}
${KUSANAGICMD} chown kusanagi.www ${WPCONF}
${KUSANAGICMD} chmod 0440 ${WPCONF}
${KUSANAGICMD} echo "define('FS_METHOD', 'direct');" >> ${WPCONF}
${KUSANAGICMD} chmod 0755 ${WPROOT}
${KUSANAGICMD} mv ${WPCONF} ${WPHOST}
# WordPress Setting
${KUSANAGICMD} ${WPCMD} core update
${KUSANAGICMD} ${WPCMD} plugin update --all
${KUSANAGICMD} ${WPCMD} theme update --all
${KUSANAGICMD} ${WPCMD} core language update
## WordPress Plugin Setting
HTTPDCMD="sudo -u ${WWWUSER}"
chown httpd $WPROOT/wp-content/plugins
for i in "${WPPLUGINS[@]}"
do
    ${HTTPDCMD} ${WPCMD} plugin install $i --activate
done
##  Cleanup default data of WordPress
${KUSANAGICMD} ${WPCMD} theme delete twentyseventeen twentysixteen
${KUSANAGICMD} ${WPCMD} plugin uninstall hello

このスクリプトはKUSANAGIの初期設定とWordPressの構築を自動で行います。また、テーマファイルを一つ残して削除し、プラグイン「wp-multibyte patch」と「serach regex」、「autoptimize」を自動で追加しています。

編集が必要な箇所は1ヶ所だけです。

修正箇所

## WordPress 設定
WPNAME=auto

この赤文字の部分はプロファイル名で、KUSANAGIのフォルダ名になるので分かりやすいものに変更しておきます。たとえば私のサイトであれば tabikumo.comとしておきます。

ユーザー名やパスワードは現在利用しているサーバーのものに置き換わるので、特に変更は不要です。

WPNAMEの編集が終わったら、ConoHaのサーバーを作成しましょう。

ConoHa VPS でサーバーを新規作成

まだ、ConoHaに登録していない場合はこちらから登録しましょう。

\ 700円クーポン付き! /

  • 約1ヶ月無料で使おう

登録が済んだら、サーバーの新規作成画面に移動して自分のサイト規模に合ったプランを選択します。あとで変更できるのでまずはメモリ1GBから始めてみましょう。

プラン
  • リージョン:東京
  • サービス:VPS 1GB
  • イメージタイプ: WordPress (KUSANAGI)

rootパスワード:複雑なものにしてメモしておく

ネームタグ:任意 (空欄でもOK)

プラン選択

下の方の「オプションを見る」をクリックしてオプションも設定します。

後にSSHで管理する時のために、SSH Keyを新規作成しておきます。作成後プライベートキー(xxxxx.pem)のダウンロードします。

VPSオプション

スタートアップスクリプトに先ほど編集したスクリプトを全てコピーして、この欄に貼り付けます。

オプション設定

あとは、右側の「追加」ボタンを押すとサーバーの構築が開始されます。

およそ15分ほどで自動でセットアップが完了して、IPアドレスでブログへアクセスできるようになります。

サーバーの詳細画面でIPアドレスを確認してアクセスしてみます。

http://111.222.111.222/ など

IPアドレス

正常に設定が完了するとWordPressの初期画面が表示されると思います。

WordPress初期ページ

旧サーバーのデータを新サーバーにコピー

バックアップしておいたコンテンツフォルダをFilezillaなどを使ってConoHa VPSの新サーバーへコピーします。

Filezillaでは「サイトマネージャー」を開いて下記のように設定します。ユーザー名は「kusanagi」でログインします。kusanagiのパスワードはコンソールでrootログイン後に確認できます。

ログイン後

/home/kusanagi/[プロファイル名]/DocumentRoot/wp-content/

このwp-content ディレクトリ内に3つのフォルダを転送します。

  • plugins (プラグイン)
  • themems (WordPressテーマ)
  • uploads (画像ファイルなど)

これらをSFTPソフトのFilezillaを使って新サーバーの「wp-content」内にコピーしましょう。

コンテンツファイル転送
ドラッグアンドドロップ

上書き確認がある場合はスキップします。

※もしブログを表示した時正常に読み取りができないなどの不具合が発生した場合は、FFFTPやCyberduckなどのFTPを使ってみてください。

phpMyAdminをインストール

KUSANAGI 環境下に GUIでデータベースを管理するphpMyAdminをインストールします。zipをダウンロードして展開するだけで利用可能です。

外部に公開することはセキュリティ上好ましくないので使わない場合はすぐに削除して構いません。

ConoHa VPSのコントロールパネルにログインして、サーバー情報からコンソールにログインします。

コンソールアイコン

ユーザー名はrootでパスワードはサーバー追加時に設定したrootパスワードを入力してください。

rootログイン

下記のコマンドを「テキスト送信」へ一行ずつコピペ実行していきます。

cd /home/kusanagi/プロファイル名/DocumentRoot/
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip
unzip phpMyAdmin-4.8.4-all-languages.zip
mv phpMyAdmin-4.8.4-all-languages phpMyAdminConoha
rm -rf phpMyAdmin-4.8.4-all-languages.zip

終わったらブラウザから

http://111.222.222.111/phpMyAdminConoha (大文字に注意)

にアクセスします。

phpMyAdmin

phpMyAdminのログイン画面が表示されます。

スタートアップスクリプトで設定したデータベースユーザー名(testdb)とパスワード(testtest)を入力しましょう。WordPressの管理ユーザー名、パスワードではありません。

すでに作成されているデータベースの中身を全て削除します。KUSANAGI特有のテーブルも後で生成されるので心配しないで削除して大丈夫です。

DB削除

下の方の「Check all」で全ての項目にチェックした後、右の選択から「チェックしたものを:削除」を選択します。

削除確認

確認画面が出るので、「はい」を選ぶとすべてきれいに削除されます。

ここで、すでにダウンロード済みの旧サーバーのデータ「xxxx.sql」をこのテーブルにインポートします。

上のインポートをクリックして、「ファイルを選択」で「xxxx.sql」ファイルを選んだと、「実行」しましょう。

DBインポート
インポート時にエラーが出る場合

データベースファイルが大きい場合インポートに失敗するのでphp.iniの編集が必要です。

/etc/php7.d/php.ini

post_max_size = 100M

表示を確認したい場合、URLを変更する必要がある場合

ここは不要な場合飛ばしてください。

表示を確認するには

新サーバーにドメインを移行する前に表示を確認したい場合にはphpMyAdminを利用してデータを編集する必要があります。

phpMyAdminにログインして、該当のテーブルから「wp-options」を選択します。

そして、「siteurl」と「home」の値を「http://VPSのIPアドレス」に変更しましょう。これを変更しないとブログにアクセスした時に旧サーバーに飛ばされてしまいます。

サイトURL

URL変更の必要がある場合

たとえば旧サーバーで「https://xxxxx.com/wordpress/」で運用していたブログを「https://xxxxx.com」になってしまう場合は、プラグインのSearch RegexであらかじめURLの置き換えを行っておきます。

Seach Regexの使い方についてはGoogleでたくさん出ると思いますのでここでは省略します。

表示確認と、URLの修正が済んだら、またphpMyAdminで「wp-options」の「siteurl」と「home」を元のURLに戻しておきましょう。

DNSレコード

移行の準備が終わったらドメインを新サーバーに向ける設定をします。

私が利用しているムームードメインを例に上げますが、他のドメインサービスを利用している場合でも同じようにDNSを変更します。

種別「A

内容「ConoHa VPSのIPアドレス

旧サーバーのIPアドレスがすでに入力されている場合は、新サーバーのIPアドレスに置き換えます。

を入力して確定しましょう。およそ30分〜72時間で反映されていきます。

ある程度浸透すると、新サーバーでもドメイン名でのアクセスが可能になります。

ムームーDNS

コンソールでドメイン有効、SSL化

DNSを新サーバーに向けたら、httpsでアクセスできるようSSL証明書を自動で取得するようコマンドを打ちます。

# KUSANAGI コマンド

kusanagi setting --fqdn xxx.com プロファイル名
kusanagi ssl --email メールアドレス プロファイル名
kusanagi target プロファイル名
kusanagi ssl --auto on
kusanagi https redirect

https://ドメイン名.com/

ブログが問題なく表示できれば移行は完了です。おつかれさまでした。

元のサーバーに戻したい場合は?

旧サーバーのデータを削除していない限りは、DNSレコードのIPアドレスを設定しなおすだけで元の環境に戻すことができます。しばらくはサーバーを削除せずそのままにしておくことをおすすめします。

\ 700円クーポン付き! /

  • 約1ヶ月無料で使おう
KUSANAGI移転 アイキャッチ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

気になるガジェットやサービスをレビュー!日常生活のアップデートを目標に役に立つ情報を掲載していきます。

仕事のご依頼などはお問い合わせからどうぞ。

コメント

コメント一覧 (2件)

  • とても有用な情報ありがとうございます。
    説明の中で「表示を確認するには」という項目を行っているのですがホストのIPアドレスを入れてページを表示しようとすると、WPのイニシャライズの画面が表示されて、移行したページが表示されません。
    ちなみにwp_options内のURLを変更しない場合も旧サーバーが表示されず、WPのイニシャライズの画面が表示されてしまいます。(WPのイニシャライズの画面は、簡単kusanagiログイン後のWP設定画面のことです。分かりますでしょうか)
    このイニシャライズが表示されなければ移行の状態を確認できそうなのですが、どこか追加で設定変更を行う必要があるのでしょうか。ご教示いただけると幸いです。

  • 1年以上間に更新した記事なので情報が古くなっております。

    wp-config.php に以下の記述をしてもだめでしょうか?

    define('WP_HOME','http://IPアドレス');
    define('WP_SITEURL','http://IPアドレス');

    私の方で確認した所、これでアクセスできました。
    あとで記事をアップデートしますね。

目次