SSL設定は、マルチサイト化においてメインドメインはマルチサイト化する前にすると良いですが、しかし忘れる場合などもあります。
マルチサイト化してからのメインドメインをSSL設定をする説明をします。
ブログ作成された方は分かると思いますが、WordPressで「http://」に「s」を加えてSSL設定を行いますよね。
マルチサイト化する場合「s」を加えるSS設定がメインドメインの場合はWordPressでは出来ません。
しかしマルチサイト化で作られるサブディレクトリ・サイトは、WordPressにて「http://」に「s」を加えるSSL設定は出来ます。
次の画像が参考例です。
※通常のWordPressでのSSL設定画面とは違います。参考画像は、マルチサイト化のWordPressの編集画面です。
参考:サブディレクトリのSSL設定の編集画面
参考:マルチサイト化後の「メインドメイン」の編集画面(SSL設定は出来ません)
この記事では、メインサイトのドメインをマルチサイト化した後にSSL設定をする方法を解説します。
それと合わせて「マルチサイト化で追加されたサブディレクトリはSSL設定するのかな?」と疑問に思いますよね。結論は「サブディレクトリ・サイトもSSL設定は行います」
今回はマルチサイト化の後のSSL設定(サブディレクトリのSSL設定も含む)とマルチサイト化で起こるSSL設定のトラブルを解説します。
マルチサイト化のSSL設定方法
必ずSSL設定は行なって下さい。
サーバーのファイルを操作する場合は、必ずバックアップを行なって下さい。
エックスサーバーを元に解説します。
メインドメインのSSL設定が出来なくなった時のトラブル解決方法
- 「参加サイト」から「サイトネットワーク管理」をクリックします。
- 「サイト」をクリックすると作成されたすべてのサイトの一覧が表示されます。
「メイン」と表示があるのがメインドメインです。何も無いのが「サブディレクトリ・ドメイン」
「編集」をクリックして項目の「設定」をクリックすると編集が出来ない事が確認出来ます。
サブディレクトリで作成したサイトはSSL設定が「編集」で行うことが出来ます。
エックスサーバーphpmyadmin(MySQL5.7)からのSSL設定
メインドメインのSSL設定をするにはサーバーで行う必要があります。
エックスサーバーの「サーバーパネル」に、項目「データーベース」の中「phpmyadmin(MySQL5.7)」があります。
マルチサイト化されたメインドメインの「phpmyadmin(MySQL5.7)にログインするには「IDとパスワード」が必要になります。
最初に、phpmyadmin(MySQL5.7)にログインする、IDとパスワードの確認方法を説明します。
step
1MySQL5.7ログインIDとパスワードの確認方法
- エックスサーバーの「ファイルマネージャー」にログインします。
- マルチサイト化されたメインドメインをクリックします。
- 「public_html」をクリックします。
- 次の項目にファイル形式で「wp-config.php」チェックを入れて選択します。
- 「編集」をクリックします。
step
2
下の2つの箇所で確認が出来ます。ユーザー名はIDになります。
- MySQL データベースのユーザー名 :txtアプリなどにコピー&ペーストで貼り付ける
- MySQL データベースのパスワード:txtアプリなどにコピー&ペーストで貼り付ける
確認が出来たらエックスサーバーのファイルマネージャーからは、一度「ログアウト」します。
メインドメインのSSL設定方法
step
1
- エックスサーバーの「サーバーパネル」にログインします。
- データーベースからphpmyadmin(MySQL5.7)をクリックして先程メモした「IDとパスワード」でログインする
step
2
- 画像の↖部分をクリックします。
step
3
- 階層表示の中に「wp_options」があります。(サブディレクトリはwp_2_optionsと表示されてますので違います。)
step
4
- 上の項目「表示」にします。
- メインドメインの表示がある2つ「siteurl」と「home」それぞれを別々に「編集」をクリックして作業を行います。
- 最初に「siteurl」と表示のある「編集」をクリックします。
- 半角数字の小文字の「s」を入力します。(間違えないで下さい。トラブルの原因になります。
- 最後に実行をクリックして、次に「home」も同じ様にsを入力設定を行います。
step
5
WordPressにてメインドメインのSSL化されてるのを確認します。
httpで訪れたユーザーに対してのhttps:// に転送する設定を行います。
- 「サーバーパネル」から「ホームページ」の中の「.htaccess編集」をクリックします。
- 設定対象のメインドメインを選択します。
step
6
- 上の項目「.htaccess編集」をクリックします。
- 画像1枚目に、下のコードをコピーして画像2枚目の様に貼り付けます。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
1枚目
2枚目
確認画面へ進む」をクリックします。
「実行」をクリックして完了になります。
これでマルチサイト化した後のメインドメインのSSL設定が完了しました。
マルチサイト化のサブディレクトリSSL設定
マルチサイト化サイトではメインドメインがSSL設定が完了してるので、サブディレクトリのSSL設定では、サーバーの設定は行いません。
「.htaccess編集」にコードを貼り付ける作業は不要になります。(マルチサイト化で作られたサブディレクトリの場合のみです)
注意
契約されてるサーバーで、サブディレクトリを作られた方はお読み下さい。
この設定は、マルチサイト化のサブディレクトリのSSL設定です。
「エックスサーバー」の契約してるサーバー管理パネルで、サブディレクトリを作成した場合は、ファイルマネージャーにログインしてサブディレクトリのSSL設定を行う必要があります。
マルチサイト化された新規サイト(サブディレクトリ)のSSL設定
- 「参加サイト」から「サイトネットワーク管理」をクリックします。
- 「サイト」をクリックすると作成されたすべてのサイトの一覧が表示されます。
- 新規追加されたサブディレクトリのドメインから「編集」をクリックします。
- 上の項目「設定」を選択します。
- 「siteurl」と「home」サイトURLに「s」を加えて「変更を保存」をクリックしてSSL設定は完了になります。
マルチサイト化の「サイトネットワーク管理」画面の説明
マルチサイト化されたサイトでは、ユーザー・サイトテーマ・プラグイン・更新を総合管理する「サイトネットワーク管理」画面があります。
詳しくは合わせてお読み下さい。
マルチサイト化WordPress「サイトネットワーク管理」の設定#3
続きを見る
マルチサイト化で起こるSSL設定のトラブル解決
極稀にSSL設定を行なっても「https//」と表示されても「保護されていない通信」と表示されます。
この現象の起こる原因は、運悪く使用が重なることで起こる場合があります。
と言うのも僕自身も、このトラブルに見舞われました。
原因は、いくつかの原因が重なったとしか言えないのですが、問題を解決にした事だけを記載しておきます。
- 固定ページでトップページを作成した。
- サイトテーマAFFINGER5(アフィンガー5)管理画面からトップページの設定を行なった。
この2つを停止した事で問題は解決されました。
次に新規で固定ページを作り直して、アフィンガーの設定も行なったら、結果何も問題は起きませんでした。
何かの原因が重なったとしか言えません。
最後に
マルチサイト化のSSL設定のやり方と、自身に起こったトラブルの解決方法を説明しました。
マルチサイト化のトラブルは隣り合わせと身にしみて体験しました。
みなさんも、マルチサイト化をする場合は、バックアップも含め慎重に行なって下さい。