Let’s Encrypt証明書発行を「acme.sh」で発行する

acme.shで無料SSL証明書を発行する

CentOS 6系のサーバーでPythonのバージョンが古く、最新のcertbot を使えなかったのでシェルスクリプトで動作する「acme.sh」でワイルドカード形式の無償SSL証明書を発行しました

acme.shをインストール

acme.shをダウンロードしてインストールします。インストールは簡単にcurlでダウンロードしてシェルを実行すればインストールできます

$ cd /usr/local/src
$ curl https://get.acme.sh | sh

一度ステージング環境で実行します。ワイルドカード証明書を発行するのでDNSにTXTレコードの登録が必要ですので、その必要な値が表示されます
ステージングで一度実行
.acme.sh/acme.sh --test --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --issue -d *.example.com

[Mon Apr  6 11:03:09 JST 2020] Add the following TXT record:
[Mon Apr  6 11:03:09 JST 2020] Domain: '_acme-challenge.example.com'
[Mon Apr  6 11:03:09 JST 2020] TXT value: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

今回、インストールしたサーバーのDNSは自前のDNSサーバーですので、テキストレコードを登録できるのでテキストレコードに登録しました

DNSレコードが登録できたら、再度、acme.shを実行して証明書を発行します

$ .acme.sh/acme.sh  --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --issue -d *.example.com --renew

[Tue Apr  7 10:06:18 JST 2020] Your cert is in  /home/admin/.acme.sh/*.site-mg.com/*.example.com.cer 
[Tue Apr  7 10:06:18 JST 2020] Your cert key is in  /home/admin/.acme.sh/*.site-mg.com/*.example.com.key 
[Tue Apr  7 10:06:18 JST 2020] The intermediate CA cert is in  /home/admin/.acme.sh/*.example.com/ca.cer 
[Tue Apr  7 10:06:18 JST 2020] And the full chain certs is there:  /home/admin/.acme.sh/*.example.com/fullchain.cer

Apacheにワイルドカード証明書を登録する

発行したワイルドカードをapacheに設定して再起動します。設定箇所は証明書の箇所のみ記載しています

# vim /etc/httpd/conf.d/ssl.conf
 SSLCertificateKeyFile /root/.acme.sh/example.com/example.com.key 
 SSLCertificateFile    /root/.acme.sh/example.com/example.com.cer 
 SSLCACertificateFile  /root/.acme.sh/example.com/example.com.cer

# /etc/init.d/httpd restart

 

 

 

スポンサーリンク

LinuxCentOS 6

Posted by admin