[業務日誌] WordPressのためのApache 2.4.41(Windows編)+Let’s Encrypt
ダウンロード
Windows用のセットアップファイルは、複数に置かれていてApache Loungeというサイトからとってきました。その他の選択肢は、ここを参照してください。
サーバー設定
Apacheのウェブとしての設定です。特許出願ココでの設定を記載します。Apacheのインストール先は、c:\etc\Apache24として記載します。
confディレクトリーの下にあるhttpd.confを太字のように修正しました。AllowOverrideのところはすべてAllに変更しました。
Define SRVROOT "c:/etc/Apache24" ServerAdmin co2@jcom.zaq.ne.jp ServerName co2.ddns.net:80
WordPressに必要なモジュール
その他にもhttpd.confでコメントアウトされている次のモジュールをコメントを外し、読み込むようにしました。
access_compat_module, rewrite_module, xml2enc_module
PHPとの連携設定
PHPに接続するための設定。PHPは、c:\etc\php74にインストールされているとして記載します。
AddType application/x-httpd-php .php
LoadModule php7_module c:/etc/php/php7apache2_4.dll
PHPIniDir "c:/etc/php74"
Let’s Encrypt (ホームページの暗号化)
最後にLet’s Encryptです。設定がめちゃくちゃ簡単になりました。以前は、httpd.confを編集し、コマンドラインでごちょごちょやってましたが、今回は、httpd.confを書き換えるだけです。
設定
まずは下のモジュールを読み込むようにコメントアウトを外します。
md_module, socache_shmcb_module, ssl_module, watchdog_module
次に、mod_mdの設定。ここのページを見て設定しました。細かく記載されていて、とても参考になりました。ただ、MDCertificateAuthority及びMDCertificateAgreementの記載がそのままだとエラーが出てしまったため、Apacheのマニュアルを見ながら設定しました。ACMEv1ではなくACMEv2を使うようにしました。MDCertificateAgreementの記載もシンプルにacceptedのみ。これでエラーが出なくなりました。
Listen 443
MDomain co2.ddns.net
<IfModule md_module>
MDBaseServer on
MDCertificateProtocol ACME
MDCAChallenges http-01
MDDriveMode auto
MDPrivateKeys RSA 2048
MDRenewWindow 33%
MDStoreDir md
# the staging ACMEv2 endpoint
# MDCertificateAuthority https://acme-staging-v02.api.letsencrypt.org/directory
MDCertificateAuthority https://acme-v02.api.letsencrypt.org/directory
MDCertificateAgreement accepted
</IfModule>
<VirtualHost *:443>
SSLEngine on
ServerName co2.ddns.net:443
DocumentRoot "${SRVROOT}/htdocs"
</VirtualHost>
Protocols h2 http/1.1 acme-tls/1
設定を反映
後は、Apacheのサービスを再起動させるだけ。Chromeで特許出願ココにアクセスすると暗号化されていることを示す鍵マークがアドレスバーに表示されます。鍵マークをクリックして、更に詳細をみるとちゃんとLet’s Encryptで暗号化されていることが確認できました。
まとめ
これでLet’s Encryptの更新作業が不要になる。