X-Server サーバー移転

X-Server から X-Serverへアカウントをまたいでサイト移転

X-Server から X-Serverへアカウントをまたいでサイト移転する業務があり、ssh接続、scpでファイル移転、メール状態の移動なども行ったので、その備忘録です。

X-Server ssh接続

異なるサーバーIDへドメイン運用サーバーを変更したいです。 X-ServerでのQ/A回答はこちら

https://www.xserver.ne.jp/support/faq/domain_multi_setting_server_change.php

X-Server to X-Serverでの課題

別アカウントでの移動に関しては、いくつかの課題がある。

1.新サーバーでドメイン設定ができない。
2.旧サーバーでの「ドメイン削除」が必要
3.ダウンタイムが必ず生じる
4.メールデータの移動ができない。

これらの課題に関して、1.2は仕様なのでどうしようもない部分。要は3のダウンタイムをいかに少なく、かつ正確に移転できるかが検討する部分となります。

また、4に関してはサポート対象外なので、あれこれ試行錯誤するしかありませんでしたが、ファイル移動できれば大丈夫かの問いに対して、X-Serverさんから、あいまいな「多分大丈夫」的な感じの回答がありましたので、実際どうだったかを書いておきます。

X-Server間のドメイン移動概略

1.SSH接続の準備
2.ファイル転送(SCP) と DBバックアップ(WordPress)/DBエクスポート 
3.メールアドレス一覧の取得
4.ドメイン削除(旧サーバー)
5.ドメイン設定(新サーバー)
6.メールアドレス作成
7.バックアップファイルもどし
8.DBインポート
9.あれこれ調整


1.X-Server SSH接続の準備

https://scr.marketing-wizard.biz/infrastructure/xserver-howto-ssh

こういったサイト参照して、SSH接続の準備してください。

PCへのkeyファイルダウンロード(新サーバー・旧サーバーともにダウンロードしておき、sshで接続できるようにしておく)

C:\user\ユーザー名\ に .ssh というフォルダ作成して、そこに入れておくとわかりやすいです。

ssh接続のコマンドは下記

ssh -o ServerAliveInterval=60 -i “C:/Users/User/.ssh/sv3.key” -p 10022 サーバーID@ホスト名

2.ファイル転送(SCP) と DBバックアップ(WordPress)/DBエクスポート

参考にしたサイト

https://qiita.com/Yutaro326/items/d58b0be7130c5f40d30c

旧サイトで圧縮バックアップファイルを作成しておく

tar cvzf xx.tar.gz 対象ドメイン のコマンドで、対象ドメインの圧縮バックアップファイルを作成しておきましょう(念のため)

DBバックアップ

phpmyadminへログインして、DBのエクスポートしておきます。

ユーザー名、パスはwpconfig.phpから取得

SCPでファイル転送

新サイトの .ssh に 旧サイトの keyをアップロードしておきます。

uploadできない場合は、.sshの中に入っていき、vi でファイル作成しちゃいましょう。windowsにダウンロードしたkeyの中身を、サクラエディタなどで開き、その内容を丸々貼り付けて :wq! でOKです。

その後で、keyの属性を 666 に変更しておきます。

ファイルを持ってくるための ディレクトリを準備しておきます。
上記では andback というディレクトリが該当します。

圧縮したバックアップファイルを持ってきます
scp -i ~/.ssh/AAAsv3.key -P 10022 -p -r AAAsv3@sv9999.xserver.jp:/home/AAsv3/and.tar.gz ./andback/
コマンドは、ログインルートで実施しています。

-i ~/.ssh/AAAsv3.key keyを指定
-P 10022 ポート番号を指定
-p -r  ディレクトリ毎 再帰的 権限情報なども ・・・
AAAsv3@sv9999.xserver.jp:/home/AAsv3/and.tar.gz 旧サイトのファイル指定
./andback/ 新サイトのバックアップフォルダ

上記同様に

scp -i ~/.ssh/AAAsv3.key -P 10022 -p -r AAAsv3@sv9999.xserver.jp:/home/AAsv3/ドメイン名/public_html ./andback/

こうやって、旧サイトのdirectory毎 バックアップフォルダに持ってくることが可能です。

ドメイン名/mail で今現在のメール情報も取得できます。

3.メールアドレス一覧の取得

後で作成しやすいように、一覧を取得しておきます。
1)テキストに貼り付け
2)半角スペースをカンマに置き換え
3)MAIL.CSV などの名前で保存(Shift-JISで)
4)エクセルで開いて、ちょいちょいっと調整

4.ドメイン削除(旧サーバー)
5.ドメイン設定(新サーバー)

旧サーバーでドメイン削除
(削除するとファイルがすべて消えるので、バックアップの確認を必ずします)
(削除の前に、DNS設定で 新サーバーのIPアドレスにAレコードなど変更しておくとよいかも・・・新サーバーで設定後、しばらく[Aレコード相違]のメッセージ出てましたので)

削除できたら、新サーバーで ドメイン追加設定を実行します。

6.メールアドレス作成

メールアドレスを一括追加しましょう。
方法はX-ServerのHELPに掲載されています。

7.バックアップファイルもどし

バックアップフォルダにバックアップしたファイルを、ドメイン設定した場所にCOPYしていきます。

cp -r -f -p ./andback/public_html ./ドメイン名/

このコマンドで バックアップした、public_html ディレクトリの中身が、すべてドメイン名の中のpublic_htmlディレクトリにCOPYされます。
新しいサーバーのpublic_html内にあるファイルも同名のものはすべて上書きされるので、残しておきたいものはファイル名を変更するなどしておいてください。

cp -r -f -p ./andback/mail/ ./ドメイン名/
または
cp -r -f -p ./andback/mail/ドメイン名/ ./ドメイン名/mail/

これで、メールディレクトリに残っていたメールも移行できます。
(保証はしませんが・・・ X-Serverさんもそういってます)

8.DBインポート

新しくDBを作成して、DBユーザーも作成します。
phpmyadminで管理ページに入り、会苦sポートしたDBファイルをインポートします。
このあたりの手順は、WordPressの通常の移行手順と同一です。

新しいサーバのwp-config.php を編集して、DB名、ユーザー名、パスワード、サーバー名を変更します。
特に、古いX-Server環境ではDBサーバーが別でしたが、最近のものはlocalhostになっていたりするので、そのあたりの環境もきちんと確認して、それに合わせて変更します。

9.あれこれ調整

WEBサイトの表示確認
 結構すぐに見えました。
WEBメールの送信
 ドメイン移転後1時間ほどで、使用できました。