Dieser Artikel enthält Schritt-für-Schritt-Anleitungen zur Installation von Apache 2 mit mod_ssl.
Ich ziehe es vor, Apache von der Quelle zu installieren, da es mir mehr Flexibilität gibt, welche Module ich genau aktivieren oder deaktivieren möchte, und ich kann Patches auch unmittelbar nach der Veröffentlichung durch die Apache Foundation aktualisieren oder anwenden.
1. Laden Sie Apache herunter
Laden Sie Apache von httpd.apache.org herunter. Die aktuelle stabile Version ist 2.2.17.
Sobald Sie die direkte URL zum Herunterladen der neuesten stabilen Version von Apache erhalten haben, verwenden Sie wget wie unten gezeigt, um sie direkt auf Ihren Server herunterzuladen.
cd ~ wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz tar xvfz httpd-2.2.17.tar.gz
2. Installieren Sie Apache mit SSL/TLS
Zeigen Sie alle verfügbaren Apache-Installations- und Konfigurationsoptionen wie unten gezeigt an.
cd httpd-2.2.17 ./configure --help
Um ein Apache-Modul zu installieren, würden Sie normalerweise sagen –enable-{module-name}. Um beispielsweise SSL mit Apache zu installieren, ist es –enable-ssl. Um das LDAP-Modul zu installieren, ist es –enable-ldap.
Um ein Standardmodul zu deinstallieren, das mit Apache geliefert wird, würden Sie normalerweise sagen –disable-{module-name}. Um beispielsweise die grundlegende Authentifizierung in Apache zu deaktivieren, ist es –disable-auth-basic
In diesem Beispiel installieren wir Apache mit allen Standardmodulen, mit Hinzufügen von –enable-ssl (um mod_ssl für die SSL-Unterstützung zu installieren) und –enable-so, was hilft, Module in Apache während der Laufzeit über Dynamic Shared zu laden Object (DSO)-Mechanismus, anstatt eine Neukompilierung zu erfordern.
./configure --enable-ssl --enable-so make make install
Hinweis :Standardmäßig installiert das obige Apache unter /usr/local/apache2. Wenn Sie diesen Speicherort ändern möchten, verwenden Sie die Option –prefix in ./configure.
3. Aktivieren Sie SSL in httpd.conf
Die Apache-Konfigurationsdatei httpd.conf befindet sich unter /usr/local/apache2/conf.
Entkommentieren Sie die Include-Zeile httpd-ssl.conf in der Datei /usr/local/apache2/conf/httpd.conf.
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-ssl.conf
Sehen Sie sich httpd-ssl.conf an, um alle Standard-SSL-Konfigurationen zu überprüfen. In den meisten Fällen müssen Sie in dieser Datei nichts ändern.
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
Das SSL-Zertifikat und der Schlüssel sind erforderlich, bevor wir den Apache starten. Die in httpd-ssl.conf erwähnten Dateien server.crt und server.key müssen erstellt werden, bevor wir fortfahren.
# egrep 'server.crt|server.key' httpd-ssl.conf SSLCertificateFile "/usr/local/apache2/conf/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4. Server.crt- und server.key-Datei erstellen
Generieren Sie zuerst den server.key mit openssl.
cd ~ openssl genrsa -des3 -out server.key 1024
Der obige Befehl fragt nach dem Passwort. Merken Sie sich dieses Passwort unbedingt. Sie benötigen dies, wenn Sie später Ihren Apache starten.
Wenn Sie kein Passwort angeben, erhalten Sie die folgende Fehlermeldung.
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
Generieren Sie als Nächstes eine Zertifikatsanforderungsdatei (server.csr) mithilfe der obigen server.key-Datei.
openssl req -new -key server.key -out server.csr
Erstellen Sie abschließend ein selbstsigniertes SSL-Zertifikat (server.crt) mithilfe der obigen server.key- und server.csr-Datei.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Weitere Einzelheiten finden Sie unter:So generieren Sie SSL-Schlüssel, CSR und selbstsigniertes Zertifikat für Apache
5. Kopieren Sie server.key und server.crt
Kopieren Sie die Dateien server.key und server.crt in das entsprechende Apache-Konfigurationsverzeichnis.
cd ~ cp server.key /usr/local/apache2/conf/ cp server.crt /usr/local/apache2/conf/
6. Starten Sie den Apache und überprüfen Sie SSL
Starten Sie den Apache wie unten gezeigt.
/usr/local/apache2/bin/apachectl start
Dies fordert Sie auf, das Passwort für Ihren privaten Schlüssel einzugeben.
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful.
Standardmäßig läuft Apache SSL auf Port 443. Öffnen Sie einen Webbrowser und vergewissern Sie sich, dass Sie über https://{Ihre-IP-Adresse}
auf Ihren Apache zugreifen können