In dieser Anleitung erfahren Sie, wie Sie ein SSL-Zertifikat unter CentOS installieren sowie unter den RHEL-Nachfolgesystemen (AlmaLinux, Rocky Linux und CentOS Stream) mit dem Apache httpd Webserver.
Wir haben zudem ein Video aufgenommen, das Sie durch den gesamten Prozess führt. Wenn Sie die Textversion bevorzugen, lesen Sie unten weiter.
CSR-Code erzeugen
Wenn Sie ein SSL-Zertifikat beantragen, erzeugen Sie zunächst einen CSR (Certificate Signing Request) und senden ihn an die Zertifizierungsstelle. Der CSR ist ein Textblock, der Ihre Kontakt- und Domain-Daten enthält, und er ist mit einem gleichzeitig erstellten privaten Schlüssel gekoppelt. Sie haben zwei Möglichkeiten:
- Verwenden Sie unseren CSR-Generator, um den CSR automatisch zu erstellen.
- Folgen Sie unserer Schritt-für-Schritt-Anleitung zum Erstellen eines CSR unter CentOS.
Reichen Sie den CSR während des Bestellvorgangs bei der Zertifizierungsstelle ein. Sobald die CA ihn validiert und Ihr Zertifikat ausgestellt hat, fahren Sie mit der Installation unten fort.
SSL-Zertifikat unter CentOS / RHEL installieren (Apache)
Hinweis zu Versionen: CentOS Linux 8 erreichte am 31. Dezember 2021 das End of Life, und CentOS Linux 7 erreichte am 30. Juni 2024 das EOL. Für den Produktivbetrieb sollten Sie stattdessen eine unterstützte RHEL-Distribution verwenden: RHEL 8/9/10, AlmaLinux, Rocky Linux oder CentOS Stream. Sie alle teilen dieselbe Apache httpd-Struktur, sodass die folgenden Schritte für alle gleichermaßen gelten.
Bevor Sie beginnen
Nach der Validierung sendet Ihnen Ihre Zertifizierungsstelle die Zertifikatsdateien per E-Mail. Stellen Sie sicher, dass Sie diese drei separaten Dateien bereit haben:
- yourdomain.crt, Ihr primäres SSL-Zertifikat.
- yourdomain.ca-bundle, die Zwischenzertifikate (das CA-Bundle).
- yourdomain.key, der private Schlüssel, den Sie zusammen mit dem CSR erzeugt haben.
Wichtig: Fügen Sie den privaten Schlüssel niemals in die Zertifikatskette ein. Der Schlüssel bleibt in seiner eigenen Datei, die nur vom Root-Benutzer gelesen werden kann.
Schritt 1: TLS-Unterstützung installieren (mod_ssl)
Installieren Sie mod_ssl, das Apache TLS-Unterstützung hinzufügt und eine Standard-TLS-Konfiguration unter /etc/httpd/conf.d/ssl.conf ablegt:
sudo dnf install -y mod_ssl
Auf älteren Systemen, die noch den Paketmanager yum verwenden, führen Sie stattdessen sudo yum install -y mod_ssl aus.
Schritt 2: Ihre SSL-Dateien platzieren
Kopieren Sie den privaten Schlüssel nach /etc/pki/tls/private/ und schränken Sie die Berechtigungen so ein, dass nur Root ihn lesen kann:
sudo cp yourdomain.key /etc/pki/tls/private/
sudo chown root:root /etc/pki/tls/private/yourdomain.key
sudo chmod 600 /etc/pki/tls/private/yourdomain.key
Erstellen Sie als Nächstes die vollständige Kettendatei, indem Sie Ihr Zertifikat und das CA-Bundle zusammenfügen, und legen Sie sie unter /etc/pki/tls/certs/ ab:
cat yourdomain.crt yourdomain.ca-bundle
| sudo tee /etc/pki/tls/certs/yourdomain-fullchain.crt > /dev/null
Die Datei mit der vollständigen Kette darf nur das öffentliche Zertifikat und die Zwischenkette enthalten, niemals den privaten Schlüssel.
Schritt 3: Den Apache TLS Virtual Host konfigurieren
Sie können entweder die von mod_ssl erstellte Standarddatei /etc/httpd/conf.d/ssl.conf bearbeiten oder (sauberer) eine eigene Datei für Ihre Website erstellen, zum Beispiel /etc/httpd/conf.d/yourdomain.conf. Öffnen Sie diese mit einem Texteditor:
sudo nano /etc/httpd/conf.d/yourdomain.conf
Fügen Sie einen Virtual Host für Port 80 hinzu, der den gesamten Verkehr auf HTTPS umleitet, gefolgt vom sicheren Virtual Host für Port 443, der Ihre SSL-Direktiven enthält:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/yourdomain-fullchain.crt
SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.key
</VirtualHost>
- SSLCertificateFile, Ihre vollständige Kettendatei (Zertifikat + Zwischenzertifikate). Ab Apache 2.4.8 ersetzt diese einzelne Direktive die veraltete SSLCertificateChainFile.
- SSLCertificateKeyFile, der private Schlüssel, den Sie zusammen mit dem CSR erstellt haben.
Hinweis zum Standard-Host: Die von mod_ssl bereitgestellte Datei /etc/httpd/conf.d/ssl.conf enthält einen eigenen <VirtualHost _default_:443>-Block mit einem selbstsignierten Zertifikat. Wenn Sie wie oben einen eigenen *:443-Host pro Website hinzufügen, verwenden Anfragen, die zu Ihrem ServerName passen, Ihr Zertifikat, aber nicht zugeordnete HTTPS-Anfragen (zum Beispiel der Zugriff über die IP-Adresse des Servers) greifen weiterhin auf diesen standardmäßigen selbstsignierten Host zurück. Wenn Sie dieses Fallback-Verhalten nicht wünschen, kommentieren Sie den <VirtualHost _default_:443>-Block in ssl.conf aus oder verweisen Sie ihn auf Ihr eigenes Zertifikat.
Hinweis zur TLS-Härtung: Apache unter RHEL 8 und neuer folgt der systemweiten Krypto-Richtlinie, die veraltete Protokolle bereits deaktiviert. Um die Richtlinie für den gesamten Server festzulegen, führen Sie sudo update-crypto-policies --set DEFAULT aus (oder FUTURE für strengere Einstellungen). Wenn Sie Protokolle stattdessen pro Virtual Host festlegen möchten, fügen Sie SSLProtocol -all +TLSv1.2 +TLSv1.3 innerhalb des Port-443-Blocks hinzu.
Schritt 4: Ihre Apache-Konfiguration testen
Überprüfen Sie immer die Syntax, bevor Sie neu laden, denn schon ein einziger Tippfehler kann die Website offline nehmen:
sudo apachectl configtest
Sie sollten Syntax OK sehen. (Der Befehl sudo httpd -t macht dasselbe.) Beheben Sie alle gemeldeten Fehler, bevor Sie fortfahren.
Schritt 5: Apache neu starten
Wenden Sie die Änderungen an, indem Sie den httpd-Dienst neu laden (ein Reload aktiviert die neue Konfiguration, ohne bestehende Verbindungen zu unterbrechen):
sudo systemctl reload httpd
Wenn httpd noch nicht lief, starten Sie es mit sudo systemctl enable --now httpd. Ihre Website sollte nun über HTTPS live sein. Um das Ergebnis zu überprüfen und einen sofortigen Statusbericht zu erhalten, nutzen Sie unseren SSL Checker.
Hinweise für ältere CentOS-Versionen (7 und früher)
CentOS Linux 7, 6 und 8 haben alle das End of Life erreicht und erhalten keine Sicherheitsupdates mehr. Migrieren Sie daher, sobald möglich, zu einer unterstützten RHEL-Distribution. Wenn Sie zwingend an einem Legacy-Server arbeiten müssen, ist der Prozess derselbe wie oben beschrieben, mit zwei Unterschieden:
- Paketmanager: CentOS 7 und 6 verwenden yum anstelle von dnf. Prüfen Sie mit
rpm -qa | grep mod_ssl, ob mod_ssl bereits installiert ist, und installieren Sie es andernfalls mitsudo yum install -y mod_ssl. - Apache älter als 2.4.8: Nur sehr alte Builds sind älter als 2.4.8. Dort behalten Sie das Zertifikat und die Kette in separaten Dateien und fügen eine dritte Direktive hinzu, SSLCertificateChainFile, die auf das CA-Bundle verweist (nicht auf Ihr Zertifikat):
SSLCertificateFile /etc/pki/tls/certs/yourdomain.crt
SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.key
SSLCertificateChainFile /etc/pki/tls/certs/yourdomain.ca-bundle
Ab Apache 2.4.8 (was jede derzeit unterstützte Version abdeckt) verwenden Sie stattdessen die einfachere einzelne SSLCertificateFile mit vollständiger Kette, wie in Schritt 3 gezeigt.
Wo kann man ein SSL-Zertifikat für CentOS kaufen?
Der beste Ort, um ein SSL-Zertifikat für Ihren CentOS-Server zu kaufen, ist ein renommierter SSL-Reseller wie SSL Dragon. Unsere Preise gehören zu den niedrigsten auf dem Markt, und wir bieten regelmäßige Rabatte und attraktive Angebote für unser gesamtes SSL-Produktsortiment, unterstützt von einem hervorragenden Kundensupport. Alle unsere Zertifikate sind mit CentOS und seinen RHEL-Nachfolgesystemen kompatibel.
SSL Dragon kümmert sich um die Sicherheit Ihrer sensiblen Daten, damit Ihre Website oder Ihr Unternehmen online erfolgreich sein kann.
Häufig gestellte Fragen
Verbinden Sie sich mit OpenSSL zu Ihrer Website und lesen Sie das dabei ausgelieferte Zertifikat aus:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Wenn ein Zertifikat installiert ist, werden dessen Aussteller und Gültigkeitsdaten angezeigt. Um stattdessen eine Zertifikatsdatei auf der Festplatte zu prüfen, führen Sie openssl x509 -text -noout -in certificate.crt aus. Sie können auch die aktiven Virtual Hosts von Apache mit sudo apachectl -S auflisten oder Ihre Website in einem Browser öffnen und das Schlosssymbol prüfen.
Gemäß Konvention werden Zertifikate unter /etc/pki/tls/certs/ und private Schlüssel unter /etc/pki/tls/private/ abgelegt. Dies sind die RHEL-Standardpfade; Sie können auch andere Speicherorte verwenden, solange Ihr Virtual Host darauf verweist.
Das TLS-Modul installiert seine Standardeinstellungen unter /etc/httpd/conf.d/ssl.conf, und die Haupt-Apache-Konfiguration befindet sich unter /etc/httpd/conf/httpd.conf. Sie können Ihre Virtual Hosts zu ssl.conf hinzufügen, aber es ist sauberer, eine eigene Datei pro Website zu erstellen, zum Beispiel /etc/httpd/conf.d/yourdomain.conf. Jede .conf-Datei in /etc/httpd/conf.d/ wird automatisch geladen. Apache-Logs befinden sich unter /var/log/httpd/.
Ab Apache 2.4.8 (jede derzeit unterstützte RHEL-Version), ja: Verketten Sie Ihr Zertifikat und das CA-Bundle zu einer vollständigen Kettendatei und verweisen Sie mit SSLCertificateFile darauf. Die separate Direktive SSLCertificateChainFile ist veraltet und wird nur bei Apache-Builds benötigt, die älter als 2.4.8 sind.
OpenSSL ist auf CentOS und jeder anderen gängigen Linux-Distribution vorinstalliert, sodass Sie es in der Regel nicht installieren müssen. Falls es fehlt, fügen Sie es mit sudo dnf install -y openssl hinzu (oder sudo yum install -y openssl auf CentOS 7 und früher). Erfahren Sie mehr über OpenSSL und seine Befehlszeilen.
Fazit
Die Installation eines SSL-Zertifikats unter CentOS oder RHEL mit Apache läuft darauf hinaus, mod_ssl zu installieren, Ihren privaten Schlüssel und das vollständige Kettenzertifikat unter /etc/pki/tls/ abzulegen, den <VirtualHost *:443>-Block in /etc/httpd/conf.d/ zu konfigurieren, mit sudo apachectl configtest zu testen und mit sudo systemctl reload httpd neu zu laden. Benötigen Sie zunächst ein Zertifikat? Durchsuchen Sie unsere SSL-Zertifikate.
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

