無料SSL証明書(Let’s Encrypt)を取得し、wordpressを常時SSL化
前提条件
前回までで、AlimaLinux上に、PHP,MySQL,Apacheを入れ、wordpressをインストールしました。 よって、前提条件としてApacheでhttpでのwordpressの公開までは進んでいるものとします。 終わってなければ、拙作ですが以下の記事を参考にしてください。
やること
- let’s Encryptを利用してSSL証明書を入手
- apacheに設定を記述しhttpsで接続できることを確認
- 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側にリダイレクトさせることができる。