Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

WordPressでLet’s Encryptの設定+自動更新設定

実現したいこと

centos(Wordpress)にてLet’s Encryptを入れてSSL証明書を発行、Let’s Encryptは有効期間が90日のため自動更新設定までを行います。

前提条件

  • ドメインを取得していること (今回は仮にsample.comのドメインで実施)
  • Apacheがインストールされていること

Lets'sEncryptの導入手順

Lets'sEncryptを入れるには、Certbotクライアントのインストールが必要

Certbotクライアントのインストール

$ sudo yum install epel-release
$ sudo yum install certbot python-certbot-apache

インストールが完了したら準備完了!!!
これでcertbotコマンドが実行可能になりました。

証明書発行

$ sudo certbot certonly --agree-tos --webroot -w /var/www/html/ -d sample.com

※オプションの意味は下記のリファレンスを参照
certbot公式リファレンス

証明書確認

$ ls -al /etc/letsencrypt/archive/sample.com/

下記のようなファイルがあればOK!

cert.pem サーバ証明書(公開鍵を含む)
chain.pem 中間証明書
privkey.pem 秘密鍵
fullchain.pem サーバ証明書(公開鍵を含む)と中間証明書は一緒になっているファイル※今回は使用しません

SSL証明書の設定
下記部分を修正

$ sudo vim /etc/httpd/conf.d/sample_ssl.conf
SSLCertificateFile /etc/letsencrypt/archive/sample.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/archive/sample.com/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/archive/sample.com/privkey.pem

再起動
再起動して変更を反映

$ sudo systemctl restart httpd.service

SSL証明書の自動更新設定

テスト ※これでは更新されません
まずはコマンドが正しいことを確認

$ sudo certbot renew --force-renew --dry-run --webroot-path /var/www/html/ --post-hook "apachectl graceful"

--force-renew:残りの有効期限に関係なく強制更新
--dry-run:テスト実行オプション

実行
実際に更新されることを確認 ※ブラウザの鍵マークをクリックして証明書の有効期限を確認

$ sudo certbot renew --force-renew --webroot-path /var/www/html/ --post-hook "apachectl graceful"

cron設定
毎月1日の5:00に更新する設定
Cronの詳しい設定方法はこちら

$ sudo vim /etc/cron.d/letsencrypt
00 05 01 * * root certbot renew --force-renew --webroot-path /var/www/html/ --post-hook "apachectl graceful"
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
5
Help us understand the problem. What are the problem?