wordpressのコンテナにSSL設定を行う

docker

はじめに

wordpressのdockerイメージを使ったときに、apacheの設定ファイルの場所や、SSL設定の方法がわからなかったので、その備忘録です。

  • OSはDebian
  • コンフィグファイルは/etc/apache2配下に存在する
  • SSLの設定は/etc/apache2/sites-available/default-ssl.conf

設定方法

まずは証明書と秘密鍵を準備します。
Lets Encryptで作成したものをコンテナに送り込みます。
中間証明書も組み込むため、fullchain.pemのほうを使います。
/etc/letsencrypt/live~のほうは、シンボリックリンクとなっており、cpコマンドに失敗するので、実体のほう/etc/letsencrypt/archive~のほうを指定してあげます。

# docker cp /etc/letsencrypt/archive/homatin.com/fullchain1.pem <コンテナID>:/etc/ssl/private/cert.pem
# docker cp /etc/letsencrypt/archive/homatin.com/privkey1.pem <コンテナID>:/etc/ssl/private/privkey.pem

次にコンテナ側のapacheの設定を変更します。

vi /etc/apache2/sites-available/default-ssl.conf
(snip)
SSLCertificateFile /etc/ssl/private/cert.pem
SSLCertificateKeyFile /etc/ssl/private/privkey.pem

次にコンフィグのロードとSSLモジュールのインストールを行います

# a2ensite default-ssl
# a2enmod ssl

このとき、新しい設定を有効化する際にapacheの再起動をしてねと言われます。
ただし、これをやるとコンテナが再起動の永久ループに入ります。
なので、コンテナの停止、再起動で対処します。

# docker stop my_wordpress_wordpress_1
# docker start my_wordpress_wordpress_1

上記はホスト側で実施します。

コメント

タイトルとURLをコピーしました