<AI>
Let's Encryptの証明書をWindowsのApacheで利用するには、
証明書を取得した後、Apacheの設定ファイル(httpd.conf および httpd-ssl.conf)に秘密鍵と証明書のパスを記述し、
サーバーを再起動します。
以下の手順に沿って設定を進めてください。

1. 証明書の取得

Windows環境でLet's Encryptの証明書を取得するには、ACMEクライアントツールの利用が推奨されます。
GUIやコマンドで簡単に取得・自動更新できるツールが人気を集めています。

win-acme:
 Windowsで最も一般的なCUIベースのツールです。ダウンロードして実行するだけで取得できます。
 
Certbot (Windows版):
 公式のコマンドラインツールです。PowerShell等から利用可能です。
 
2. Apacheの設定ファイル(httpd-ssl.conf)の編集

証明書が発行されたら、Apacheの設定ファイルを編集してSSLを有効化します。

対象ドキュメントの  ブロックに、以下の通り取得した証明書ファイル(fullchain.pem)と秘密鍵(privkey.pem)のパスを指定します。

apache


    # サイトのドメインと公開ディレクトリ(環境に合わせて変更してください)
    ServerName your-domain.com
    DocumentRoot "C:/Apache24/htdocs" 

    # SSLを有効化
    SSLEngine on

    # 取得した証明書ファイルのパスを指定
    SSLCertificateFile "C:/Certbot/live/://your-domain.com"
    # 秘密鍵ファイルのパスを指定
    SSLCertificateKeyFile "C:/Certbot/live/://your-domain.com"

    # 必要に応じて中間証明書の指定(Apache 2.4.8以降では通常fullchain.pemに含まれます)
    # SSLCertificateChainFile "C:/Certbot/live/://your-domain.com"


3. その他の必要設定

ポート443の開放:
 WindowsファイアウォールなどでHTTPS通信(443番ポート)の受信を許可してください。
 
モジュールの有効化:
 httpd.conf で LoadModule ssl_module modules/mod_ssl.so の行がコメントアウトされていないことを確認してください。

4. 設定のテストとApacheの再起動

設定を保存したら、コマンドプロンプトで以下のコマンドを実行し、記述に文法エラーがないか確認します。

bash

httpd.exe -t
「Syntax OK」と表示されたら、Apacheを再起動して設定を反映させます。

Let's Encryptの証明書は90日で有効期限が切れるため、ツール(win-acmeなど)に同梱されているタスクスケジューラ機能を使って定期的な自動更新の設定をしておくことをおすすめします。

詳細は各クライアントツールの公式サイトやドキュメントを参考にしてください。

win-acme 公式サイト

Certbot 公式サイト