WordPressをさくらのレンタルサーバーからさくらのVPSに移転した時の覚書・その2【SSL化編】

 
前回記事の続き。

私の環境
さくらVPS 512M
Cent OS 6.8
Apache 2.2.15(UNIX)
mysql Ver 14.14 Distrib 5.1.73

個人的にはサイトのSSL化がどハマリだった。SSL証明書のインストール、.htaccessファイルの更新、httpd.confファイルの更新、バーチャルホストの設定、と、これらの流れを一纏めで紹介しているサイトがなかなかなくて・・・。今回はSSL証明書のインストールだけは別項、あるいは他サイトの解説に譲るが、その他については全て言及したいと思う。

WordPressのSSL化

.htaccessの設定
まず「http://~」から来たお客さんを「https://~」に導きたい。というわけで、「.htaccess」にその旨を記載。

と言うわけで当ブログの「.htaccess」の内容はこちら。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://bono-ism.com/blog/$1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

翻訳すれば、3行目、4行目でhttpsじゃない方法でアクセスして来たアドレスはどんなアドレスでも、https://bono-ism.com/blog/ に301リダイレクトで(つまり恒久的に)飛ばしますよ、という命令をしている。#BEGIN WordPress以下はWordPressが自動作成した部分。RewriteBase と2番目のRewriteRule がともに1階層下の/blog/を指しているのがポイント。

以前の記事で設定したさくらのレンタルサーバーとは設定が異なるので要注意。さくらVPSではプロキシを通して云々というややこしい挙動はないらしい。

httpd.conf の設定
さて、.htaccessを有効にするにはそもそもmod_rewriteが有効になっていなくてはならない。ここでも大いにハマった(-_-;) mod_rewriteを有効にするにはhttpd.conf(apacheの設定が書いてる場所)の設定を見なくてはならない。

まずは、mod_rewrite自体が有効になっているか調べる。

# vim /etc/httpd/conf/httpd.conf

検索してもし、

# LoadModule rewrite_module modules/mod_rewrite.so

となっていれば、#のコメントアウトを取って有効にする。そもそも記述がなければ LoadModule 以下を書き加える。・・・が、恐らく最初から有効になっている場合がほとんどだと思う。

さて設定はこれだけでない。さらに.htaccessを有効にするため AllowOverrideを有効にしなければならないのだが、この設定がhttpd.confの中に実は2箇所ある。これに気づくのにどれだけ時間を費やしたことだろうか。詳しくは下記のサイトを参照あれ。

さくらのVPSで.htaccessが動かなくて困っている君へ – Qiita

バーチャルホストの設定
せっかくSSL証明書を取得しても、サイトを見ると、この証明書は○○○.vs.sakura.ne.jpに宛てて証明されたものです、とツレナイ返事。確かにさくらVPSのサーバーのひとつに割り当てられたものであるのは間違いないが、証明書をbono-ism.comに関連付けるのには、結局バーチャルホストの設定が必要であった。というわけで、通常、バーチャルホストの設定はhttpd.confに直接書き込んだり、あるいは、vhost.conf など適当な.confの名前を付いたファイルを容易してそこに色々書き込むのだが、どうにも動かない。その後色々調べると、私の環境ではssl.confにバーチャルホストの設定がすでになされているのが分かった。

で、ssl.confの記載が私の環境とドンピシャなのが下記サイト。

無償SSL証明書のLet’s EncryptをさくらVPSに導入してみる – ツインポンポンに思い寄せ

上記サイトではLet’s Encryptで無料のSSL証明書を発行してもらっており、そのインストールから全ての手順が書かれているが、私も同様にLet’s EncryptのSSL証明書を取得したので、全く同じssl.confの記載で設定が完了した。別のSSL証明書を取得している方は、証明書のインストール場所など、適時読み替える必要があると思う。

さて無事サイトが表示され、それでも安全安心の緑鍵マークが出ないというケースが多いとは思うが、これは主に混在コンテンツが原因。解消方法については、同じく以前の記事の中で言及しているのでそちらを参考にして欲しい。

と言うわけで、さくらVPSにWordPressを新規インストールする、あるいは移転をする、という記事はさくらのナレッジを含め、親切な記事があるのだが、さくらVPSにおける、SSL化におけるまとまった解説記事はなかなかない。そんなことで、あらたにさくらVPSでWordPressをSSL化される方の参考になれば幸い・・・って、改めて書くと対象者がかなりニッチなことに気づく(笑) この記事が同じ様な状況でハマっている人の目に届けばよいけども・・・。

コメントを残す

メールアドレスが公開されることはありません。