Apache Web Server mkdir -p /var/www/htdocs/.well-known/acme-challenge chgrp -R apache /var/www/htdocs/.well-known Nginx Web Server mkdir -p /var/www/html/.well-known/acme-challenge chgrp -R nginx /var/www/html/.well-known
Apache Web Server echo -e 'CA="https://acme-v02.api.letsencrypt.org/directory" CHALLENGETYPE="http-01" WELLKNOWN="/var/www/htdocs/.well-known/acme-challenge" CONTACT_EMAIL="admin@example.org"' > /etc/dehydrated/config Nginx Web Server echo -e 'CA="https://acme-v02.api.letsencrypt.org/directory" CHALLENGETYPE="http-01" WELLKNOWN="/var/www/html/.well-known/acme-challenge" CONTACT_EMAIL="admin@example.org"' > /etc/dehydrated/config
echo -e 'mail.example.org www.example.org example.org' > /etc/dehydrated/domains.txt
Apache Web Server /etc/rc.d/rc.httpd restart Nginx Web Server /etc/rc.d/rc.nginx restart Notice! Make sure you can reach your domain at https://example.org before you proceed with Let's Encrypt SSL certs.
/usr/bin/dehydrated --register --accept-terms dehydrated -c
chmod 0755 /etc/dehydrated/certs /etc/dehydrated/certs/mail.example.org
chmod 0644 /etc/dehydrated/certs/mail.example.org/{cert-*,chain-*,fullchain-*}
Apache Web Server SSLCertificateFile "/etc/dehydrated/certs/mail.example.org/fullchain.pem" SSLCertificateKeyFile "/etc/dehydrated/certs/mail.example.org/privkey.pem" Restart Apache to use the new certs: /etc/rc.d/rc.httpd restart Nginx Web Server ssl_certificate /etc/dehydrated/certs/mail.example.org/fullchain.pem; ssl_certificate_key /etc/dehydrated/certs/mail.example.org/privkey.pem; Restart Nginx to use the new certs: /etc/rc.d/rc.nginx restart
smtpd_tls_key_file= /etc/dehydrated/certs/mail.example.org/privkey.pem smtpd_tls_cert_file= /etc/dehydrated/certs/mail.example.org/fullchain.pem Restart Postfix to use the new certs: /etc/rc.d/rc.postfix restartDovecot - Put the following reference to the Let's Encrypt certs in /etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/dehydrated/certs/mail.example.org/fullchain.pem ssl_key = </etc/dehydrated/certs/mail.example.org/privkey.pem Restart Dovecot to use the new certs: /etc/rc.d/rc.dovecot restartWebmin - Put the following reference to the Let's Encrypt certs in /etc/webmin/miniserv.conf
keyfile=/etc/dehydrated/certs/mail.example.org/privkey.pem certfile=/etc/dehydrated/certs/mail.example.org/fullchain.pem Restart Webmin to use the new certs: /etc/webmin/restart
echo -e '#!/bin/sh
MYLOG=/var/log/dehydrated
echo "Checking cert renewals at `date`" > $MYLOG
/usr/bin/dehydrated -c >> $MYLOG 2>&1
chmod 0644 /etc/dehydrated/certs/mail.example.org/{cert-*,chain-*,fullchain-*}
mail -s "Let'\''s Encrypt Certs Renewal" -r dehydrated@example.org root@example.org < /var/log/dehydrated
DATE1=$(date +"%m%d%Y")
DATE2=$(date +"%m%d%Y" -r /etc/dehydrated/certs/mail.example.org/cert.pem)
if [ "$DATE1" == "$DATE2" ]; then
/etc/rc.d/rc.httpd restart >/dev/null 2>&1
/etc/rc.d/rc.nginx restart >/dev/null 2>&1
/etc/webmin/restart >/dev/null 2>&1
/etc/rc.d/rc.postfix restart >/dev/null 2>&1
/etc/rc.d/rc.dovecot restart >/dev/null 2>&1
fi' > /etc/cron.weekly/dehydrated-renew
Then make it executable with the following:chmod 0755 /etc/cron.weekly/dehydrated-renewThen run /etc/cron.weekly/dehydrated-renew and check the log to see if it's working and logging properly:
/etc/cron.weekly/dehydrated-renew cat /var/log/dehydratedThat should do it for Let's Encrypt.
SSL Labs - Great place to check how your SSL implementation is working. I get a score of A+ with this server. You can't do these test with
self signed certificates, so run this test after you get the Let's Encrypt certs.
Apache v2.4.66
SlackerMail v0.60.1