さくらインターネットからエックスサーバーにお引越し!WordPress応答を改善!

目次

さいしょに

結論から申し上げますと、エックスサーバーに移行しました。

移行する理由

さくらインターネットを利用し始めて10年以上、ウェブページのテストやブログを最低環境で稼働し続けてきたのですが、近年では稼働させているドメインも増え、乖離がありすぎるハードウェアスペックの差を感じていました。年間費用は2倍になるといえど、キャンペーンもしょっちゅうやっていますし、1.5倍くらいであれば許容かな、と判断した次第です。

移行手順

火がついてしまったのと、自分のサイトだし多少のダウンタイムも許容(きっとコケるだろうな、とは想定)し、一発本番移行作業を行うことにしました。

SQLからのダンプ(エクスポート)、もっと技術よりな内容での掲載も検討しましたが、非IT技術者の方々にもご利用いただけそうな手順としようと思い、できるだけプラグインや一般的なツール、Macintoshを利用して以下にしました。(Windowsの方は適宜読み替えてください。)

  1. さくらインターネット上、Wordpressデータ(静的ファイル・データベース)バックアップ
  2. エックスサーバー初期設定
  3. バックアップしたさくらインターネット上Wordpressデータ(静的ファイル)を展開
  4. 単純データ移行動作確認
  5. DNSレコード(A + TXT)変更(CDN / SSL一時オフ)
  6. SSL化
  7. DNSレコード(MX)変更

それぞれの詳しい手順を以下に書いていきます。

1. さくらインターネット上、Wordpressデータ(静的ファイル・データベース)バックアップ

WordPressでは基本的に、「静的ファイル」と「データベース」で構成されています。そのファイルを別々に保存する手段もあります。データのコピー時間も含めると、一番簡単なのがプラグイン「BackWPup」を利用してしまう方法でしたので、こちらで書いていきます。

プラグイン「BackWPup」インストール

「Wordpress管理画面 > プラグイン > 新規追加」から、「BackWPup」を検索、インストール、有効化します。

次に、以下のようにバックアップジョブを作成します。

保存されたら「今すぐ実行」をクリック、バックアップを取得します。

 

バックアップ作成完了まで待ちます。完了したら、Wordpress管理画面左メニュー「BackWPup > バックアップ」を開きます。

作成されたファイルの「ダウンロード」をし、ご利用のMac/PCにコピーします。

2. エックスサーバー初期設定

エックスサーバー申し込み

まず、エックスサーバーへの申込みを行います。

試用期間が10日間あります。メールアドレスの作成は出来ませんので、最後に移行する必要があります。

申し込みが終わったら、管理画面にログインします。

ドメイン設定

これまで利用していたドメインをそのまま利用する前提です。同じドメインを入力します。

設定したドメイン用のディレクトリ構成が作成されることになります。

その間に別の設定を済ませます。

高速化無効

「高速化」設定を無効化します。

理由は、以下です。

  1. WordPressとCDNのみにキャッシュを限定し、キャッシュ多段構成を極力防ぎ、(自分でわかりやすいように)明瞭化する
  2. エックスサーバーのXアクセラレータでエラーが出たので、無効化する
  3. 開発時や移行時に混乱させるキャッシュを無効化する
サーバキャッシュ無効

「高速化 > サーバーキャッシュ」を選択し、「OFF」にします。

Xアクセラレータ無効化

「高速化 > Xアクセラレータ」を選択し、「OFF」にします。

ブラウザキャッシュ無効化

「高速化 > ブラウザキャッシュ」を選択し、「OFF」にします。

WordPressセキュリティ設定

お使いのインターネットプロバイダーが海外経由でアクセスする可能性があり、設定中にWordpress管理画面アクセスできなくなることを防ぐためです。

対象ドメインを選択し、「ダッシュボード アクセス制限」をOffにします。

SSH設定

SSH設定を行います。SSHを利用しない方法もありますが、先述したWordpressのバックアッププラグイン「BackWPup」を利用してバックアップzipファイルを取得、エックスサーバーへアップロード後に展開する、というのが隠しファイルを含めて安全にコピーできるためです。

「SSH設定 > SSH設定」をONにします。

「公開鍵認証用鍵ペアの生成」をクリックし、パスフレーズ(パスワード)を入力後、「確認画面へ進む」をクリックします。

「生成する」をクリックします。

SSH用秘密鍵がダウンロードされますので、任意の場所に保存します。

データベース作成

データベースの作成

「MySQL設定 > MySQL追加」を選択、データベースを任意の名前、文字コードはUTF-8で作成します。

さくらインターネット上、Wordpressのバックアッププラグイン「BackWPup」の設定で別の文字コードを設定した場合には、合わせる必要があります。

「追加する」をクリックします。

ユーザーの作成

次に、「MySQLユーザー追加」を選択し、ユーザーIDとパスワードを任意で設定の上、作成します。

「追加する」をクリックします。

データベースにアクセス出来るユーザーを設定する

作成したユーザーがアクセスできるよう、データベースの「アクセス権未設定ユーザ」のプルダウンで先程作成したユーザーを選択し、「追加」をクリックします。

指定したユーザーが「アクセス権所有ユーザ」プルダウンに表示されたら終了です。

データベースへインポート(バックアップしたさくらインターネット上Wordpressデータ(静的ファイル・データベース)を展開)

「MySQL設定 > phpmyadmin」をクリックします。

先程作成したユーザー名、パスワードを入力後、「ログイン」をクリックします。

左メニューで、作成したデータベース名を選択後、インポートをクリックします。

「アップロードファイル」の「ファイルを選択」をクリックします。

さくらインターネット上Wordpressのバックアッププラグイン「BackWPup」で取得したバックアップファイル(zip)をMacintosh上で解凍したファイルの中から、「.sql」で終わるファイルを選択します。

「続行」をクリックします。

インポートが正常に終了したら、画面は閉じて構いません。

3. バックアップしたさくらインターネット上Wordpressデータ(静的ファイル)を展開

さくらインターネット上、Wordpressのバックアッププラグイン「BackWPup」で取得したバックアップファイル(zip)を、エックスサーバーへ転送します。

ターミナルを起動、SCPで転送する

ターミナルを起動します。

なかなか見慣れない画面かもしれませんが、ここにコピペで情報を入れていきます。各情報は以下の通りです。

  • WordPressのバックアッププラグイン「BackWPup」で取得したバックアップファイル:backup.zip
  • SSH秘密鍵:secret.key
  • それぞれのファイルの一時保存先:/Users/kengenius/Desktop/

加えて、エックスサーバー管理画面から以下の情報が必要になり、以下コマンドの文字列を置き換える必要があります。

  • エックスサーバー契約ID:XXXXXX
  • エックスサーバーサーバー番号:NNNNN
  • 設定したドメイン:kengenius.com
コマンド
chmod 600 /Users/kengenius/Desktop/secret.key
sudo scp -i /Users/kengenius/Desktop/secret.key -P 10022 /Users/kengenius/Desktop/backup.zip [email protected]:/home/XXXXXX/kengenius.com/public_html

ターミナルで「Password:」と表示されたらMacintoshユーザーのパスワードを、「Enter passphrase for key」と表示されたら、SSH秘密鍵のパスフレーズ(パスワード)を入力します。

ターミナルからSSH接続、アップロードしたzipを展開する

そのままターミナルで、以下のコマンドを実行します。

sudo ssh -i /Users/kengenius/Desktop/secret.key [email protected] -p 10022

「Enter passphrase for key」と表示されたら、SSH秘密鍵のパスフレーズ(パスワード)を入力します。

ログインに成功したら、以下のコマンドを入力します。

cd /home/XXXXXX/kengenius.com/public_html/ && unzip backup.zip
ここからの作業はターミナルやコマンドラインでの入力ではなく、できるだけ簡単にするため、FileZillaで対応します。

FileZilla設定

FileZillaのサイトマネージャを開きます。

エックスサーバーへの接続設定を以下のように実施します。

  • ホスト(H):NNNNN.xserver.jp
  • ユーザー(U):XXXXXX
  • ログオン タイプ(L):設定したドメイン:kengenius.com
  • 鍵ファイル(K):secret.key

secret.keyを設定すると、パスフレーズ(パスワード)の入力が求められますので、入力後「OK(O)」をクリックします。

FileZillaでは.keyの秘密鍵がサポートされていないため、ppkファイルに変換されます。任意の名前で保存してください。

設定が終了したら保存し、接続します。

パスワードが求められたら、SSH秘密鍵のパスフレーズ(パスワード)の入力が求められます。入力後、「OK(O)」をクリックします。

wp-config.phpファイル変更・差し替え

さくらインターネットからエックスサーバーに変わったことで、データベース接続設定を書き直す必要があります。

public_html以下にある、wp-config.phpを選択、表示/編集(V)をクリックします。

変更後、上書き保存すると以下のように表示されますので、「はい(Y)」をクリックします。

不要ファイル削除

エックスサーバー上、public_html配下にある以下ファイルは、プラグイン「BackWPup」が作成したものです。この時点までくれば不要となりますので、削除します。

データ移行終了

ここまで行うことで、データ関連の移行は終わりです。しかし、まだこの時点ではDNS設定により旧サーバー(さくらインターネット)が公開されている状況です。

4. 単純データ移行動作確認

ネームサーバー上でDNSレコードを変更せずにエックスサーバーへ移行されたWordpressを確認したい場合には、hostsファイル(Macintoshの場合、/private/etc/hosts)最下部に以下のように記載します。

XXX.XXX.XXX.XXX kengenius.com

DNS設定を反映する場合には、以下のコマンドを実施します。

sudo killall -HUP mDNSResponder

この時点でアクセスしたWordpressの管理画面のレスポンスが、さくらインターネットとのそれとは、大きく違いました・・・。エックスサーバー、速いな・・・。

5. DNSレコード(A + TXT)変更(CDN / SSL一時オフ)

エックスサーバーでは、無料SSLであるLet’s Encryptが用意されています。しかし、Let’s Encryptは初回SSL証明書作成時のみ、DNS経由でhttpでのアクセスを行います。どうしても、SSLが一時的にオフになる時間(1〜3時間)が発生します。

CDN(CloudFlare)

kengenius.comでは、キャッシュ・ファイアーウォールとして、CloudFlareというCDN(Contents Delivery Network)を利用しています。Let’s Encryptによる初回SSL証明書作成時、もしくは、サーバーのIPアドレス変更時には、SSL関連の設定をオフにする必要があります。

以下は、CloudFlareにおけるkengenius.comの設定です。「SSL/TLS > エッジ証明書」で、以下箇所をオフにします。

また、左メニュー「概要」に表示される「SSL/TLS」で、暗号化モード設定がオフ以外にされていた場合には、「オフ」にします。

URL正規化 + SSLリダイレクトを一時的に停止

httpでアクセスされたらhttpsに変えるような設定をしています。

設定内容詳細は以下の記事にさせていただいていますが、このような設定がされている場合には一時的に解除する必要があります。

(MX以外の)DNSレコード変更

ここまでの設定が終わったら、メール以外のDNSレコードを新しいエックスサーバーのIPアドレスに変更し、1時間〜2時間ほど待ち、次に進みます。

6. SSL化

エックスサーバー管理画面の「SSL設定 > 独自SSL設定追加」を開き、対象のドメインを選択後、「確認画面へ進む」をクリックします。

「追加する」をクリックします。

ネームサーバーを外部に設定している(エックスサーバーではない)場合、以下の画面が出現します。

どちらでも構いませんが、「外部サーバーでのWeb認証」が最短で済みますので、おすすめです。上記画面から、トークンファイルをダウンロードし、FileZilla等でディレクトリ構成を作成し、アップロード後に「確認画面へ進む」をクリックします。

SSL証明書の新規取得でエラーがでなければ、終了です。

Let’s EncryptによるSSL証明書は、1時間弱で発行されます。

その後、CDNのSSL設定やURL正規化を元に戻せば、完了です。

ここまでの移行作業で、移行したWordpressとドメインは、徐々にエックスサーバー側へ移行していきます。

7. DNSレコード(MX)変更

最後に、メールデータ及びMXの移行が必要になる場合には、バックアップを行ってから、DNSレコードの変更を行います。

Apple メールのバックアップ

対象のメールボックスで右クリックし、「メールボックスを書き出す…」をクリックします。

保存先を適宜選択し、書き出します。

メールアカウント作成

さくらインターネットで利用していたメールアカウントと同じアカウントを、エックスサーバー側で作成します。さくらインターネットでは、マルチドメイン(複数のドメイン)を利用していると、アカウント(@より前の部分)が共通化されていましたが、エックスサーバーはドメイン1つごとに個別発行となります。

記載されている通り、試用期間中はメールアカウントの作成はできません。

Apple メールのバックアップ復元

読み込みは、「ファイル > メールボックスを読み込む…」をクリックし、バックアップしたファイルを選択するだけです。

ここまで終わったら、あとはDNSレコードを変更すれば終わりです。

DNSレコード(MX)の変更

ネームサーバー側で、MXレコードの変更を実施します。

その後、メールクライアント(Apple メール等)の設定変更を実施します。設定項目は、メールアカウント作成のページに記載されているので割愛します。

さいごに

これでようやく、さくらインターネットからエックスサーバーへの移行が終了しました。先述しましたが、管理画面の応答速度だけでも相当違いましたが、投稿ページはもっと違いました。

Cocoon設定変更

移行して良かったことの一つとしては、なんとか応答速度を改善するためにこねくり回していましたが、コアウェブバイタルのために各種の遅延読み込みも行わなくて良くなったことでしょうか。

以下の記事を書くときには、Cocoonの中を調べたりしていましたので・・・。

おわりに

ブログのお引越しのみならず、システムの移行はなにかしらトラブルがつきものですが、今回は比較的楽にできたと思います。年間費用は約2倍になりますが、それでも1万円弱で、複数ドメインを格納するのであれば、十分なコスパが得られると思います。

新型コロナウィルス禍がまだ続きそうな中、ブログやサーバー環境はぜひ快適な環境に移行してみてはいかがでしょうか。

 

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次