Ausgangsbasis
Wenn Du ein Let’s encrypt Zertifikat für eine Apache Website erstellen wills, mußt Du zunächst den certbot installieren.
apt install -y python3-certbot-apache
Weiters gehst Du von einem existierenden, einfachen apache conf file aus. Diese liegt unter /etc/apache2/sites-available/
und trägt die extension .conf
. Als Beispiel nehme ich hier eine einfache PHP/Laravel config für den Server meinedomain.com
bzw. www.meinedomain.com
.
/etc/apache2/sites-available/
meinedomain.com.conf
<VirtualHost *:80>
ServerName meinedomain.com
ServerAlias www.meinedomain.com
ServerAdmin herwart@wermescher.com
DocumentRoot /var/www/laravel/meinedomain.com/public
<Directory /var/www/laravel/meinedomain.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/meinedomain.com.error.log
CustomLog ${APACHE_LOG_DIR}/meinedomain.com.access.log combined
</VirtualHost>
Let’s Encrypt Installieren
Nun will ich für beide Domains meinedomain.com
bzw. www.meinedomain.com
:
Nun musst Du nur noch beide Domains angeben um die Zertifikate zu erzeugen UND die zusätzliche Apache Config zu produzieren:
certbot --apache -d meinedomain.com -d www.meinedomain.com
Dabei musst Du eine Frage beantworten:
- 1: No redirect – Make no further changes to the webserver configuration.
- 2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
Wähle dabei die 2. In diesem Fall wird
- Deine Apache conf verändert (Weiterleitung von http auf https) und
- eine weitere Apache Conf (
/etc/apache2/sites-available/
meinedomain.com-le-ssl.conf) angelegt
Deine Zertifikate kannst Du nun unter folgendem Link finden:
/etc/letsencrypt/live/meinedomain.com/fullchain.pem
Renewal aller fälligen Zertifikate
sudo certbot renew
sudo certbot renew --dry-run
Löschen eines Zertifikats
Wenn z.B. eine Domain nicht mehr benötigt wird:
sudo certbot delete --cert-name xxxxx.com