====== 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-delete|Let's Encrypt 証明書の削除]]