エックスサーバーで運用しているWordPressのテスト環境を作りたいときは、サブドメインを利用して作るのが便利です。またエックスサーバーには「WordPress簡単移行」という機能があるのでデータの移行はとても簡単です。
エックスサーバーでサブドメインを利用してWordPressのテスト環境を作る流れを解説します。
1. サブドメインを設定する
まずは利用中のドメインにサブドメインを設定します。エックスサーバーのサーバーパネルにログインして操作します。サブドメインを設定する流れは以下の通りです。
- エックスサーバー のサーバーパネルへログイン
- 「ドメイン」メニュー内の「サブドメイン設定」をクリック
- 「ドメイン選択」画面でサブドメインを設定したいドメイン(例:example.com)で「選択する」をクリック
- 「サブドメイン設定追加」タブをクリック
- サブドメイン名を入力し(例:サブドメイン名「stg」)、ドキュメントルートを選んで確認画面に進む
サブドメイン名は以下の内容を守れば基本的に好きな文字を設定可能です。
- 半角30文字以内
- 半角英数字と記号「-」「.」(記号は先頭、末尾以外)が利用可能
- 連続した『.』は利用不可
ドキュメントルートとは
サブドメインで利用するデータのアップロード先です。エックスサーバーでは当該ドメインのpublic_html内にサブドメイン用のディレクトリが作成されます。そのディレクトリ名を選ぶことができるのです。基本的に管理しやすい方、お好みで良いと思います。
予め「無料独自SSLを利用する」にチェックが入っているのでそのまま入れておきます。
サブドメインが有効になるまで最大で1時間程かかります。
その時の状況にもよるのかもしれませんが、私が設定した時はほぼ1時間で利用可能になりました。
サブドメインが有効前の状態
サブドメインでアクセスしてみると、「無効なURLです。」と表示されます。
サブドメインが有効になった状態
お決まりのエックスサーバーの初期画面が表示されれば、サブドメインが有効になったことになります。
サブドメインでのみアクセス可能にする.htaccess設定は後で設定します
サブドメインhttps://stg.example.com/ の場合、https://example.com/stg.example.com/でもアクセスが可能な状態です。
サブドメイン名(https://stg.example.com/)からだけでアクセスできるようにするには.htaccessで設定できますが、この作業はWordPressのデータを移してから設定します。
参考記事www有り無し統一してhttps化する .htaccessのスマートな書き方
2.WordPress簡単移行でデータを丸ごと転送
エックスサーバーの「WordPress簡単移行」を利用してWordPressの本番データをサブドメイン内にコピーします。
WordPress簡単移行の前に、セキュリティ系のプラグイン(Wordfence,SiteGuard WP Pluginなど)を利用していると移行エラーになる可能性が高いので、プラグインは一時的に無効にしておくのをお奨めします。
- サーバーパネル「WordPress」内の「WordPress簡単移行」をクリック
- 「ドメイン選択」から当該ドメイン(例:example.com)の「選択する」をクリック
- 「WordPress移行情報入力」のタブ選択
- 「移行元」にはWordPressのサイトURLとログイン情報(ユーザー名・パスワード)を入れます
「URL」はサブドメインのディレクトリを指定します。
- WordPress移行情報の入力内容確認し「移行を開始する」
- 移行ステータスが100%になれば移行完了です。データ容量は1GBほどでしたが、同じサーバ内だからなのか数分で移行完了しました。
3.移行データの確認
移行したWordPressへアクセスしてみます。
この段階ではドメイン名/サブドメイン名でログインします。
例:https://example.com/stg.example.com/wp-login.php
WordPressのURLを変更する
移行したWordPressのURLをサブドメインに変更します。
WordPressの一般設定で、WordPress アドレス (URL)、サイトアドレス (URL)を変更します。
テストサイトを確認し、問題なければ移行完了です。
サブドメインでのみアクセス可能にする.htaccess設定
サブドメインを設定したときに保留にした.htaccess設定をここで行います。
ドメイン名/サブドメイン名(https://example.com/stg.example.com/)でのアクセスを拒否する.htaccess
SetEnvIf Host "^stg.example.com$" host
order deny,allow
deny from all
allow from env=host
1行目の「stg.example.com」は利用するサブドメイン名で。
.htaccessはサブドメインのディレクトリ(/example.com/public_html/stg.example.com/)に設置します。WordPressの設定を上書きしてしまわないよう注意しましょう。
試しにhttps://example.com/stg.example.com/へアクセスすると403エラーになります。
参考記事www有り無し統一してhttps化する .htaccessのスマートな書き方
4.サブドメインのアクセス制限
最後にサブドメインはテスト環境なので検索エンジンにインデックスされないようアクセス制限をかけておきます。
.htaccessを直接編集してベーシック認証を設定するか、エックスーサーバーのサーバーパネルからも設定可能です。
ホームページ>アクセス制限
サブドメインのアクセス制限をONにして、ユーザー設定をします。
WordPressのテスト環境を作るまとめ
エックスサーバーではサブドメイン設定からWordPressのデータ移行までサーバーパネルで操作が可能なので、WordPressのテスト環境を作ることは簡単です。
でもテストした後本番へのリリースを自動ですることはできません。
テストからリリースまでできるサーバーもあります
本番環境→テスト環境、またテスト→本番リリースまでもっと手軽にやりたい場合はCPI、さくらのレンタルサーバなら可能です。
CPIにはスマートリリース、さくらのレンタルサーバには「Snapshot」という機能があります。以下の記事ではスマートリリースとSnapshotを紹介しています。