プロローグ)Xサーバーへのデータ移行
- 現在、AWSのLightsailで運営しているWordPressサイトを、エックスサーバーへ移行する案件が発生しました
- 本稿は、その様子を(流れを)記載します
- Lightsail → エックスサーバー という条件は稀だと思いますが、部分的にでも誰かの役に立つ情報となれば幸いです
- なお、全くの初心者には(「DNS?」「SSL?」となる方には)、本稿だけでは情報不足です
状態・条件
- 現在:AWSのLightsail(Bitnami)
- 移行先:エックスサーバー(共有サーバー)
- 移行対象:WordPressサイト
- 現在のサイトにおいてSSL設定済み
- WordPressのバージョン変更なし(予め現在のサイトWP・プラグインを最新へ更新済み)
- サイト中のコンテンツ変更はなし
手順1)ローカルへデータを集める
- FTPクライアントでLightsailのディレクトリへアクセスして
wp-content
の中身とwp-config.php
をローカルへダウンロードする(WordPress全体をダウンロードしておいてもOK) - phpMyAdminを用いて、データベースの中身をローカルへダウンロードする
FTPクライアントでLightsailのディレクトリへアクセス
- 「アクセスの仕方が分からない〜」という方は、下記の記事を参考にしていただくか、「lightsail ftp」とかでググってみてください
phpMyAdminでLightsailのデータベースへアクセス
- 「アクセスの仕方が分からない〜」という方は、下記の記事を参考にしていただくか、「lightsail phpmyadmin」とかでググってみてください
手順2)エックスサーバーにデータベースを用意して、データをアップする
データベースの用意
- Xサーバーのメニューにある「MySQL設定」からデータベースを追加できます
- 「MySQL追加」から追加します
- 続いて「MySQLユーザー追加」からユーザーを追加します(※
パスワード
はメモしておきましょう)
- 「MySQL一覧」で「アクセス権未所有ユーザ」を「追加」します
-
データベース名
ユーザー名
ホスト名
は、後ほど使います。メモしておきましょう
phpmyadminで旧データをアップロードする
- Xサーバーのメニューにある「phpmyadmin(MariaDB10.5)」から、phpmyadminを起動できます。
- BASIC認証への入力が求められるので、先程に入力したユーザー名とパスワードを入力します
- 認証をパスできない場合は「MySQL設定 > MySQLユーザ一覧」からユーザーのパスワードを変更して試してみましょう
- 先程に追加したデータベース名をクリックして「インポート」タブをクリック
- アップロードファイルから、旧WordPressのデータベース(sqlファイル)を選択
- 「実行」をクリック(アップロードは、そこそこ時間がかかるかもしれません。気長に待ちましょう)
手順3)エックスサーバーにドメインを追加してディレクトリを確保する
Xサーバーへドメインを追加
- Xサーバーのメニューにある「ドメイン設定」から、ドメインを追加できます
- ※この時点では、DNSの書き換えを実施していません。ただ、追加するだけです
- ドメインを追加することで、そのドメインに紐づいたディレクトリが用意されます
- ドメインを追加したら、上部にある「ファイルマネージャー」から、ディレクトリの存在を確認しましょう
FTPクライアントからアクセスできるように許可する
- ディレクトリが確保できたら、FTPクライアントからディレクトリへアクセスできるようにします
- Xサーバーのメニューにある「FTP制限設定」から、設定をします
- ドメインを指定後、「FTP接続許可IPアドレス追加」から設定を進めましょう
- ※ここで設定するIPアドレスは、ローカルPCの外部IPアドレスです。例えば、会社と自宅の2箇所から、FTPクライアントを通じてアクセスしたい場合は、会社と自宅のIPアドレスを登録することになります。「設定したIPアドレスからの接続を許可する」という内容です
手順4) FTPクライアントを通じて、WordPressをインストールする
FTPクライアントの設定
- FTPクライアントの設定方法については、オフィシャルガイドが丁寧に解説してくれています
- (エックスサーバーって、分かりやすいマニュアル多くて良いですよね。お客様にもオススメしやすいレンタルサーバーですね)
WordPressをインストールする
- 追加したドメインのディレクトリ内にある「public_html」ディレクトリへWordPressをインストールします
- WordPressを公式からダウンロードして、解凍して、「public_html」ディレクトリへアップロードしましょう
- WordPress全体をローカルへ保存していた場合は、そのままそれを「public_html」ディレクトリへアップロードしてもOKです
手順5)旧データを上書きする
- ローカルへダウンロードしておいた旧データ
wp-config.php
wp-content
を「public_html」ディレクトリへアップロード(上書き)します -
wp-config.php
のデータベース部は、Xサーバーの設定内容に合わせて書き換える必要があります
手順6)「hosts」ファイルを書き換える
「hosts」ファイルを書き換え
- DNSを書き換えていないので、当然にドメインでアクセスすると、表示されるのは旧サーバー(Lightsail)のページです
- そこで「hosts」ファイルの書き換えを行います。「hosts」ファイルを書き換えることで、DNSを変更する前でも、ドメインのアクセスで新サーバー(Xサーバー)へアクセスすることができます
- 「hosts」の書き換え方法については、「hostsファイル サーバー移行」などでググっていただければ...(WinとMacでも方法が少々異なります)
- 「hostsファイルを書き換えたけど、新サーバーへアクセスできない!」ってときは、シークレットブラウザを使うか、ブラウザ自体を再起動してみましょう(あと、この記事が良いです→hostsファイルの設定を即時反映させる方法)
- Chromeを使っている場合は、
chrome://net-internals/#dns
へアクセスすると「DNS lookup」をすることができます
エラーでた
- 「hosts」の書き換えてから、ドメインへアクセスすると、エラーが表示されました
- ググると、XサーバーのSSL絡みの表示でした
- 本件の場合は、ゴニョゴニョせずに、DNSを書き換えて対応します
無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。
サーバーパネル上で「ドメイン設定」「サブドメイン設定」「動作確認URL」および「SSL設定」を設定してからの時間経過が短い場合に発生します。
引用元:Xサーバー > よくある質問
手順7)DNSを書き換える
- 本件の場合は、ゴニョゴニョするのが面倒だったので、もうDNSの書き換え(「ドメイン→Laghtsail」を「ドメイン→Xサーバー」へ変更)しました
- DNSの書き換えは、すぐには反映されません。寝る前に書き換えて、起きてから状況を確認しましょう
- DNS書き換え後には、XサーバーのSSL設定をON(有効)にしておきましょう
- Xサーバーのメニューにある「SSL設定」から、設定できます
- あとはドメインへアクセスして、ページが正常に表示されれば、作業完了です
最後に
- 今回は単純なサーバーの変更(データ移行+DNS書き換え)だけだったので、作業としては2〜3時間、DNSの反映待ちを入れても1日間ほどの作業量でした
- 旧新のどちらかにSSLが設定されてないとか、ドメインが変わる(サブドメインにするなど)があれば、WordPressの中のドメイン部分をゴニョゴニョしたりする必要があるので、より面倒となります
- サイト中にお問い合わせフォームがある場合は、テスト送信もしておきましょう
- 「TOPページは表示されるのに、下層ページが表示されない」という場合は、WordPressの
設定 > パーマリンク設定
を再保存(「変更を保存」ボタンをクリックするだけ)を試してみましょう。「WordPressでページが表示されない問題」は、この方法で解決するパターンも多いです