<AI> Windows 上の Apache で Let's Encrypt を利用して HTTPS 化(SSL化)するには、Certbot というツールを使うのが一般的です。 自動更新の設定を含めた、基本的な手順は以下の通りです。 前提条件 ドメインがサーバーのパブリックIPを指している(DNS設定が完了している)。 Windows ファイアウォールでポート 80(HTTP)と 443(HTTPS)が開放されている。 Apache で SSL モジュール (mod_ssl) が有効になっている。 手順 1: Certbot (Windows版) のインストール Certbot の公式サイト から Windows 版をダウンロードしてインストールする。 または、コマンドプロンプトや PowerShell を「管理者として実行」し、winget コマンドでインストールする。 powershell winget install Certbot.Certbot 手順 2: SSL 証明書の取得 管理者権限のコマンドプロンプト/PowerShell を開く。 以下のコマンドを実行して証明書を取得する。Apache が起動していない場合は、 --standalone を使用し、稼働中の場合は --webroot を使用する。 方法A: Webroot (推奨: Apache を止めずに実行) powershell certbot certonly --webroot -w [Apacheのドキュメントルートのパス] -d [ドメイン名] 方法B: Standalone (Apache を一時的に止めて実行) powershell certbot certonly --standalone -d [ドメイン名] ※ 成功すると、証明書は C:\Certbot\live\[ドメイン名]\ に保存される。 手順 3: Apache の設定 (httpd.conf / httpd-ssl.conf) 取得した証明書ファイルを Apache に設定します。 conf/httpd.conf で mod_ssl.so がロードされているか、httpd-ssl.conf が読み込まれているか確認。 conf/extra/httpd-ssl.conf(または httpd.conf)に以下を設定: apacheServerName [ドメイン名] DocumentRoot "[Apacheのドキュメントルート]" SSLEngine on SSLCertificateFile "C:/Certbot/live/[ドメイン名]/cert.pem" SSLCertificateKeyFile "C:/Certbot/live/[ドメイン名]/privkey.pem" SSLCertificateChainFile "C:/Certbot/live/[ドメイン名]/chain.pem" 注: Windows パスではバックスラッシュ \ の代わりにスラッシュ / を使うと問題が起きにくい。 手順 4: Apache の再起動 Apache の設定をリロードして、HTTPS でアクセスできるか確認する。 手順 5: 自動更新の設定 Let's Encrypt の証明書は90日有効であるため、自動更新設定が必要です。Windows では「タスクスケジューラ」を使用します。 タスクスケジューラで「基本的なタスクの作成」を行う。 トリガー:毎週または毎日。 操作:「プログラムの開始」。 プログラム/スクリプト:certbot.exe(またはフルパス)。 引数:renew 実行時に、Apache を再起動する処理を含めることを推奨(Windows で証明書ファイルを更新しただけでは Apache に反映されないため)。 注意点 certbot コマンドは必ず「管理者として実行」する。 Windows 版は、Linux のように Apache の設定ファイルを自動的に書き換えない(--apache プラグインが使えない)ため、手動で httpd-ssl.conf を編集する必要がある。 Apache 2.4.8 より前のバージョンでは、SSLCertificateChainFile の代わりに SSLCertificateFile で中間証明書を含むファイルを指定するなど、設定が異なる場合がある。AllowOverride All Require all granted