Let’s Encrypt Zertifikat für Apache auf Ubuntu mit certbot
certbot: Let's Encrypt Zertifikat für Apache (apache2) auf Ubuntu erstellen, HTTPS-Weiterleitung einrichten, Zertifikate erneuern und löschen.
Ausgangsbasis
Wenn Du ein Let’s Encrypt Zertifikat für eine Apache-Website (apache2) erstellen willst, musst Du zunächst den certbot installieren. Brauchst Du stattdessen Zertifikate ohne Apache oder nginx, beschreibt das ein eigener Beitrag.
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. Wie Du den passenden Webstack vorbereitest, zeigt Dir der Beitrag PHP auf Ubuntu installieren.
/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>
Zertifikat mit certbot --apache erstellen
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
Damit HTTP und HTTPS überhaupt von außen erreichbar sind, solltest Du die passenden Ports freigeben — wie das geht, zeigt Dir der Beitrag Firewall mit ufw konfigurieren.
Renewal aller fälligen Zertifikate
sudo certbot renew
sudo certbot renew --dry-run
Damit die Erneuerung automatisch läuft, kannst Du einen Cronjob für das Renewal einrichten.
Löschen eines Zertifikats
Wenn z.B. eine Domain nicht mehr benötigt wird:
sudo certbot delete --cert-name xxxxx.com Mehr aus „Security & Datenschutz"
ChatGPT für CISOs
ChatGPT für CISOs: So nutzt Du das LLM im ISMS für Richtlinien, Risikoanalysen und NIS2-Umsetzung, inkl. praxiserprobter Prompts und ISO27001-Workflow.
WeiterlesenTools für ein technisches Security Audit
Tools für ein technisches Security Audit: Netzwerk-Sniffer, Vulnerability-Scanner, Pentest-Werkzeuge und Methodologien zum Aufdecken von Schwachstellen.
WeiterlesenCyberSecurity Assessment
CyberSecurity Assessment mit NIST SP 800-53 Rev. 5: Sicherheits- und Datenschutzkontrollen als Referenz, um die eigene IT-Sicherheit zu bewerten.
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.