WordPressでサイトをテスト環境に構築しておいて、本番公開時には別の独自ドメインや別のサーバーで展開するケースはよくあります。
今回のケースでは、テスト環境は ConoHa WING 上に構築済みで、本番では、さくらインターネットで管理しているドメインのサブドメイン(例:sub.main.com)でサイトを表示させたい、という要件がありました。
しかし、さくらインターネット側には「既存のシステムの都合でPHPのバージョンを5.6から上げられない」という制限があり、WordPress6.0以上はPHP7.4以上を求めらえるため、そのまま運用することができません。
※なお、今回この検証をしたさくらインターネットのサーバーは契約上の問題か、ドメインごとのPHPバージョンの設定ができない契約であったために、難を要し今回ブログにまとめてみました。
そこで今回は、ドメインはさくらで管理したまま、サイトの中身はConoHa WINGにある状態を実現する方法を実践してみます。
前提条件
- さくらのレンタルサーバの独自ドメインでサイトを表示して欲しいオーダー
- テストサイトがConoHa WINGのサーバー内にて構築済み(WordPress6.7.2)
- 構築済みサイトにはエラーなどはなく正常な状態
- PHPが最初動いておらずphpinfo.phpをルートディレクトリにいれ<?php phpinfo(); ?>と入れるも、そのまま<?php phpinfo(); ?>と文字で出力されてしまい、PHPは全く動いていなかったが先頭に、
RemoveHandler .php
RemoveType .php
AddHandler application/x-httpd-php56 .php
を入れることでPHPは正常に稼働した - さくらのレンタルサーバは契約プラン上の問題か、ディレクトリ単位でのPHP設定は不可
- AddHandler application/x-httpd-php81 .phpで強制するも、「Your server is running PHP version 5.6.40 but WordPress 6.6.2 requires at least 7.2.24.」となり設定が切り替わることはなかった
- さくらのレンタルサーバからDNSでConoHa WINGへWordPressの新設、なお、ConoHa WINGのPHPバージョンは8.1
ConoHa に独自ドメイン(他社管理)を追加する
前提条件でテストサイトは稼働していることから、テストサイトのWordPressの設置やサイト状態などについてはまるッと割愛します。
ConoHa WINGのサーバーパネルに入ったら、左側のメニューから「サーバー管理>ドメイン」を選択し、公開したい予定のドメイン(今回の場合はさくらのレンタルサーバーで使われるサブドメインの元の独自ドメイン)を登録します。
※サブドメインから直接の登録はできませんので、独自ドメインの登録からしていきましょう。
ポイント |
なぜConoHaに独自ドメインを設定しても問題ないのか?
ドメインの「所有」と「どこに向けるか(表示するサーバー)」は別だから。
|
サブドメインを追加する
今回はサブドメインでアクセスした際に、ConoHa WING内のサイトを表示させることになるので、サブドメインを設定していきます。
独自ドメインの追加のサイト同様にサーバーパネルの「サーバー管理>ドメイン>+ドメイン」から今回は「サブドメイン」を選択します。
先頭は対象のサイトのサブドメインを入れます。
右側には、先ほど登録をした独自ドメインをドロップダウンから選択をし保存します。
ここでWordPressのインストールをしたくなるところではありますが、現在はドメインがさくらのレンタルサーバにあるので、インストールをしたとて、そもそもアクセスをする先はさくらのレンタルサーバになってしまいます。
そのためまずは、DNSをConoHa WINGに向けていきます。
さくらのレンタルサーバーのDNSをConoHa WINGに向ける
さくらのレンタルサーバからDNSを向ける先の、ConoHa WINGのAレコードを最初に確認します。
ConoHa WINGのサーバーパネルから「サーバー管理>契約情報>メール/FTP/ネームサーバー情報」を選択します。
「サーバー管理>契約情報>メール/FTP/ネームサーバー情報」を下部へスクロールすると「DNS情報」があるので、Aレコードを取得します。
図ではAレコードが4つありますが、@になっている部分がルートドメインを意味しますので、一番上のものの値をメモ(コピー)します。
ポイント |
wwwはサブドメインにあたります。今回もサブドメインにあたりますが、DNS(Aレコード)は「この名前(ドメイン)は、どのサーバーにアクセスしに行くか?」を決めるものなので、ルートドメイン(@)のものでOK |
さくらのレンタルサーバーでDNS(Aレコード)を設定する
DNSレコード設定のAレコードの部分に既存のAレコードがはいっていますので、そのレコードを書き換えます。
※元のAレコードは念の為メモして取っておくようにしましょう。
先ほどConoHa WINGで取得したAレコードをこちらに入力します。
※右側に「削除」とありますが、これはレコード丸ごとが消えるので、押さないでください。もし押してしまった場合には、再読み込みをすれば保存はされていませんので、再度行うことができます。
入力が問題なくできたら、最下部に「設定する」のボタンがあるので、選択します。
サイトにアクセスしてみる
アクセスをしてみると、元々のURLでアクセスしていた状態とは変わってくると思います。
今回はアクセスしてみると、SSL設定に失敗してしまっています。
原因は
ConoHaのSSLシステムは「ネームサーバーがConoHa以外」のとき、SSL発行に失敗することがある。
(さくらでDNS管理してる場合、ConoHa側がDNS制御できないので一時的に認証できない)
ConoHa WINGのSSL設定を確認する
ConoHa WINGのサーバーパネルから「サイトの管理>(切替で適宜対象のサイトにする)>サイトセキュリティ>独自SSL>無料独自SSL」を確認すると、「OFF」になっていることが原因のため「ON」にする。
しかし!
画像のように「失敗しました。無料独自SSL設定変更サイトにアクセス出来ません。Aレコード(wwwあり・なし)やネームサーバーにConoHaのものを設定してください。」と表示がされてしまうことがあります。
これは、さくらのレンタルサーバでDNS管理してる場合、ConoHa側がDNS制御できないので一時的に認証できないことが原因です。
「SSL設定の再試行」を何度かやる(数分おき)
- ConoHa管理画面 → 対象サイト(サブドメイン)を選択
- 「SSL設定」→「無料独自SSL」→「利用する」
- エラーが出たら(ここまで上記の流れ)、数分おいて再度「設定変更」ボタンを押す
5分〜15分おきに試すと、高確率で成功します!
画像でも何回も実際にONにすることをして、成功しました。
が!成功した直後は「設定中」なので、再度設定が完了するまで待ちましょう。
サイトにアクセスしてみると、先ほどのプライバシーエラーの表示から変わっています。
画像では「Forbidden」になっています、Forbiddenは403の状態で、サーバーにはアクセスできたものの、表示するファイルが見つからない、もしくは、アクセス権がない状態になります。
ちなみに「Forbidden」の下に書かれている「You don't have permission to access this resource.」は、 「この場所にはアクセスできるが、中身を表示する権限がないです」ということです。
そのため、今回このページはWordPressのテストサイトで完成しているものを移転させるため、一旦WordPressをインストールすることでForbidden状態は解消が可能です。
ConoHa WINGでWordPressを簡単インストールしてみる
ConoHa WINGのサーバーパネルから「サイトの管理>(対象のサイトに適宜切り替え)>サイト設定>WordPress>+WordPress」でワードプレスの設定をし、保存をすればワードプレスが無事インストール可能です。
※WordPressの具体的な設定についてはここでは割愛します。
WordPressのインストールが成功しサイトが使えるかを確認する
テストサイトをインストールしたWordPressに移転(複製)する
ここまでで無事にサブドメインをさくらのレンタルサーバから、ConoHa WINGへDNSを飛ばすことに成功し、かつ、WordPressのインストールも無事成功。
あとは、実際のテストサイトから移転(複製)をすることで終わりになるが、私は複製にDelicious Brains Inc.のプラグイン「WP Migrate」(有償版)を採用している。それ以外にもAll-in-One WP Migration and Backupなどさまざまなプラグインを使うことやFTPアクセスでの移転作業をすることでも今回の作業を完了することが可能である。
なお、移転(複製)部分についても今回の記事では割愛します。
まとめ
- ConoHa WINGでさくらのレンタルサーバで契約しているドメインを移管することなくサブドメインをConoHa WINGで使用するため、まずは使うドメインをConoHa WINGに登録
- サブドメインを登録
- ConoHa WINGのAレコードをさくらのレンタルサーバのサブドメインのDNS設定から書き換え
- ConoHa WINGにDNSが向いたことを確認しSSLをConoHa WING側で設定
- ConoHa WING側にワードプレスをインストール
- 完成しているテストサイトを今回インストールしたWordPressに複製
さいごに
さくらのレンタルサーバーのPHPバージョンが5.6(CGI)であり、WordPress6.0以上がそもそも稼働しない部分を、ConoHa WINGがPHPバージョン8.1であることからクリアし、かつさまざまな最新ツールの使用ができ、サーバーの脆弱性についても解消することができた。
メインのドメインでどうしてもPHPのバージョンをあげられないシステム等を運用している場合で、サブドメインを使う場合は、今回の手法は代替案としてはかなり有用であった。