以前「サーバーをAWS EC2からConoHaのVPSに変更した話」という記事のとおり、サイトとブログ(WordPress)を別サーバーに移行しました。
その作業ではWordPress本体のファイル群の移動(とDBの書き換え)を行っていたので、KUSANAGIのプロビジョニングによって配置されたWordPressを使っているわけではありませんでした。これではKUSANAGI専用プラグインが使えず、ページキャッシュなどの機能を利用できません。
というわけで新しくサーバーを作成して、KUSANAGIのプロビジョニングでインストールしたWordPressを使うようブログのデータを再移行し、さらにドメインを変更してみました。
サーバー作成
ConoHaコントロールパネルでサーバーを追加します。
追加したサーバーのコンソールを開き、初期設定、プロビジョニング、SSHの設定を済ませます。
ドメイン変更(旧:shs.tokyo→新:blog.shs.tokyo)のため、追加したサーバーのIPアドレスを新ドメインに紐付けします。
WordPressのセットアップ
手順は
AWS + KUSANAGIのHTTPS環境にブログを移行した手順 | 経験知
に従いました。
WordPressをインストールした後、旧環境からダウンロードした「wp-content」以下の「plugins」「themes」「uploads」を新環境へアップロードします。
「phpMyAdminをインストール」・「データベースの設定」の手順に従い、DBを書き換えます。
ドメインが変わらなければこれで終わりですが、今回はドメインの変更にともない、DBの内容も変更する必要があります。
WordPressでドメインやディレクトリ変更 – Qiita
Search Replace DBを使い、DBにあるドメイン名を一気に置換します。
書き換えの前にdry runで変更内容を確認し、OKなら書き換え(live run)します。
Webブラウザで新ドメインにアクセスし、正常にブログが表示されているのを確認します。
WordPressの管理画面を開くとKUSANAGI専用プラグインが出ています。
これで「完全な移行」が完了しました。
2/2追記
ブログのアドレスをこのように変更したので、旧アドレスのリンクから記事が見られなくなるのを解決するためリダイレクトの設定をしました。
旧:shs.tokyo/blog/ → 新:blog.shs.tokyo/
パーマリンクを開いたとき、
shs.tokyo/blog/archives/147 → blog.shs.tokyo/archives/147
というふうに自動的に変わるようにしたいと思います。
まず、以下のコマンドでWordPressをインストールしない形でプロビジョニングします。FQDNはshs.tokyoとし、このアドレスへのアクセスを受けられるようにします。
# kusanagi provision --lamp (プロファイル名)
作成したプロファイルのnginx設定ファイル
/etc/nginx/conf.d/(プロファイル名)_http.conf (または(プロファイル名)_ssl.conf)
を開き、以下のディレクティブを追加します。
location ~* ^/blog/ { rewrite ^/blog/(.*)$ https://blog.shs.tokyo/$1 permanent; }
ディレクトリ/blog/*を開いた場合にURLが置き換わります。
これによりhttps://shs.tokyo/blog/○○○がhttps://blog.shs.tokyo/○○○にリダイレクトされます。
おわり