先日さくらVPSサーバー間でマイグレーション案件があったので(ホームーページ/DBの引っ越し)その様子をメモ。
移行するもの
・DB
・ファイル(コンテンツ)
・(ドメイン)
準備
公開鍵と秘密鍵の作成
こちらは以前にさくらサーバー側とXサーバー側の移行の際にも鍵の作成をしたのでそちらを参考にして下さい。
移行元
ファイルを移行
上記参考サイトでは公開鍵暗号方式としてRSAを使ってるが、今回はED25519を使用。理由は簡単で暗号強度も担保されつつ、鍵サイズ・署名サイズは小さく有用であること。
ed25519のすすめ
https://dnsops.jp/event/20180627/20180627-ed25519.pdf
% ssh-keygen -t ed25519
rsync -a -e "ssh -p XXXX -i id_ed25519" /自サーバーのドキュメントパス/ sakura_user@相手先サーバーIP:/相手先サーバーのドキュメントパス/
DB移行
既存DB確認
# mysqlshow
+---------------------------+
| Databases |
+---------------------------+
| information_dbdbdb |
| oraora_db |
圧縮してバックアップ
# mysqldump -u user -p password oraora_db | gzip > oraora_db.gz
バックアップした圧縮DBを移行先に送る
rsync -a -e "ssh -p XXXX -i id_ed25519" /backup/oraora_db.gz sakura_user@相手先サーバーIP:/backup/
移行先
バーチャルホストにドメイン追加
今回は便宜上バーチャルホストの設定等は割愛します。
# pwd
/etc/httpd/conf.d
# vim vh.conf
<virtualhost *:80>
ServerName hogehoge.com
serveralias www.hogehoge.com
documentroot /home/hogehoge.com/public
</virtualhost>
文法チェック
# apachectl configtest
Syntax OK
設定反映(再起動)
# apachectl graceful
GRANT文を用いたDBユーザー作成と権限設定
手っ取り早くGRANT文を用いてユーザーと権限を同時作成
mysql> GRANT (権限) ON (適用対象のデータベース).(適用対象のテーブル) TO 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
DB作成
MariaDB [(none)]> create database DB_NAME;
Query OK, 1 row affected (0.002 sec)
リストア
# zcat oraora_db.gz | mysql -u user -ppassword oraora_db
ドメインを移行先サーバーに向ける
以下はただの愚痴なので読まなくもOKです(笑)
ドメイン管理はほとんどお名前ドットコムですが、今回は久しぶりの「VALUE-DOMAIN バリュードメイン」でした。久しく見ない間にログインや取得済みドメインの操作はどこ?見にくっ!ドメインお探しの新規ユーザーには優しいが、既に取得済みのユーザーには分かりずらいログインボタン。(左上に小さくあるのね。。。)
ログイン後も・ドメインの新規取得、更新、サーバ更新等は大きく表示されてるが取得済みドメインの表示の小さいこと。。。(笑)
表示画面中の下部にひっそりと「ドメインの設定操作(登録済みドメイン一覧)」とありました。この見つけづらさは私以外にも同士はいるはず。。。
その後のDNSの設定画面はシンプルで昔から変わりない感じで、個人的には好きなんですが。(テキストエリアに直書きしていく無機質な感じが好きなのです)
上記「a www 移行先サーバーIP」のように箇条書きで、メールサーバーやサブドメイン等を指定。
まとめ
最後に設定したドメイン設定のボヤキは忘れて下さい。設定にはなんも関係ありません。
以上