freebsd:apache:freebsd_13_apache24_certbot

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

freebsd:apache:freebsd_13_apache24_certbot [2021-05-04 17:00]
Decomo 作成
freebsd:apache:freebsd_13_apache24_certbot [2022-04-20 11:32] (現在)
Decomo
行 10: 行 10:
   * py38-certbot-apache-1.14.0   * py38-certbot-apache-1.14.0
  
-===== certbotのインストール =====+===== 手順 ===== 
 + 
 + 
 +===== certbtのインストール ====
  
 certbotをpkgでサクッとインストールする。webrootモードで更新したいのでapache用のプラグインも入れる。 certbotをpkgでサクッとインストールする。webrootモードで更新したいのでapache用のプラグインも入れる。
行 57: 行 60:
 certbotにはStandaloneとWebrootの2つのモードがあり、前者はその名の通りcertbot単体で、後者は他のサービスと連携して証明書の取得&更新を行うモードとのこと。 certbotにはStandaloneとWebrootの2つのモードがあり、前者はその名の通りcertbot単体で、後者は他のサービスと連携して証明書の取得&更新を行うモードとのこと。
  
-===== 証明書の取得 =====+==== 証明書の取得 ====
  
 certbotで証明書の取得を行う。 certbotで証明書の取得を行う。
行 88: 行 91:
 </code> </code>
  
-===== ApacheのSSL設定 =====+==== ApacheのSSL設定 ====
  
 ApacheのSSLの設定を行う。[[https://ssl-config.mozilla.org/|Mozilla SSL Configuration Generator]]で生成したものを使う方が確実かも…。 ApacheのSSLの設定を行う。[[https://ssl-config.mozilla.org/|Mozilla SSL Configuration Generator]]で生成したものを使う方が確実かも…。
行 148: 行 151:
 </code> </code>
  
-===== 証明書の自動更新の設定 =====+==== 証明書の自動更新の設定 ====
  
 Let's Encryptの証明書は有効期限が90日なので、忘れずに自動更新設定を行う。 Let's Encryptの証明書は有効期限が90日なので、忘れずに自動更新設定を行う。
  
-<fc #ff0000>証明書の更新はhttpで行われる。</fc>httpsじゃなくてhttpsね。こ、重要。+証明書の更新は<fc #ff0000>HTTP</fc>経由で行われる。HTTP**S**じゃなくてHTTPね。こ、重要。
  
-外部から<html><code>http://対象ドメイン/.well-known/acme-challenge/</code></html>httpで到達できるよう、ルータApacheを適切に設定のこと。宅内DNSで宅内ではプライベートIPアドレスを返すようにしてたりすると、作業PCのブラウザからは見えるが、外部からは到達不可で証明書の更新が行えないなんていう潜んでたるので要注意。+外部からHTTPで''http:%%//%%対象ドメイン/.well-known/acme-challenge/''に到達できるよう、ルータのポートフォワードやらApacheのVirtualHostやらを適切に設定のこと。宅内DNSで宅内では対象ドメインにプライベートIPアドレスを割り当ててたりすると、宅内の作業PCからはhttpアクセスできるように見え、外部からは到達不可で証明書の更新が行えないなんていう起こるので要注意(実際にハマった
  
 まずはテスト。 まずはテスト。
行 188: 行 191:
 # echo 'weekly_certbot_enable="YES"' >> /etc/periodic.conf # echo 'weekly_certbot_enable="YES"' >> /etc/periodic.conf
 </code> </code>
 +
 +==== 証明書のリロード設定 ====
 +
 +更新済みの証明書をApacheでリロードする。これをしないと、古い証明書が使われ続ける挙句、httpdがCPUに100%張り付くという残念なことになる。参考:[[blog:2021:2021-12-01]]
 +
 +certbotは良くできていて、証明書更新時にフックスクリプトを実行できるようになっている。''/usr/local/etc/letsencrypt/renewal-hooks/deploy/''に''service apache24 reload''を呼ぶスクリプトを配置する。
 +
 +<code bash reload_apache24.sh>
 +#!/bin/sh
 +service `echo $0|sed -e 's/.*\/\(.*\)_\(.*\).sh/\2 \1/'`
 +</code>
 +
 +ファイル名から対象のサービスとコマンドを切り出す形なので、中身は同一でファイル名を変えるだけで様々なサービスに対応できる。それこそハードリンクで良い感じに処理できるかも?
  
 ===== 参考サイト ===== ===== 参考サイト =====
  
   * [[freebsd_12_apache24_certbot]]   * [[freebsd_12_apache24_certbot]]
 +  * [[https://forums.freebsd.org/threads/have-to-restart-apache-after-certbot-renew.73231/#post-447416|have to restart apache after certbot renew | The FreeBSD Forums]]
  • freebsd/apache/freebsd_13_apache24_certbot.txt
  • 最終更新: 2022-04-20 11:32
  • by Decomo