ubuntu:server:memo:ssl
目次
SSL/TLSの発行(Let's Encrypt)
Apache2.4で稼働するウェブサイトに無料SSL/TLS証明書を発行してhttpsに対応させる。
Certbotと証明書の発行
Certbotのインストール
Let'Encryptが発行する無料のSSL/TLSサーバー証明書を取得するためのソフトウェア「Certbot」のインストール
$ sudo apt install certbot
サーバー証明書の発行
無料SSL/TLS証明書を発行します。メールアドレス、規約の同意をします。
$ certbot certonly --webroot -w ドキュメントルート -d ドメイン
サーバー証明書の確認
証明書は「/etc/letsencrypt/live/ドメイン/」に作成される。
$ sudo ls -l /etc/letsencrypt/live/ドメイン/
Apacheへ設定する
※ ここではデフォルトの設定ファイルにそのまま記述。適宜サイトに合わせてコピーした設定ファイルに記述する。
SSLに関するモジュールの有効化
有効化します
$ sudo a2enmod ssl
サイト設定ファイルへの記述
エディタで「/etc/apache2/sites-available/default-ssl.conf」を編集
$ sudo vim /etc/apache2/sites-available/derault-ssl.conf
編集内容
- 2行目のメールアドレスをサーバー証明書発行時に申告したアドレスに
- 4行目のドキュメントルートをサーバー証明書発行時に申告したディレクトリに
- 31行目の「SSLCertificateFile」のパスを「/etc/litsencrypt/live/ドメイン/cert.pem」に
- 32行目の「SSLCertficateKeyFile」のパスを「/etc/letsencrypt/live/ドメイン/privkey.pem」に
- 41行目の行頭の#を削除して「SSLCertficateChainFile」のパスを「/etc/letsencrypt/live/ドメイン/chain.pem」に
サイト設定の有効化
設定した「default-ssl.conf」を有効化する。
$ sudo a2ensite default-ssl
Apacheの再起動
$ sudo systemctl restart apache2
ファイアーウォール
ポートを開ける
$ sudo ufw allow 443/tcp
再読み込み
$ sudo ufw reload
サーバー証明書の更新
「Let's Encrypt」のサーバー証明書の有効期限は3ヶ月です。有効期限30日未満から更新が可能になる。
サーバー証明書を更新する
$ sudo certbot renew
30日以上、期限が残っていると更新処理がスキップされるが有効期限の確認が出来る。
サーバー証明書の削除
ubuntu/server/memo/ssl.txt · 最終更新: 2024/11/09 12:18 by peconet