[業務日誌] 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の更新作業が不要になる。

コメントを残す

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