Dieses Dokument beschreibt die nötigen Schritte, um SSL auf einem Apache Webserver 2.0.42 in Windows 2000 zu installieren. Es gibt viele Anleitungen im WWW, aber ich habe festgestellt, dass sie entweder nicht alle Informationen oder die Information gar verdreht haben, sodass es für einen unerfahrenen Webmaster sehr schwierig wird, das richtige zu tun. Dieses Dokument ist deswegen redundant, aber ich hoffe dass es neuen Webmastern bei ihren ersten SSL-Schritten helfen kann. Ich gebe die Links zu anderen Dokumenten im WWW wenn immer möglich.
Achtung: Ich habe die Apache Version 2.0.42 und OpenSSL Version 0.9.6g verwendet. Die Dateien, die hier verwendet werden, arbeiten vermutlich nicht mit späteren Versionen von Apache zusammen. Ganz bestimmt funktionieren sie aber nicht mit früheren Versionen!
23.10.2002:
Jetzt gibt es die Dateien auch fü Apache 2.0.43. Einfach nach http://hunter.campbus.com gehen und die richtige Version runterladen. Dann den Schritten hier folgen.
11.04.2003:
Auf der Seite http://hunter.campbus.com gibt es jetzt die Version 2.0.45 mit OpenSSL 0.9.7a. Ich habe festgestellt, dass in den Verzeichnissen bin, lib und modules einiges anders ist und ein neues Verzeichnis include enthält - wer diese Version installiert (empfohlen), einfach das ganze jeweilige Verzeichnis entpacken und kopieren. Seit der Version 2.0.42 sind die Module kompativel, also entstehen keine Probleme.
Bitte die folgenden Anweisungen sehr sorgfältig lesen.
(man kann sie genausogut jetzt gleich runterladen)
Rechter Klick -> Ziel speichern als...
) (ca. 10 Kbyte)Apache-Dir: Das Verzeichnis, in dem Ihr Apache
installiert ist, z. B.
"C:\Programme\Apache Group\Apache2".
Archiv: Das Archiv mit Apache und OpenSSL, das man
unter benötigte Dateien heruntergeladen hat.
WebRoot: Das Verzeichnis in dem Sie Ihre Webseiten
unterbringen.
Von http://www.raibledesigns.com/tomcat/ssl-howto.html.
Apache sollte nicht laufen.
Ändern Sie wenigstens die folgenden Parameter in der Datei "Apache-Dir/conf/httpd.conf":
www.my-server.dom
in Ihrem Domain Namen!Port 80
nach # Port 80
(Auskommentieren; Port wird
nicht benötigt (ausserdem veraltet in 2.0.42), Listen
überschreibt ihn später sowieso.)Listen 80
DocumentRoot
und die zugehörigen
<Directory some-dir>
in Ihre WebRootInstallieren/starten Sie den Apache Dienst. Überprüfen Sie dass alles funktioniert, bevor Sie mit der SSL Installation fortfahren. So werden mögliche Fehler vermieden.
Von http://www.raibledesigns.com/tomcat/ssl-howto.html.
Aus dem "bin" Verzeichnis im Archiv, kopieren Sie die Dateien "ssleay32.dll" und "libeay32.dll" nach "WINNT/system32" auf Ihrem Webserver. Kopieren Sie die Datei "openssl.exe" im gleichen Verzeichnis im Archiv nach "Apache-Dir\bin" auf Ihrem Webserver.
Kopieren Sie die Konfigurationsdatei für OpenSSL nach "Apache-Dir\bin" auf Ihrem Webserver.
Von http://tud.at/programm/apache-ssl-win32-howto.php3.
Öffnen Sie ein DOS-Fenster auf Ihrem Webserver und wechseln Sie in das Verzeichnis "Apache-Dir\bin".
Common Name (eg, your websites domain name)
" gefragt werden,
geben Sie Ihren exakten Domain Namen an (z. B. www.my-server.dom). Das Zertifikat
gehört zu diesem Server und die Browser würden sich beschweren wenn
die Namen nicht zusammenpassen.-days 365
erhöhen wenn Sie dies nicht wünschen.Falls Sie Benutzer mit dem MS Internet Explorer 4.x haben und wollen, dass sie
das Zertifikat in ihren Zertifikatordner installieren können, müssen Sie eine
DER-Version Ihres Zertifikats erstellen. Geben Sie dazu ein:
"openssl x509 -in my-server.cert -out my-server.der.crt
-outform DER".
Erstellen Sie das Verzeichnis "Apache-Dir/conf/ssl" und verschieben Sie "my-server.key" und "my-server.cert" danach.
Von http://www.raibledesigns.com/tomcat/ssl-howto.html.
Halten Sie den Apache Dienst an.
Kopieren Sie die Datei "mod_ssl.so" aus dem Verzeichnis "modules" im Archiv nach "Apache-Dir\modules" auf Ihrem Webserver.
Finden Sie die LoadModule
Direktive in Ihrer "httpd.conf"
Datei und fügen Sie die folgende hinzu:
LoadModule ssl_module modules/mod_ssl.so
Sollte die Zeile bereits auskommentiert vorhanden sein, genügt es, den Kommentar zu entfernen.
In einigen Versionen kann es nötig sein,
AddModule mod_ssl.c
nach den anderen AddModule Zeilen hinzuzufügen (nicht nötig für 2.0.42 und 2.0.43).
Kopieren Sie "ssl.conf" aus dem Archiv nach "Apache-Dir\conf". Ändern Sie folgendes:
DocumentRoot
, ServerAdmin
und
ServerName
.SSLCertificateFile
(wenn Sie dem Beispiel
gefolgt sind, ändern Sie ihn in
conf/ssl/my-server.cert
um).SSLCertificateKeyFile
(wenn Sie dem Beispiel
gefolgt sind, ändern Sie ihn in
conf/ssl/my-server.key
um)."ssl.conf" sollte mindestens die folgenden Zeilen beinhalten (überprüfen Sie die Namen der Zertifikate):
Listen 443 # see http://www.modssl.org/docs/2.4/ssl_reference.html for more info SSLMutex sem SSLRandomSeed startup builtin SSLSessionCache none ErrorLog logs/ssl.log LogLevel info # You can later change "info" to "warn" if everything is OK <VirtualHost www.my-server.dom:443> SSLEngine On SSLCertificateFile conf/ssl/my-server.cert SSLCertificateKeyFile conf/ssl/my-server.key </VirtualHost>
Sie müssen die -D SSL Option verwenden, wenn die IfDefine
Directive in der Konfigurationsdatei spezifiziert ist, um Apache mit SSL zu starten.
Am besten kommentieren Sie die IfDefine
Start- und Endetags in
"ssl.conf" aus.
Starten Sie den Server, dieses mal vom DOS-Fenster aus, sodass Sie die Fehlermeldungen gut sehen können (geben Sie "apache -k start" ein). Falls alles OK ist, können Sie (wahlweise) "apache -k stop" eingeben und Apache als Dienst starten.
Falls es nicht funktioniert, sollte Apache aussagekräftige Fehlermeldungen
auf den Bildschirm und/oder in die Dateien
"error.log" und "SSL.log" im Verzeichnis
"Apache-Dir/logs" schreiben.
Falls es nicht funktioniert und Sie wissen nicht, was nicht stimmt, versuchen Sie,
alle LogLevels auf die höchste Stufe zu setzen und studieren Sie die Dateien.
Die Logs sind sehr hilfreich.
Versuchen Sie über https://www.my-server.dom:443/
auf Ihren
Server zuzugreifen. Sie sollten eine Meldung zur Installation des Zertifikates
erhalten und dann auf Ihrer Seite landen.
make_sock
sich nicht an
den Port 443 binden kann, sollten Sie überprüfen dass keine andere
Anwendung diesen Port offen hat.
Geben Sie "netstat -na" im DOS-Fenster ein und suchen Sie
nach dem Port.Listen 443
.
Es dürfen nicht mehr als eine Zeile auftauchen!VirtualHost
sich überschneiden, haben Sie die gleichen
VirtualHost
zwei- oder mehrmals definiert. Überprüfen
Sie Ihre Konfigurationsdateien.
Wenn Sie zwei VirtualHost
für die gleiche IP
Adresse definieren, muss wenigstens der Port anders sein.VirtualHost
Direktive.<VirtualHost address:443> ... </VirtualHost>Sie können nicht
_default_
verwenden.
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Group\Apache\X.Y.Z
auf die
richtige Versionsnummer zu ändern, falls Sie die ausführbare Datei
"apache.exe" aus "modssl.org/contrib" verwenden und diese
nicht die gleiche Version wie die installierte ist. Es scheint aber mit aktuellen
Versionen nicht nötig zu sein.[error] VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined resultsWenn Sie SSL mit mehreren Virtual Hosts verwenden, müssen Sie eine IP-basierte Konfiguration verwenden. Das ist weil SSL einen speziellen Port (443) benötigt, und namensbasierte alle Ports (*) spezifizieren. Der Fehler taucht auf, wenn Sie IP- und namensbasierte Virtual Hosts mischen.
Falls Sie Probleme bei der Installation von APache haben, sehen Sie auf der Apache Webswite nach.
Bevor Sie uns eine Email zusenden, suchen Sie in den folgenden Ressourcen zuerst (weil ich das auch tat)! Schon viele Leute haben dies versucht, und auch Hilfe erhalten.
©2002 Op3racional. Author Sabine Dinis Blochberger. Suport email suporte@op3racional.de