In diesem Leitfaden erfahren Sie Schritt für Schritt, wie Sie ein SSL-Zertifikat auf Apache installieren. Die Anleitung bezieht sich auf Apache 2.4, die aktuelle stabile Release-Reihe.
Inhaltsverzeichnis
- Wie generiert man einen CSR-Code auf Apache?
- SSL-Zertifikat auf Apache installieren
- Testen Sie Ihre SSL-Installation
- Wo kann man ein SSL-Zertifikat für Apache kaufen?
Wie generiert man einen CSR-Code auf Apache?
Der Certificate Signing Request, kurz CSR, ist eine kleine Textdatei mit Informationen über Ihren Domainbesitz und/oder Ihr Unternehmen. Die Erstellung eines CSR ist ein fester Bestandteil des SSL-Kaufprozesses, und alle kommerziellen Zertifizierungsstellen verlangen von SSL-Antragstellern, diesen Schritt zu durchlaufen.
Sie haben zwei Möglichkeiten:
- Generieren Sie den CSR automatisch mit unserem CSR-Generator.
- Folgen Sie unserer Schritt-für-Schritt-Anleitung zum Erstellen des CSR auf Apache.
SSL-Zertifikat auf Apache installieren
Nachdem die Zertifizierungsstelle das SSL-Zertifikat signiert und an Sie gesendet hat, können Sie es sicher auf Ihrem Apache-Server installieren. Folgen Sie den nachstehenden Schritten.
Schritt 1: Bereiten Sie Ihre Zertifikatsdateien vor
Laden Sie die Dateien aus dem ZIP-Ordner, den Sie von Ihrer Zertifizierungsstelle erhalten haben, herunter und entpacken Sie sie. Normalerweise finden Sie darin:
- Die .crt-Datei – Ihr primäres SSL-Zertifikat.
- Die .ca-bundle-Datei – die Zwischenzertifikate (und das Stammzertifikat), die die Vertrauenskette bilden. Diese Kette ist erforderlich, damit Browser und Anwendungen Ihr Zertifikat überprüfen können. Ohne sie können manche Clients Ihre Website als unsicher einstufen.
Laden Sie diese Dateien zusammen mit dem privaten Schlüssel (.key), den Sie zusammen mit Ihrem CSR generiert haben, in ein sicheres Verzeichnis auf Ihrem Server hoch, zum Beispiel /etc/ssl/. Stellen Sie sicher, dass der private Schlüssel nur für root lesbar ist (chmod 600).
Empfohlen (Apache 2.4.8 und neuer): Kombinieren Sie Ihr Zertifikat und das CA-Bundle in einer einzigen „Full-Chain“-Datei. Seit Apache 2.4.8 lädt die Direktive SSLCertificateFile die Zwischenzertifikate direkt aus dieser Datei, weshalb die alte Direktive SSLCertificateChainFile nicht mehr benötigt wird:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Wenn Ihre CA die Zwischenzertifikate als separate Dateien geliefert hat, verketten Sie diese zuerst mit Ihrem Zertifikat, gefolgt von den Zwischenzertifikaten, geordnet von demjenigen, das Ihr Zertifikat signiert hat, bis hin zum Stammzertifikat (das Stammzertifikat selbst ist optional):
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
Wenn Sie beispielsweise ein Sectigo PositiveSSL-Zertifikat installieren, würden Sie Ihr Domainzertifikat mit dem Sectigo-Zwischenzertifikat-Bundle verketten. Verwenden Sie immer die genauen Dateinamen, die von Ihrer CA bereitgestellt wurden.
Schritt 2: Aktivieren Sie das SSL-Modul (mod_ssl)
Bevor Sie HTTPS konfigurieren, stellen Sie sicher, dass das SSL-Modul von Apache aktiviert ist.
Aktivieren Sie unter Debian/Ubuntu mod_ssl (und mod_headers, das Sie für den HSTS-Header in Schritt 4 benötigen):
sudo a2enmod ssl
sudo a2enmod headers
Installieren Sie unter RHEL/CentOS/AlmaLinux/Rocky Linux das SSL-Modulpaket (das Modul wird nach der Installation automatisch geladen):
sudo dnf install mod_ssl
Schritt 3: Suchen Sie die Apache-Konfigurationsdatei
Je nach Betriebssystem und Apache-Version kann sich die Konfiguration in unterschiedlichen Dateien befinden. Suchen Sie nach httpd.conf, apache2.conf oder einer speziellen SSL-/Site-Konfigurationsdatei an einem der folgenden Orte:
- Debian/Ubuntu: Hauptkonfiguration /etc/apache2/apache2.conf; Site-spezifische Konfigurationen in /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky: Hauptkonfiguration /etc/httpd/conf/httpd.conf; SSL-Konfiguration /etc/httpd/conf.d/ssl.conf.
Hinweis: Wenn Ihr Apache-Server unter Ubuntu läuft, können Sie auch unserer speziellen Anleitung zur SSL-Installation unter Ubuntu folgen.
Schritt 4: Konfigurieren Sie den Virtual Host
Erstellen Sie zunächst ein Backup Ihrer aktuellen Konfigurationsdatei. So können Sie Ihre Änderungen schnell rückgängig machen, falls etwas schiefgeht:
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
Öffnen Sie nun die Konfigurationsdatei und richten Sie den HTTPS-Virtual-Host (Port 443) ein. Ein vollständiger, moderner Virtual Host sieht folgendermaßen aus:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : server certificate + intermediate chain in ONE file
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Tell browsers to always use HTTPS. Remove the leading # to enable HSTS,
# but only after you have confirmed HTTPS works correctly:
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Ersetzen Sie example.com, das Dokumentenstammverzeichnis und die Dateipfade durch Ihre eigenen Werte. Hier ist, was die wichtigsten Direktiven bewirken:
- SSLEngine on – aktiviert SSL/TLS für diesen Virtual Host.
- SSLCertificateFile – Pfad zu Ihrer Full-Chain-Datei (Zertifikat + Zwischenzertifikate), die in Schritt 1 erstellt wurde. Ab Apache 2.4.8 ersetzt diese einzelne Direktive die veraltete Direktive SSLCertificateChainFile.
- SSLCertificateKeyFile – Pfad zu Ihrem privaten Schlüssel, der zusammen mit dem CSR generiert wurde.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – deaktiviert die alten, unsicheren SSL/TLS-Protokolle und erlaubt nur TLS 1.2 und TLS 1.3.
- Strict-Transport-Security (HSTS) – weist Browser an, sich nur über HTTPS zu verbinden. Erfordert mod_headers (in Schritt 2 aktiviert). Aktivieren Sie es erst, nachdem Sie bestätigt haben, dass HTTPS korrekt funktioniert.
Stellen Sie sicher, dass keine dieser Zeilen mit einem # beginnt (dadurch würden sie auskommentiert). Unter Debian/Ubuntu löst sich ${APACHE_LOG_DIR} zu /var/log/apache2 auf; auf RHEL-basierten Systemen verwenden Sie stattdessen /var/log/httpd/.
Ältere Server: Wenn Sie mit einer Apache-Version älter als 2.4.8 arbeiten, halten Sie das Zertifikat und die Kette in separaten Dateien und fügen Sie unterhalb von SSLCertificateFile die veraltete Direktive SSLCertificateChainFile /etc/ssl/example_com.ca-bundle hinzu. Auf jedem modernen Server ist der oben beschriebene Full-Chain-Ansatz vorzuziehen.
Erweiterte Absicherung (optional): Für eine stärkere Cipher-Suite und OCSP-Stapling erstellen Sie eine maßgeschneiderte Konfiguration mit dem Mozilla SSL Configuration Generator. OCSP-Stapling erfordert außerdem eine SSLStaplingCache-Direktive in Ihrer globalen Apache-Konfiguration.
Aktivieren Sie die Site: Unter Debian/Ubuntu wird ein Virtual Host, der in /etc/apache2/sites-available/ abgelegt ist, erst geladen, wenn Sie ihn aktivieren. Wenn Sie diese Konfiguration als neue Datei gespeichert haben (zum Beispiel example-ssl.conf), aktivieren Sie sie mit:
sudo a2ensite example-ssl.conf
Sie können stattdessen auch die mitgelieferte Datei default-ssl.conf bearbeiten, aber auch diese muss mit a2ensite default-ssl aktiviert werden. Unter RHEL/CentOS/AlmaLinux/Rocky werden Dateien in /etc/httpd/conf.d/ automatisch geladen — beachten Sie jedoch, dass ssl.conf bereits einen Standardblock <VirtualHost _default_:443> mit einem selbstsignierten Zertifikat enthält. Bearbeiten Sie also entweder diesen Block, oder fügen Sie Ihren Virtual Host als separate Datei hinzu, z. B. /etc/httpd/conf.d/yourdomain.conf, um zwei sich überschneidende Port-443-Hosts zu vermeiden.
Schritt 5: HTTP auf HTTPS umleiten
Damit Besucher stets die sichere Version Ihrer Website erreichen, fügen Sie einen zweiten Virtual Host auf Port 80 hinzu, der den gesamten HTTP-Verkehr dauerhaft auf HTTPS umleitet:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Schritt 6: Testen Sie Ihre Konfiguration und starten Sie Apache neu
Testen Sie Ihre Konfiguration immer, bevor Sie neu starten. Ein Syntaxfehler kann Ihre Website offline nehmen, daher führen Sie aus:
sudo apachectl configtest
Wenn alles korrekt ist, sehen Sie:
Syntax OK
Wenden Sie nun die Änderungen an, indem Sie Apache neu laden (ein Neuladen aktiviert die neue Konfiguration, ohne bestehende Verbindungen zu unterbrechen):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Wenn ein Neuladen nicht ausreicht, starten Sie stattdessen den Dienst neu (sudo systemctl restart apache2 oder httpd). Verwenden Sie auf älteren Systemen ohne systemd sudo apachectl graceful.
Wenn die Installation erfolgreich war, herzlichen Glückwunsch! Ihre Website ist jetzt mit SSL/TLS gesichert.
Testen Sie Ihre SSL-Installation
Nachdem Sie Ihr SSL-Zertifikat auf Apache installiert haben, überprüfen Sie, ob alles wie erwartet funktioniert. Ein sofortiger Scan zeigt Ihnen etwaige Fehler oder Schwachstellen, die die Leistung Ihres Zertifikats beeinträchtigen könnten. Verwenden Sie unser SSL Checker-Tool, um den Status Ihrer Installation zu überprüfen.
Sie können das Zertifikat und seine Kette auch direkt über die Befehlszeile bestätigen:
openssl s_client -connect www.example.com:443 -servername www.example.com
Wo kann man ein SSL-Zertifikat für Apache kaufen?
Der beste Ort, um ein SSL-Zertifikat für Apache zu erwerben, ist SSL Dragon. Wir bieten unschlagbare Preise und Rabatte für unser gesamtes Sortiment an SSL-Produkten und haben die besten SSL-Marken auf dem Markt sorgfältig ausgewählt, um Ihre Website mit kugelsicherem Schutz auszustatten. Alle unsere SSL-Zertifikate sind mit Apache kompatibel. Holen Sie sich jetzt ein SSL-Zertifikat!
Beachten Sie, dass sich die Laufzeiten von SSL/TLS-Zertifikaten verkürzen: Die maximale Gültigkeit sinkt im März 2026 auf 200 Tage, 2027 auf 100 Tage und bis 2029 auf nur noch 47 Tage. Kürzere Lebenszyklen bedeuten häufigere Erneuerungen, daher lohnt es sich, Ihren Erneuerungsprozess (und dessen Automatisierung) im Voraus zu planen.
Häufig gestellte Fragen
SSL (Secure Sockets Layer), heute abgelöst durch TLS (Transport Layer Security), ist ein kryptografisches Protokoll, das die Kommunikation zwischen zwei Netzwerkendpunkten verschlüsselt, zum Beispiel zwischen einem Webserver wie Apache und dem Browser eines Nutzers.
Suchen Sie bei Debian- und Ubuntu-Distributionen in der Konfiguration nach der SSL-Protokoll-Direktive:grep -ir SSLProtocol /etc/apache2/
Wenn SSL konfiguriert ist, sehen Sie eine Ausgabe ähnlich wie:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Sie können auch bestätigen, dass das SSL-Modul im laufenden Server geladen ist:apachectl -M | grep ssl
Die Konfigurationsdatei kann sich je nach Betriebssystem und Setup an unterschiedlichen Orten befinden. Prüfen Sie unter Debian/Ubuntu /etc/apache2/apache2.conf und die Site-spezifischen Dateien in /etc/apache2/sites-available/. Prüfen Sie unter RHEL/CentOS/AlmaLinux/Rocky /etc/httpd/conf/httpd.conf und /etc/httpd/conf.d/ssl.conf.
SSLCertificateFile verweist auf Ihr Serverzertifikat. Seit Apache 2.4.8 kann dieselbe Datei auch die Zwischenzertifikate enthalten, sodass sie die vollständige Kette bereitstellt. SSLCertificateChainFile war die alte Methode, diese Zwischenzertifikate separat bereitzustellen, ist jedoch seit Apache 2.4.8 veraltet. Auf jedem modernen Server sollten Sie das Zertifikat und die Zwischenzertifikate in einer Datei zusammenfassen und nur mit SSLCertificateFile referenzieren.
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10


