先日WordPressサイトのサーバー移転を行ったので、自分用に手順をメモしました。
基本的な流れ
- バックアップの取得
- 移転先サーバーへドメインの登録
- (メールの移転もある場合)メールアカウントの登録
- (プラグインを使う場合)登録したドメインにWordPressインストール
- (プラグインを使う場合)All in One WP Migrationでインポート
- 事前独自SSLの申請
- hosts設定→表示確認・ログイン
- (手動でやる場合)データベースをインポート
- (手動でやる場合)サイトデータをFTPでアップロード
- (メールの移転もある場合)メールのバックアップデータもメール領域にアップロード
- 表示確認・修正
- ネームサーバーの切り替え
①バックアップの取得
サーバーからサイトデータ(WordPressの構成ファイル一式)、データベースのバックアップを取得します。
All in One WP Migrationでもデータをエクスポートしておきます。
画像などのメディアが重い場合はエクスポートのデータが大きくなるので、All in One WP Migrationの「高度な設定」にてメディアを除外し、メディアはFTPなどでダウンロードするとスムーズです。
今回はサーバー側でSSH接続の設定を行い、filezillaをSFTP接続にしてダウンロードを行いました。
ダウンロードする際に、サーバー側でダウンロードするデータを圧縮すると速いです(というのを詳しくて優しいお方に教えていただきましたm(_ _)m)。
メールのデータのバックアップ
こちらもfilezillaのSFTPで、サーバーのmail領域から各メールアドレスのデータをダウンロードします。
curが既読メール、newが未読メールです。
サーバー側で圧縮して、SFTPでダウンロードしました。
エックスサーバーさんにやり方を問い合わせた際、ダウンロードやアップロード時にWindows機を使うとデータが文字化けするなどの不具合があるとのことでしたのでご注意ください。
②移転先サーバーへドメインの登録
サーバーのコントロールパネルに、ドメインを登録します。
③(メールの移転もある場合)メールアカウントの登録
こちらもサーバーのコントロールパネルからドメインに紐づいたメールアドレスを登録します。
④(プラグインを使う場合)登録したドメインにWordPressインストール
今回は、登録したドメインにサーバーの「WordPress簡単インストール」機能を使って素のWordPressをインストールしました。
⑤(プラグインを使う場合)All in One WP Migrationでインポート
④で用意したWordPressにAll in One WP Migrationをインストールし、①で取得したエクスポートデータをインポートしました。
⑥事前独自SSLの申請
エックスサーバーやラッコサーバーでは事前にLet’s Encriptの無料SSLを申請することができます。
これを行うことで、後でhostsを設定して自分のPCから表示確認をすることができ、かつ移転してからSSL化が反映されるのを待つ時間もないので移行がスムーズになります。
やり方は2つあります。
- Web認証【推奨】
- DNS認証
Web認証に関してはwwwありとなし両方のトークンが用意されますが、普通に移行元のサーバーのドメインのpublic_html直下に.well-knownディレクトリを作り(すでにあれば作らなくて良い)、さらにその下にacme-challengeディレクトリをつくって、そこにwwwありとなしの両方のトークンを入れます。
上記が正しく設定されれば、移転先で事前SSL 申請が通るかと思います!
⑦hosts設定→表示確認・ログイン
ネームサーバー切り替え前に、hostsというファイルを編集することで自分のPCからのみ移転後のサイト表示を確認することができます。
hostsファイルを編集
Macの場合ですがFinderを開いて、下の方に「Macintosh HD > ユーザ > (ユーザー名)」というパンくずリストがありますのでMacintosh HDをクリック→「etc」フォルダの中にhostsファイルがあります。
hostsファイルをデスクトップ上にドラッグアンドドロップして、ダブルクリックで開きます。
一番最後の行に、移行先のサーバーのIPアドレス、半角スペース、ドメイン名を記載し、元のフォルダに戻します。
置き換えますか?と聞かれるので置き換え、パスワードか指紋認証を求められるので認証します。
そうすると、hostsを設定したPCでのみ、移行先のサーバーにあるサイトデータに基づいてサイトを見ることができます。
WordPress管理画面へログイン
hotsを編集することで、自分のPCから移管後のサイトを仮想的に表示でき、サイトの管理画面へログインすることが可能です。
⑧(手動でやる場合)データベースをインポート
phpMyAdminから移転元からエクスポートしたものをインポートします
⑨(手動でやる場合)サイトデータをFTPでアップロード
SSHやSFTPを利用して高速でアップロードしましょう
⑩(メールの移転もある場合)メールのバックアップデータもメール領域にアップロード
アップロードするドメイン・ディレクトリを間違えないようにしましょう!
⑪表示確認・修正
インポートした後に表示崩れなどがないかを確認します。
⑫ネームサーバーの切り替え
⑪のプロセスで表示崩れがなければ、DNSサーバーの切り替えを行います。