Sina App EngineからDigitalOceanへWordPressサイトを移行する
このメモは、WordPressサイトをSina App Engine(SAE)からDigitalOceanのDropletへ移行したときの手順を記録したものです。
1. SAEドメインをリダイレクトする
SAEサイトのルートディレクトリにあるconfig.yamlを開き、handleの下に次のルールを追加します。
- rewrite: if(in_header["host"] ~ "^www.yovisun.me" && path ~ "^(.*)$") goto "http://www.yovisun.com$1 [L,QSA,R=301]"
これにより、旧SAEドメインへのリクエストが新しいドメインへ301永続リダイレクトされます。
2. 新しいドメインを購入または準備する
新しいドメインはWest.cnで購入しました。ドメインの準備ができたら、DNSレコードをDigitalOcean DropletのIPアドレスに向けます。
3. DigitalOcean Dropletを作成する
DigitalOceanで、ワンクリックWordPressイメージを使ってDropletを作成します。セットアップ時に、ログイン用のSSHキーを追加します。
まだSSHキーを持っていない場合は、ローカルで生成します。
ssh-keygen -t rsa -C "835570372@qq.com"
4. PuTTY用にOpenSSH秘密鍵を変換する
WindowsでPuTTYを使う場合は、PuTTYgenを使ってOpenSSH秘密鍵をPuTTYの.ppk形式に変換します。
- PuTTYgenを起動します。
- Conversions > Import keyをクリックします。
id_rsaなど、OpenSSHで生成した秘密鍵を選択します。- Save private keyをクリックし、
id_rsa_putty.ppkのような名前で保存します。
5. PuTTYでDropletへログインする
PuTTYを開き、DropletのIPアドレスまたはドメイン名を入力します。次に秘密鍵を設定します。
- Connection > SSH > Authへ移動します。
- Browseをクリックし、
.ppk秘密鍵ファイルを選択します。 - Sessionへ戻り、セッションを保存します。
- サーバーへ接続します。
初回ログイン時には、WordPressワンクリックイメージのセットアッププロンプトに従います。私の場合はデフォルト設定で問題なかったため、Enterキーを押して続行しました。
6. DNSを設定する
ドメインのDNSレコードをDropletのIPアドレスに設定します。ルートドメインとwwwサブドメインのAレコードなど、サイトに必要な対応レコードを作成します。
DNS変更後、ドメインがDropletに解決されることを確認します。
nslookup www.yovisun.com
または、次を実行します。
dig www.yovisun.com
7. WordPressを更新する
新しいWordPressダッシュボードにログインし、コンテンツをインポートする前にWordPress本体、テーマ、プラグインを更新します。これにより、移行中の互換性問題を減らせます。
8. XMLバックアップをインポートする
事前にエクスポートしておいたWordPressの.xmlバックアップファイルを使います。
- WordPressダッシュボードを開きます。
- Tools > Importへ移動します。
- WordPressを選択します。
- 必要であればインポーターをインストールします。
.xmlファイルをアップロードし、インポートを実行します。- インポートした投稿を正しいユーザーに割り当てます。
- 旧サイトのメディアURLにまだアクセスできるかどうかに応じて、添付ファイルをダウンロードしてインポートするかを選択します。
インポート後、移行完了と判断する前に、投稿、画像、パーマリンク、リダイレクトを確認します。
