Howto
Ich habe unlängst SSL für meinen Entwicklungs-Webserver installiert, auf dem momentan ein Apache 2.2.6 läuft. Die folgende Anleitung habe ich hauptsächlich deshalb geschrieben, um künftig selbst nachlesen zu können. Wenn sie möglicherweise auch noch anderen hilft, um so besser!
Ich habe die SSL-Integration für Apache 2.2.6 mit OpenSSL 0.9.8e durchgeführt,
mein Betriebssystem ist Windows XP Professional SP2. Die SSL-Integration sollte
auch mit vergleichbaren anderen Apachen und Windows-Systemen ähnlich funktionieren. Beim Download
des Apachen darauf achten, dass keine no-ssl-Version geholt wird. Die Installationsdatei
hat in meinem Fall den Namen apache_2.2.6-win32-x86-openssl-0.9.8e.msi.
Um dieses Howto zu nutzen, sollte zumindest etwas Erfahrung in der Konfiguration des Apache vorhanden sein.
Alle Angaben ohne Gewähr, Benutzung auf eigene Gefahr.
Man benötigt ein SSL-Zertifikat, damit der Webserver https-Anfragen überhaupt beantworten kann. SSL-Zertifikate kann man bei einer Certification Authority - kurz "CA" - erwerben. Für Testzwecke kann man jedoch auch sein eigenes Zertifikat erstellen und das wollen wir tun.
Wir öffnen zuerst eine Eingabeaufforderung ("Shell") und wechseln in den bin-Ordner des Apache2.2-Verzeichnisses. Wir geben den Befehl "openssl" ein:
C:\Programme\...\Apache2.2\bin> openssl
OpenSSL>
Daraufhin erscheint das OpenSSL-Prompt, wir sind in der SSL-Shell. Wir wollen nun ein Zertifikat für den Server "localhost" erstellen.
Zum Erstellen des Testzertifikats sind lediglich vier Befehlszeilen in die SSL-Shell einzugeben:
OpenSSL> req -config ../conf/openssl.cnf -new -out localhost.csr
OpenSSL> rsa -in privkey.pem -out localhost.key
OpenSSL> x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 1800
OpenSSL> x509 -in localhost.crt -out localhost.der.crt -outform DER
Manche der Befehle erfordern weitere Eingaben. Da unser Zertifkat nur für Testzwecke erstellt wird, ist nicht weiter wichtig, was eingegeben wird.
Das Zertifikat ist nun fertig. Wir kopieren folgende Dateien in den Unterordner conf des Apache2.2-Verzeichnisses:
Wir öffnen die Datei conf/httpd.conf und aktivieren folgende Einträge:
Datei httpd.conf speichern.
Wir öffnen die Datei conf/extra/httpd-ssl.conf und ändern folgende Direktiven - Die Pfade sind natürlich der lokalen Installation anzupassen:
Im <VirtualHost>-Teil der Datei sind nun noch die gewünschten Anpassungen vorzunehmen, zum Beispiel DocumentRoot. Schließlich ist der SSL-Server ein eigener virtueller Host und kann separat konfiguriert werden.
Datei httpd-ssl.conf speichern.
Zuletzt sind noch zwei dll-Dateien vom Ordner Apache2.2\bin in das Verzeichnis %WinDir%\system32 zu kopieren:
Zuvor sollten die beiden vorhandenen dlls im system32-Ordner gesichert werden.
Server neu starten, fertig.
%WinDir% ist das Windows-Verzeichnis - meist C:\WINDOWS oder C:\WINNT
Martin Dunst, 2.11.2007
Zuletzt geändert am 22.5.2015
25.11.2007, 18:21
jeah toll^^
www.dornauer.at.tt
ps bin tiroler.
11.6.2008, 09:32
Wow! Geil!
Genau was ich brauchte!
Vielen Dank an den Autor.
26.6.2009, 10:51
cool - genau das hab ich gesucht und es funktioniert !!! danke!!
23.7.2009, 20:41
Ausgezeichnet! Genau was ich gesucht hab! Sehr gut!
Danke schön!
7.10.2009, 00:13
Kurz, bündig, funktioniert! Vielen Dank :o))
Gruß, Jörg
15.10.2009, 15:18
Funktioniert immer noch. Endlich mal jemand, der weiss wie's geht, und das auch noch kurz und bündig beschreiben kann. Einfach "oldschool" (und das ist 'ne Auszeichnung!)
Gruss her035
24.1.2010, 16:39
Absolut perfekt! Vielen Dank für diese kurze, einfache Anleitung, die perfekt funktioniert!
8.4.2010, 12:22
Warum kompliziert wenn's auch einfach geht?
Vielen Dank.
23.4.2010, 08:43
Sehr Gut!!
Vielen Dank
25.4.2010, 10:48
Funktionierte leider nicht unter Subversion
18.5.2010, 04:34
ganz großes THX ... funzt super ... und das nicht nur unter localhost als test-umgebung sondern auch im community einsatz ...
24.9.2010, 19:50
Boah super TuT,
vielen dank!!!
19.10.2010, 20:04
TipTop...!
23.11.2010, 10:40
Top, funktioniert ;)
27.12.2010, 14:41
Tolles tutorial, aber ich habe irgendwie ein Problem beim Aufruf:
Firefox:
xx.xxx.xxx.xxx verwendet ein ungültiges Sicherheitszertifikat.
Dem Zertifikat wird nicht vertraut, weil es vom Aussteller selbst signiert wurde.
Es wurden keine Server-Namen gefunden, für die dieses Zertifikat gültig ist.
(Fehlercode: sec_error_untrusted_issuer)
Ist das normal?
27.12.2010, 19:02
Das ist normal.
Die Fehlermeldung sagt das, was wir bereits wissen - nämlich, dass das Zertifikat nicht von einer Certificate Authority signiert wurde.
24.2.2011, 23:03
es leebt! vielen dank!!!
24.3.2011, 21:14
Spitznemäßig hat mir echt geholden danke schön
15.8.2012, 13:25
Ich weiß das dass Tutorial schon älter ist... aber kannst du mir vlt trotzdem beantworten was es mit dem localhost.crt.key auf sich hat? (der wird bei mir zusätzlich verlangt O.o)
15.8.2012, 13:42
Nimm einfach das localhost.crt kopiers und bennenne es in localhost.crt.key um... hat bei mir funktioniert!
23.11.2012, 15:06
Sehr schöne Anleitung.
Hätte ich nicht nur an den zentralen FW gedacht sondern auch an den lokalen wäre es noch schneller gegangen.
Sever 2008. Apache 2.2.11 Openssl 0.9.8i