2014年ごろに契約したさくらのサーバから、2019年にモジュールモードが使えるようになった新生さくらのレンタルサーバにようやく移行した時の手順。

ファイルコピー

移行先のサーバにログインして下記コマンドを実行。

rsync -r -z -v account@servec.com:/home/account/www/ ./www/

あとはディレクトリを適当に配置する。

データベースのコピー

移行先で、移行元と同じ数のデータベースを作成しておく。

各データベースについて次の処理を実行する。

  1. 移行元サーバで dump を作成する。

     mysqldump -u account -p -h mysql.server.com db_name > db_name.sql
    
  2. 移行先サーバに流誤飲して dump をコピーする。

     scp -v account@server.com:/home/account/db_name.sql ./
    
  3. 移行先サーバで dump を取り込む。

     mysql -u account -p -h mysql.server.com db_name < db_name.sql
    

日本語ファイル名はファイルマネージャで確認できる。 私がやった時は、 export コマンド が移行先サーバで実行できなかった。 (移行元サーバでは export LANG=ja_JP.UTF-8 を実行すると日本語ファイル名でも表示された。) ファイルマネージャでは1画面に表示できるファイル数に制限があるので、すべてのファイルが表示されるわけではない。 適宜ファイルパスを直接入力して確認する。

データベース接続設定の変更

データベースの接続設定を変更する。 sed を使ってもいいが、ひとつひとつ丁寧にやっていく。

  1. 変更が必要なファイルを見つける

     grep -r db.sakura.ne.jp ./
    
  2. データベースの接続設定をそれぞれ変更する。

    見つかった各ファイルについて、データベース名、ホスト、パスワード、アカウントを変更する。

リンクファイルの修復

シンボリックリンクやハードリンクが壊れていることがありそうなのでチェックする。

  1. シンボリックリンクを次のコマンドで見つける。

     find www/ -type l
    
  2. 必要に応じて修復する。

メールアカウントの移行

必要なメールアカウントを移行先サーバで作成する。 必要に応じてファイル内に記述されたメールアドレス・パスワードを書き換える。

CRON の設定

移行元サーバの設定をそのまま移す。 ホームディレクトリが変わっていることに注意。

ドメイン・サブドメインの設定

ドメイン・サブドメインの作成を行う。

移行元のサーバでドメイン設定を全て削除した後で、移行先のサーバでドメイン設定を行う。 無料SSLの設定は、しばらく時間が経たないとできない。 Let’s Encrypt を設定する場合、 申し込みからしばらく時間がたたないと反映されない。 私の場合は2時間ほどかかった。