SSL Apache 2.4 Windows
Hier eine Anleitung zur Installation von SSL für einen Apache 2.4 unter Windows (XP).
Nachdem ich installation ssl apache windows gesucht habe, habe ich die Seite von Rubayat Hasan gefunden. Dort wird auf englisch beschrieben, wie man unter Windows SSL in einen Apache 2.2 installiert.
Diese Anleitung funktionierte für meinen Apache 2.4 nicht ohne kleine Änderungen. Daher das ganze hier noch einmal auf deutsch für Apache 2.4 (z.B. von hier) unter Windows XP.
Ich habe die Datei in openssl.conf umbenannt.
Openssl befindet sich im Unterverzeichnis /bin der Apache-Installation:
cd "C:\Apache24\bin"
Dann die Umgebungsvariable für die Openssl-Configuration setzen:
set OPENSSL_CONF=C:\Apache24\conf\openssl.conf
Zertifikatsanfrage stellen:
openssl req -new -out server.csr
Dabei ist zu beachten:
PEM pass phrase: Passwort vergeben
Common Name: Der korrekte, vollständige Domainname, für den das Zertifikat erzeugt wird, also der Name, unter dem der Server später erreichbar ist.
Die neuen Dateien werden alle in das Unterverzeichnis /bin erzeugt.
Apache benötigt den Schlüssel ohne Passwort. Daher wird die passwortlose Datei server.key erzeugt. Diese sollte nur vom Administrator und vom Apache im Dateisystem lesbar sein!
Schlüssel für Apache erzeugen:
openssl rsa -in privkey.pem -out server.key
Verfallsdatum setzen:
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
Erzeugten Schlüssel und Zertifikat an die richtige Stelle kopieren und .rnd-Datei löschen:
move C:\Apache24\bin\server.crt C:\Apache24\conf
move C:\Apache24\bin\server.key C:\Apache24\conf
del C:\Apache24\bin\.rnd
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
Nun muss nur noch die "SSL-Webseite" konfiguriert werden. Dazu wird C:\Apache24\conf\extra\httpd-ssl.conf geöffnet und folgende Einträge (hier sinngemäß) vorgenommen:
Jetzt nur noch in C:/Apache24/conf/httpd.conf die Zeile
Include conf/extras/httpd-ssl.conf
entkommentieren - und fertig!
Apache neu starten und ausprobieren!
Nachdem ich installation ssl apache windows gesucht habe, habe ich die Seite von Rubayat Hasan gefunden. Dort wird auf englisch beschrieben, wie man unter Windows SSL in einen Apache 2.2 installiert.
Diese Anleitung funktionierte für meinen Apache 2.4 nicht ohne kleine Änderungen. Daher das ganze hier noch einmal auf deutsch für Apache 2.4 (z.B. von hier) unter Windows XP.
1. XP und die openssl.cnf-Datei
Im Verzeichnis Apache/conf befindet sich eine Datei namens openssl.cnf an der sich das beknackte XP verschluckt. Windows macht die Datei zum Typ Speeddial und openssl bekommt seine Schwierigkeiten damit. Die Datei erscheint im Explorer dann auch ohne Endung. Daher muss die Datei zuerst einmal umbenannt werden. Am besten auf einem Rechner entpacken der kein Stress mit .cnf-Dateien hat und dann umbenannt ins Ziel kopieren. Damit ist größte Hürde schon genommen. (Nochmals Dank an Microsoft!)Ich habe die Datei in openssl.conf umbenannt.
2. Erzeugen der Schlüssel und des Zertifikates
Wenn hier auf das Apache-Installationsverzeichnis referenziert wird, dann ist das in der Regel C:\Programme\Apache Software Foundation\Apache2.4. Ich nenne es hier der Einfachheit halber einmal C:\Apache24. Also los gehts:Openssl befindet sich im Unterverzeichnis /bin der Apache-Installation:
cd "C:\Apache24\bin"
Dann die Umgebungsvariable für die Openssl-Configuration setzen:
set OPENSSL_CONF=C:\Apache24\conf\openssl.conf
Zertifikatsanfrage stellen:
openssl req -new -out server.csr
Dabei ist zu beachten:
PEM pass phrase: Passwort vergeben
Common Name: Der korrekte, vollständige Domainname, für den das Zertifikat erzeugt wird, also der Name, unter dem der Server später erreichbar ist.
Die neuen Dateien werden alle in das Unterverzeichnis /bin erzeugt.
Apache benötigt den Schlüssel ohne Passwort. Daher wird die passwortlose Datei server.key erzeugt. Diese sollte nur vom Administrator und vom Apache im Dateisystem lesbar sein!
Schlüssel für Apache erzeugen:
openssl rsa -in privkey.pem -out server.key
Verfallsdatum setzen:
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
Erzeugten Schlüssel und Zertifikat an die richtige Stelle kopieren und .rnd-Datei löschen:
move C:\Apache24\bin\server.crt C:\Apache24\conf
move C:\Apache24\bin\server.key C:\Apache24\conf
del C:\Apache24\bin\.rnd
3. Konfiguration des Apache
In C:\Apache24\conf\httpd.conf entkommentieren (="#" entfernen) wir folgende Einträge:LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
Nun muss nur noch die "SSL-Webseite" konfiguriert werden. Dazu wird C:\Apache24\conf\extra\httpd-ssl.conf geöffnet und folgende Einträge (hier sinngemäß) vorgenommen:
ServerAdmin meine@email.com
DocumentRoot "d:/meinwebseitenrootverzeichnis"
ServerName www.domain.com:443
ServerAlias domain.com:443
ErrorLog "logs/ssl-error.log"
CustomLog "logs/ssl-access.log" common
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/server.crt"
SSLCertificateKeyFile "C:/Apache24/conf/server.key"
Die Pfade zum Zertifikat- und Keyfile müssen unbedingt stimmen!Jetzt nur noch in C:/Apache24/conf/httpd.conf die Zeile
Include conf/extras/httpd-ssl.conf
entkommentieren - und fertig!
Apache neu starten und ausprobieren!
techomatic - 2014-01-23 18:26
Apache startet nicht mehr
nach abarbeiten der Liste startet der Apache 2.4 nicht mehr.
Beim Versuch zu starten, meldet sich der Apache mit einer Fehlermeldung.
Sobald ich das ssl-Modul und httpd-ssl einkommentiere, funktioniert es wieder.
Wo ist der Wurm drin?