From c99798f5f094ffeb5c77e43f18b4b8c75dd4cf49 Mon Sep 17 00:00:00 2001 From: Sven Göthel Date: Sun, 2 Mar 2025 20:33:06 +0100 Subject: Use letsencrypt for apache2, dovecot and sendmail (see /etc/apache2/acme-and-redirect.conf) --- .../etc/apache2/acme-and-redirect.conf | 16 +++++++ .../apache2/sites-available/jogamp_org-ssl.conf | 11 +++-- .../etc/apache2/sites-available/jogamp_org.conf | 2 + .../etc/dovecot/conf.d/10-ssl.conf | 55 +++++++++++++++++----- .../etc/letsencrypt/renewal-hooks/deploy/apache | 5 ++ .../etc/letsencrypt/renewal-hooks/deploy/dovecot | 5 ++ .../etc/letsencrypt/renewal-hooks/deploy/sendmail | 5 ++ .../setup/05-service-settings/etc/mail/sendmail.mc | 24 +++++++--- 8 files changed, 101 insertions(+), 22 deletions(-) create mode 100644 server/setup/05-service-settings/etc/apache2/acme-and-redirect.conf create mode 100755 server/setup/05-service-settings/etc/letsencrypt/renewal-hooks/deploy/apache create mode 100755 server/setup/05-service-settings/etc/letsencrypt/renewal-hooks/deploy/dovecot create mode 100755 server/setup/05-service-settings/etc/letsencrypt/renewal-hooks/deploy/sendmail diff --git a/server/setup/05-service-settings/etc/apache2/acme-and-redirect.conf b/server/setup/05-service-settings/etc/apache2/acme-and-redirect.conf new file mode 100644 index 0000000..60a41a6 --- /dev/null +++ b/server/setup/05-service-settings/etc/apache2/acme-and-redirect.conf @@ -0,0 +1,16 @@ +Alias "/.well-known/acme-challenge/" "/srv/www/jogamp.org/.well-known/acme-challenge/" + + Require all granted + + +RewriteCond %{REQUEST_URI} ^/\.well-known/acme-challenge/.* +RewriteRule ^ - [L] + +# RewriteEngine On +# RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.* +# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301] + +# Install letsencrypt `certbot` and create cert via `certbot certonly` +# using webroot `/srv/www/jogamp.org` for cert `jogamp.org mail.jogamp.org`. +# Then ensure to reload apache, restart sendmail, dovecot etc via +# /etc/letsencrypt/renewal-hooks/deploy scripts. diff --git a/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org-ssl.conf b/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org-ssl.conf index 46582be..fe6124c 100644 --- a/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org-ssl.conf +++ b/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org-ssl.conf @@ -84,8 +84,11 @@ SSLStaplingCache shmcb:/var/run/apache2/stapling_cache(128000) # SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key - SSLCertificateFile /etc/ssl/local/jogamp2025a.org.crt.pem - SSLCertificateKeyFile /etc/ssl/local/jogamp2025a.org.key.apache.pem + #SSLCertificateFile /etc/ssl/local/jogamp2025a.org.crt.pem + #SSLCertificateKeyFile /etc/ssl/local/jogamp2025a.org.key.apache.pem + + SSLCertificateFile /etc/letsencrypt/live/jogamp.org/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/jogamp.org/privkey.pem # Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the @@ -100,7 +103,7 @@ SSLStaplingCache shmcb:/var/run/apache2/stapling_cache(128000) #SSLCertificateChainFile /etc/ssl/local/thawte-ca-cert3-20151105.pem #SSLCertificateChainFile /etc/ssl/local/thawte-ca-cert4-20171102.pem #SSLCertificateChainFile /etc/ssl/local/thawte-ca-cert5-20181102.pem - SSLCertificateChainFile /etc/ssl/local/jogamp2025a.org.ca.pem + #SSLCertificateChainFile /etc/ssl/local/jogamp2025a.org.ca.pem # Certificate Authority (CA): # Set the CA certificate verification path where to find CA @@ -214,6 +217,8 @@ SSLStaplingCache shmcb:/var/run/apache2/stapling_cache(128000) # configures the footer on server-generated documents ServerSignature On + Include /etc/apache2/acme-and-redirect.conf + Options Indexes FollowSymLinks AllowOverride All diff --git a/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org.conf b/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org.conf index 90ac67b..935d12e 100644 --- a/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org.conf +++ b/server/setup/05-service-settings/etc/apache2/sites-available/jogamp_org.conf @@ -25,6 +25,8 @@ # configures the footer on server-generated documents ServerSignature On + Include /etc/apache2/acme-and-redirect.conf + Options Indexes FollowSymLinks AllowOverride All diff --git a/server/setup/05-service-settings/etc/dovecot/conf.d/10-ssl.conf b/server/setup/05-service-settings/etc/dovecot/conf.d/10-ssl.conf index dd3183c..140e418 100644 --- a/server/setup/05-service-settings/etc/dovecot/conf.d/10-ssl.conf +++ b/server/setup/05-service-settings/etc/dovecot/conf.d/10-ssl.conf @@ -10,10 +10,12 @@ ssl = required # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf -#ssl_cert =