acme-tinyはapacheの再起動とか余計なことをしないので、certbotより使いやすいと思います。
詳しくは https://github.com/diafygi/acme-tiny をご参照ください。
認証したいドメイン名が 171220.0x0c.info で、httpサーバに apache 2.4.8以降を用いる場合で説明します。
Step 1
このへんは環境に合わせてください↓
yum install httpd mod_ssl
yum install epel-release
yum install acme-tiny
Step 2
acme-tinyをインストールすると /etc/httpd/conf.d/acme.conf
と /var/www/challenges/
ができるので、apacheをリロードするなりここから起動するなりします。
service httpd start
Step 3
アカウントキー作成
openssl genrsa 4096 > /var/lib/acme/private/account.key
Step 4
ドメイン用の秘密キー作成
openssl genrsa 4096 > /var/lib/acme/private/171220.0x0c.info.key
Step 5
リクエスト作成
openssl req -new -sha256 -key /var/lib/acme/private/171220.0x0c.info.key -subj "/CN=171220.0x0c.info" > /var/lib/acme/csr/171220.0x0c.info.csr
Step 6
let’s encryptにリクエストする
/usr/sbin/acme_tiny --chain --account-key /var/lib/acme/private/account.key --csr /var/lib/acme/csr/171220.0x0c.info.csr --acme-dir /var/www/challenges/ > /var/lib/acme/certs/171220.0x0c.info.crt
Step 7
できあがった証明書と秘密鍵をコピーしてapacheをリロード。
このあたりも環境に合わせてください。
cp /var/lib/acme/private/171220.0x0c.info.key /etc/pki/tls/private/localhost.key
cp /var/lib/acme/certs/171220.0x0c.info.crt /etc/pki/tls/certs/localhost.crt
service httpd reload
Step 8
以下のようなスクリプトを作り、一ヶ月に一回cronで回す。
#!/bin/sh
/usr/sbin/acme_tiny --chain --account-key /var/lib/acme/private/account.key --csr /var/lib/acme/csr/171220.0x0c.info.csr --acme-dir /var/www/challenges/ > /var/lib/acme/certs/171220.0x0c.info.crt || exit
cp /var/lib/acme/certs/171220.0x0c.info.crt /etc/pki/tls/certs/localhost.crt
/usr/sbin/service httpd reload
おまけ:nginxの場合
上記Step 5とStep 6の間に、以下のようにnginxを設定し、リロードしておきます。
server {
listen 80 default_server;
の下に以下のように設定します。
#for acme-tiny
location /.well-known/acme-challenge/ {
alias /var/www/challenges/;
try_files $uri =404;
}