bg-tutorials

So installieren Sie ein SSL-Zertifikat auf Apache

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?

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:

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

Was ist SSL in Apache?

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.

Woher weiß ich, ob SSL in Apache aktiviert ist?

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

Wo befindet sich die SSL-.conf-Datei in Apache?

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.

Was ist der Unterschied zwischen SSLCertificateFile und SSLCertificateChainFile?

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

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.