無料SSL/TLSの発行(httpsへの対応 : Ubuntu)
Apache2.4で稼働するウェブサイトに無料SSL/TLS証明書を発行して(Let's Encrypt)httpsに対応したいと思います。
Certbotのインストール
Let's Encryptが発行する、無料のSSL/TLS証明書を取得するためのソフトウェア「Certbot」をインストールします。
$ sudo apt install certbot
Certbotのインストール
SSL/TLS(サーバー)証明書の発行
$ sudo certbot certonly --webroot -w /var/www/html -d mini5103.ddns.net
無料SSL/TLS証明書を発行します。
certbot certonly --webroot -w ドキュメントルート -d ドメイン となります。
メールアドレス、規約の同意をします。
SSL/TLS証明書の確認
$ ls -l /etc/letsencrypt/live/mini5103.ddns.net/
サーバー証明書は「/etc/letsencrypt/live/mini5103.ddns.net(ドメイン)」に作成されました。
Apacheへ設定する
ここでは、デフォルトの設定ファイルである「/etc/apache2/sites-available/default-ssl.conf」にそのまま記述しています。
サイトを複数設定している場合などは適宜、ファイル名を変更して下さい。
$ sudo a2enmod ssl
最初にSSLに関するモジュールを有効化します。
$ sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/site-available/default-ssl.conf.default
設定ファイルのバックアップはしておきます。(末尾に.defaultとつけました)
$ sudo vim /etc/apache2/sites-available/default-ssl.conf
「/etc/apache2/sites-available/default-ssl.conf」をエディタで開き編集します。
サイト設定の有効化
$ sudo a2ensite default-ssl
設定した「default-ssl.conf」を有効化してApache2に読み込まれるようにします。
Apacheの再起動
$ sudo systemctl restart apache2
Apacheを再起動します。
ファイアーウォール
$ sudo ufw allow 443/tcp
$ sudo ufw reload
ポート(443)を開けます。
SSL/TLS(サーバー)証明書の更新
「Let’s Encrypt」のSSL/TLS(サーバー)証明書の有効期限は3ヶ月です。有効期限の30日未満から更新が可能となります。
$ sudo certbot renew
SSL/TLS(サーバー)証明書の更新をします。
※ 30日未満でないと更新処理がスキップされますが、有効期限の確認が出来ます。