環境
Amazon Linux 2 Apache/2.4.48
設置
cd /opt git clone https://github.com/lukas2511/dehydrated.git
fatal: destination path 'dehydrated' already exists and is not an empty directory.
のようなエラーが出るときはディレクトリの中身になにかファイルが存在していないか、既に設置されていないか確かめよう。
Alias設定
ドメイン認証ファイルを設置するディレクトリを作成する。
mkdir -p /var/www/dehydrated/
-pは、必要に応じて(存在しない場合)親ディレクトリも作成するというオプションです。
vim /etc/httpd/conf.d/dehydrated.conf
Alias /.well-known/acme-challenge /var/www/dehydrated <Directory "/var/www/dehydrated"> AllowOverride None Require all granted </Directory>
dehydratedの設定
まずはこのファイルを編集。
vim /opt/dehydrated/config
WELLKNOWN="/var/www/dehydrated" CA="https://acme-v02.api.letsencrypt.org/directory"
次にこちらも編集。 example.comは実際に使うドメインで。
vim /opt/dehydrated/domains.txt
example.com
発行
登録
cd /opt/dehydrated/ ./dehydrated --register --accept-terms
証明書発行
cd /opt/dehydrated/ ./dehydrated -c
証明書設定
シンボリックリンクのファイルを設定する。
ここからは一例。違う場合もあり。
以下のファイルを編集して、最後に追加する。
vim /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443> DocumentRoot /var/www/html ServerName {ドメイン} SSLEngine on SSLCertificateFile /opt/dehydrated/certs/example.com/fullchain.pem SSLCACertificateFile /opt/dehydrated/certs/example.com/chain.pem SSLCertificateKeyFile /opt/dehydrated/certs/example.com/privkey.pem </VirtualHost>
それぞれの指定しているディレクトリのexample.comは{ドメイン}と同じにしてください。
これで、導入できました。実際にアクセスして証明書を確かめてみよう。