Apache mit OpenSSL einrichten unter Windows
Hallo!
Möchte bei meinen Windows 2003 Webserver Apache 2.2 so einrichten, dass Port 443 auf https-Aufrufe lauscht.
Habe bisher Folgendes in der httpd.conf stehen:
Listen 443
LoadModule ssl_module modules/mod_ssl.so
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile conf/server.crt
SSLCertificateKeyFile conf/server.key
</VirtualHost>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache dbm:c:/WWW/Aapache2.2/logs
</IfModule>
Aber Apache startet nun gar nicht mehr.
Könnte mir da bitte jemand weiterhelfen?
Gruß,
Unripapaya^^
Möchte bei meinen Windows 2003 Webserver Apache 2.2 so einrichten, dass Port 443 auf https-Aufrufe lauscht.
Habe bisher Folgendes in der httpd.conf stehen:
Listen 443
LoadModule ssl_module modules/mod_ssl.so
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile conf/server.crt
SSLCertificateKeyFile conf/server.key
</VirtualHost>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache dbm:c:/WWW/Aapache2.2/logs
</IfModule>
Aber Apache startet nun gar nicht mehr.
Könnte mir da bitte jemand weiterhelfen?
Gruß,
Unripapaya^^
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130952
Url: https://administrator.de/contentid/130952
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
also PHP hat damit gar nichts am Hut. Das sind 2 trennete Welten!
Fangen wir Schritt für Schritt an:
Ich habe im Verzeichni e:\apache\conf\ssl.crt\ ein gültiges Zertifikat liegen. Mit einme Doppelklick kannst du die Eigenschaften aufrufen. Gleich auf der Anfangsseite steht Gültig von-bis. Im Verzeichnis ..\ssl.key liegt das Gegenstück.
Nun öffenst dudie Datei "e:\apache\conf\httpd.conf" und suchst nach "LoadModule ssl_module modules/mod_ssl.so". Dieser Zeile darf keine Raute (#) voranstellt sein. Falls doch, die "#" löschen. Danach vergewissere dich, dass unter e:\apache\modules\ die Datei "mod_ssl.so" liegt. Ohne die geht nichts....Danach suchst du folgende Zeilen:
So muss das bei dir auch aussehen....
Dann hast du unter e:\apache\conf\extra\ die Datei "httpd-ssl.conf" liegen. Diese sieht bei mir so aus:
Bitte vorher die Orginalkonfigurationsdatei wegkopieren. Wenn du den Code übernimmst, nicht vergessen die Pfade anzupassen und immer "/" verwenden statt "\". So funktioniert es bei mir einwandfrei.
Falls du Probleme hast, die 3 benötigen SSL-Dateien zu erstellen hilft dir dieses Script von Apachefriend evtl. weiter:
Wenn du per HTTP eine Testseite aufrufen kannst, sollte HTTPS nun auch gehen. Wichtig: Unbedingt nach den Änderungen den Server neustarten.
Grüße,
Dani
also PHP hat damit gar nichts am Hut. Das sind 2 trennete Welten!
Fangen wir Schritt für Schritt an:
Ich habe im Verzeichni e:\apache\conf\ssl.crt\ ein gültiges Zertifikat liegen. Mit einme Doppelklick kannst du die Eigenschaften aufrufen. Gleich auf der Anfangsseite steht Gültig von-bis. Im Verzeichnis ..\ssl.key liegt das Gegenstück.
Nun öffenst dudie Datei "e:\apache\conf\httpd.conf" und suchst nach "LoadModule ssl_module modules/mod_ssl.so". Dieser Zeile darf keine Raute (#) voranstellt sein. Falls doch, die "#" löschen. Danach vergewissere dich, dass unter e:\apache\modules\ die Datei "mod_ssl.so" liegt. Ohne die geht nichts....Danach suchst du folgende Zeilen:
# Secure (SSL/TLS) connections
Include "conf/extra/httpd-ssl.conf"
#
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLSessionCache "shmcb:logs/ssl.scache(512000)"
SSLSessionCacheTimeout 300
</IfModule>
Dann hast du unter e:\apache\conf\extra\ die Datei "httpd-ssl.conf" liegen. Diese sieht bei mir so aus:
<IfModule ssl_module>
Listen 443
<IfModule mime_module>
#
# Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfModule>
SSLPassPhraseDialog builtin
SSLMutex default
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "E:/htdocs"
ServerName localhost:443
ServerAdmin webmaster@localhost
ErrorLog "logs/error.log"
<IfModule log_config_module>
CustomLog "logs/access.log" combined
</IfModule>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>
</IfModule>
Falls du Probleme hast, die 3 benötigen SSL-Dateien zu erstellen hilft dir dieses Script von Apachefriend evtl. weiter:
:: Make a selfsigend certificate with OpenSSL
::
:: author Carsten Wiedmann <carsten_sttgt@gmx.de>
:: copyright 2009 Carsten Wiedmann
:: license http://www.freebsd.org/copyright/freebsd-license.html FreeBSD License
:: version 1.0
@ECHO OFF & SETLOCAL
PUSHD %~dp0
CD ..
SET "OPENSSL_CONF=%CD%\apache\bin\openssl.cnf"
SET "OPENSSL_CONF=%OPENSSL_CONF:\=/%"
IF NOT EXIST apache\conf\ssl.crt (
MKDIR apache\conf\ssl.crt
)
IF NOT EXIST apache\conf\ssl.csr (
MKDIR apache\conf\ssl.csr
)
IF NOT EXIST apache\conf\ssl.key (
MKDIR apache\conf\ssl.key
)
apache\bin\openssl req -new -out server.csr
apache\bin\openssl rsa -in privkey.pem -out server.key
apache\bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
DEL .rnd >nul 2>&1
DEL tmp\.rnd >nul 2>&1
DEL .oid >nul 2>&1
DEL tmp\.oid >nul 2>&1
DEL privkey.pem >nul 2>&1
MOVE /Y server.crt apache\conf\ssl.crt\
MOVE /Y server.csr apache\conf\ssl.csr\
MOVE /y server.key apache\conf\ssl.key\
ECHO.
ECHO -----
ECHO Das Zertifikat wurde erstellt.
ECHO The certificate was provided.
ECHO.
POPD
PAUSE
Grüße,
Dani