UbuntuとApache2で構築したwebサーバーにSSLを導入する
ドメインは取得して設定済み。
※さくらのネームサーバー利用については公式ドキュメントを参照
SSL/TLS証明書を取得する
Let’s Encryptの無料SSL/TLSサーバ証明書を利用。
証明書取得に必要なツールをインストール
sudo apt install certbot
web公開領域以下に設置されているドメインでSSL証明書を取得する
## rootディレクトリは設定により異なる## [domain name]はサブドメインの場合はサブドメインを指定sudo certbot certonly --webroot -w /home/[username]/public_html -d [(sub)domain name]
##複数ドメインがある場合下記のように繋げることが可能sudo certbot certonly --webroot -w /home/[username]/public_html -d [(sub)domain name] -d [(sub)domain name] -d [(sub)domain name] ...
以下のように質問が返されるので、入力してEnterを押下
## メールアドレスを入力Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):
## Aを入力Please read the Terms of Service at ~(A)gree/(C)ancel:
## Yを入力Would you be willing to share your email address~(Y)es/(N)o:
下記表示が出れば取得完了
/etc/letsencrypt/live/[(sub)domain name]/
以下に証明書が作成される
IMPORTANT NOTES:(中略)Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donateDonating to EFF: https://eff.org/donate-le
SSL/TLS証明書を有効化する
SSLに関するモジュールの有効化
sudo a2enmod ssl
設定ファイルを編集・保存
## vi /etc/apache2/sites-available/default-ssl.confServerAdmin = webmaster@example.com ←上記で設定したメールアドレスに修正DocumentRoot = /var/www/html ←rootディレクトリパウに修正
## 先ほど取得した証明書のパスに変更## SSLCertificateChainFileはコメントアウトを外すSSLCertificateFile /etc/letsencrypt/live/[(sub)domain name]/cert.pemSSLCertificateKeyFile /etc/letsencrypt/live/[(sub)domain name]/privkey.pemSSLCertificateChainFile /etc/letsencrypt/live/[(sub)domain name]/chain.pem
設定の有効化
sudo a2ensite default-ssl
Apacheの再起動
sudo systemctl restart apache2
httpsで接続ができていればOK
SSL/TLS証明書の更新について
Let’s Encryptの無料SSL/TLSサーバ証明書の有効期限は90日で、期限が近づくとメールで知らせてくれる。
更新の際は下記コマンドを入力
sudo certbot renew