VPS間でのサーバ引っ越し: 1 scp転送からdbのダンプまで
サーバーの引っ越しのログ。複数バーチャルホストでWPを運用しており、その他いくつかスタティックなサイトもある状態。 移動後、更にSSL化も行う おおまかな手順 ファイルの転送 DBのダンプ・リストア バーチャルホスト設定 ドメインのDNS設定変更 SSL設定 ファイルの転送 これはscpを使う。 SCPを使ったサーバ間のデータ移動 参考:http://www.atmarkit.co.jp/ait/articles/1701/27/news009.html ローカルのファイルをリモートへ転送またはリモートのファイルをローカルへ取得という2つの方法がとれるが、今回は旧サーバから新サーバへ転送させる。また、新サーバへの認証は鍵認証となる。 鍵認証の準備 旧サーバでkey genする old serverにログインし、key genする。今だけの利用なので、passphraseはブランク。 ローカルマシンにダウンロード。 このとき777にしないと落とせなかった。 Oldの方のAuth_keyとマージ ssh-copy-idを使う。 ssh-copy-id -i id_rsa.hoge {user}@{host} の書式でサーバに公開鍵を送ることができる。参考:https://qiita.com/sakanashi/items/542ae428d9de9c7c59dc今回の場合はこんなかんじ。 # ssh-copy-id -p 0000 -i /path/to/local/id_rsa.pub user@000.000.000.000 するとssh-copy-idが使えないといわれた汗なので、homebrewでインストール # brew install ssh-copy-id 再度実行すると不具合。 /usr/local/bin/ssh-copy-id: ERROR: failed to open ID file ‘/path/to/local/id_rsa’: No such file or directory (to install the contents of ‘/path/to/local/id_rsa.pub’ anyway, look at the -f option) とのことなので、おとなしく-fオプションをつける。 # ssh-copy-id -f -p 11223 -i /path/to/local/id_rsa.pub user@000.000.000.000 そしたら成功。 Number of key(s) added: 1 サーバーに入ってみると、ちゃんとauthorized_keyが更新されている。 SCPでファイル転送 書式は、 scp option -i 秘密鍵 コピーしたいファイルパス 受取先パス なので、旧サーバへログインし、 # scp -r -p -P 0000 -i /home/admin/.ssh/id_rsa /path/to/docroot admin@example.net:/path/to/new/docroot こんな感じで、ドキュメントルートをそれぞれ転送。事前に新サーバに転送先のディレクトリを作っておくこと。所有者もログインユーザになるように。もし別ユーザの所有だったら修正しておく。 chown admin:admin -R /path/to/new/docroot/ 次はDB。 DBのダンプ・リストア ダンプを取って、そのまま移動。 dumpデータ取得 全データのdump # mysqldump -u root -p -x –all-databases > dump.sql DBを選択してdump # mysqldump –default-character-set=utf8 -u root -p database_name > dump.sql 複数Tableを選択してdump # mysqldump –default-character-set=utf8 -u root -p database_name table_name1 table_name2 > dump.sql 復元する # mysql -u root -p < dump.sql 新サーバで作成を確認し、各ユーザーでのログインも確認する。既に同じユーザがいる場合、PWが上書きされるので注意。その場合はこれで戻す。 […]