wordpressを常時SSL化

無料SSL証明書(Let’s Encrypt)を取得し、wordpressを常時SSL化

前提条件

前回までで、AlimaLinux上に、PHP,MySQL,Apacheを入れ、wordpressをインストールしました。 よって、前提条件としてApacheでhttpでのwordpressの公開までは進んでいるものとします。 終わってなければ、拙作ですが以下の記事を参考にしてください。

やること

  1. let’s Encryptを利用してSSL証明書を入手
  2. apacheに設定を記述しhttpsで接続できることを確認
  3. httpに接続した場合にhttpsの方へリダイレクトされるよう設定

1. Let’s Encryptを使って証明書を入手する。

sudo yum install certbot
certbot certonly --standalone -d www.example.com

ドメインは適宜読み替えてください。

/etc/letsencrypt/live/{ドメイン名}/

に、各種認証ファイルがあります。

2. apacheに設定を記述しhttpsで接続できることを確認

apacheの設定ファイルから、ssl.confを見つけてください。conf.dというディレクトリにあるかと思います。

  • SSLCertificateKeyFile
  • SSLCertificateFile
  • SSLCertificateChainFile

を、それぞれ以下のように設定します。

  • cert.pem
  • privkey.pem
  • chain.pem

(/etc/letsencrypt/live/{ドメイン名}/)をそれぞれ入れてください。フルパスで指定します。 シンボリックリンクで、サーバーのrootから指定する手もありますがややこしいのでこちらで行いました。 以下のようになります。

3. httpから接続した場合、httpsにリダイレクトされるようにする

<VirtualHost *:80>
        ServerName yyyymmdd-wordpress.testtotest.com
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^yyyymmdd-wordpress.testtotest.com
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=308,L]   
</VirtualHost>

httpの方のバーチャルホストを以上のように設定すると、同じURL,URIのhttps側にリダイレクトさせることができる。