Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit.
https://letsencrypt.org/about/
*ドメイン認証の証明書では、運営サーバーでドメインの所有者であることを証明
(ドメイン認証型(DV)は、お問い合わせフォームなどを設置した通信の暗号化を目的としただけの普通のウェブサイトに最適。ECサイトであれば実在証明型(OV)の方が良いと書いているところが多い)
Apache on Ubuntu 16.04 (xenial)の設定
設定
最初にLet's encryptをインストール
(Ubuntu 16.04 (xenial) 用のletsencrypt(Certbot) パッケージは、 apt-get コマンドからインストール可能)
$ sudo apt-get install python-letsencrypt-apache
注意)Ubuntu16.10 Versionからletsencryptの部分がcertbotに変更された。
($ sudo apt-get install python-certbot-apache)
16.04でcertbotはまだ使えず、入力してもエラーが出る。
E: Unable to locate package python-certbot-apache
(後の事を考えると、Apache16.10を使うべきだかが、何故か試験サーバーConohaVPSは最新が16.04, OVHも最新が16.04)
有効化
*サブドメイン設定にServerAlias wwwを設定してれば、以下でwwwも有効化できる。
$ sudo letsencrypt --apache -d website.com -d www.website.com
青色の画面に遷移して、メールアドレスを求められるので、ドメインのメールアドレスを入力。
規約を読めという事なので、規約を読んでAgree
どちらも有効にするか、片方だけ有効にするかという設定
リダイレクトの方が安全性が高いので、Secureを選択
設定完了の通知。これで、SSLのURLになりました。
設定の確認
設定されたかを自分のサーバー側で確認
$ cd /etc/letsencrypt/live website.com #ドメインフォルダが存在して、以下のファイルが書きこまれていたらOK cert.pem chain.pem fullchain.pem privkey.pem
ついでに以下に設定ファイルが出来た事も確認 $ cd /etc/letsencrypt/renewal/ website.com.conf
設定をオンラインで確認
SSL Test Online:https://www.ssllabs.com/ssltest/index.html
https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com&hideResults=on
https://www.ssllabs.com/ssltest/analyze.html?d=website.com&hideResults=on
(Hidden resultパラメーターをOnにしておかないとドメインがトップページに載ってしまう)
letsencryptを削除する
基本的に削除するという状況になりづらいが、削除する時には手順に従って行う。
$ apt-get remove letsencrypt
更にパッケージ以外の不要ファイルをauto removeで消す。
$ sudo apt-get autoremove
sites-enabledのSSLに書き変わった部分を消去(消しても問題ない場所)する。
$ cd etc/apache2/sites-enabled
$ rm website.com-le-ssl.conf
sites-availableを再び設定する場合
$ sudo vim website.com.conf <VirtualHost*:80> ServerAdmin admin@website.com ServerName website.com ServerAlias www.website.com DocumentRoot /var/www/html/website ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> $ sudo a2ensite website.com.conf $ sudo service apache2 restart
覚えておきたいおまけ
$ apt-get update
$ apt-get autoremove
$ apt-get autoclean
-------------------------------------------
参考
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-wi...
https://certbot.eff.org/#ubuntutyakkety-apache
https://letsencrypt.jp/docs/using.html#apache