Let’s Encrypt

無償SSL証明書

FreeBSD Apache環境下でのcertbotのインストール

#pkg install py39-certbot-apache

依存関係でpy39-certbotもインストールされる

証明書の発行

DocumentRootが/usr/local/www/apache24/dataである場合証明書の発行が上手行かない、httpd.confの設定のせいかもしれない、承認専用ディレクトリを作成して対応する、専用ディレクトリをwwwtmpとして

# cd /usr/local/www
# mkdir wwwtmp
# chown www:www wwwtmp

/usr/local/etc/apache24/httpd.confに以下設定を追加

<Directory "/usr/local/www/wwwtmp">
   Reduire all granted
</Directory>

Apache再起動の上、下記コマンドを実行

#certbot certonly --webroot -w /usr/local/www/wwwtmp -d www.DOMAIN.com

バーチャルホストがある場合、続けてそのホストに対して証明書を発行する

#certbot certonly --webroot -w /usr/local/www/wordpress -d         blog.DOMAIN.com

/usr/local/etc/letsencrypt/live/www.DOMAIN.comにfullchain.pemとprivkey.pemが作成される、バーチャルホスト用には /usr/local/etc/letsencrypt/live/blog.DOMAIN.comにfullchain.pemとprivkey.pemが作成される

Apache2.4の設定

/usr/local/etc/apache24/extra/httpd-ssl.confの設定

バーチャルホストがある場合以下の範囲をバーチャルホストの数コピーする

<VirtualHost _default_:443>
              :
</VirtualHost>

メインのホストの設定

<VirtualHost _default_:443>
DocumentRoot "/usr/local/www/apache24/data"
ServerName www.DOMAIN.com:443
             :
SSLCertificateFile /usr/local/etc/letsencrypt/live/www.DOMAIN.com/
fullchain.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.DOMAIN.com/
privkey.pem"
             :
</VirtualHost>

バーチャルホストの設定 コピーした箇所を

<VirtualHost *:443>
DocumentRoot "/usr/local/www/wordpress"
ServerName blog.DOMAIN.com:443
             :
SSLCertificateFile /usr/local/etc/letsencrypt/live/blog.DOMAIN.com/
fullchain.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/blog.DOMAIN.com/
privkey.pem"
             :
</VirtualHost>

先頭が#の行はコメントなので削除可能

設定したhttpd-ssl.confファイルを/usr/local/etc/apache24/httpd.confにインクルードする

方法1httpd.confに下記1行追加

Include etc/apache24/extra/httpd-ssl.conf

方法2:/usr/local/etc/apache24/Includesディレクトリにhttpd-ssl.confをコピー

Apacheを再起動

#apachectl restart

証明書の更新

Let’SEncryptの証明書の有効期間は3か月,期限30日前から更新可能、更新後Apacheの再起動、またはリロードを行う

# certbot renew
# apachectl restart
または
# service apache24 reload

証明書の自動更新

毎週自動で更新を実行する、ただし実際に更新できるのは、期限30日前から

/etc/periodic.confを下記内容で作成

weekly_certbot_enable="YES"

certbotインストール時に/usr/local/etc/deriodic/weeklyに500.certbot-3.9が作成されるため有効になる、合わせてApacheのリロードをおこなうために/usr/local/etc/letsencrypt/renewal-hooks/deploy/reload_apache24.sh作成して実行権を与える

#!/bin/sh
service apache24 reload
# chmod 755 reload_apache24.sh

証明書の削除

# certbot delete

削除したい証明書を選んで削除する


投稿日

カテゴリー:

, ,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です