it-swarm.com.de

Wie installiere ich mod_ssl für Apache httpd?

Ok

Also habe ich vor einiger Zeit Apache httpd installiert und bin kürzlich dazu gekommen, um SSL einzurichten und mehrere Tomcat-Server zu bedienen.

Im Moment habe ich zwei völlig separate Tomcat-Instanzen, die bis zu leicht unterschiedlichen Versionen (eine für dev und eine für Demo) meine Web-App für zwei verschiedene Ports bereitstellen:

  • example.com:8081
  • example.com:8082

Ich habe erfolgreich (zurück im Januar) mod_jk verwendet, um httpd zu erhalten, um dieselben Tomcat-Instanzen an http://www.example.com:8090/dev und http://www.example.com:8090/demo zu liefern (8090 cos. Ich habe zu diesem Zeitpunkt eine andere App auf 8080 über Jetty ausgeführt), die folgenden Code in httpd.conf verwendet:

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

<VirtualHost *:8090>
    JkMount /devd* tomcatDev
    JkMount /demo* tomcatDemo
</VirtualHost>

Was ich nicht versuche, ist SSL zu aktivieren.

Ich habe folgendes zu httpd.conf hinzugefügt:

Listen 443
<VirtualHost _default_:443>
    JkMount /dev* tomcatDev
    JkMount /demo* tomcatDemo
    SSLEngine on
    SSLCertificateFile "/opt/httpd/conf/localhost.crt"
    SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>

Aber wenn ich versuche, Apache mit apachectl restart neu zu starten (ja, nachdem ich die andere App, die ich erwähnt habe, heruntergefahren hat, damit sie nicht mit https-Verbindungen spielt), erhalte ich ständig den Fehler:

Ungültiger Befehl 'SSLEngine', möglicherweise falsch geschrieben oder durch ein Modul definiert, das nicht in der Serverkonfiguration enthalten ist. httpd läuft nicht und versucht zu starten

Ich habe im httpd/modules-Verzeichnis nachgesehen und tatsächlich gibt es keinen mod_ssl, nur mod_jk.so und httpd.exp.

Ich habe versucht, mit yum mod_ssl zu installieren, da es bereits installiert ist. Tatsächlich kann ich mod_ssl.so in /usr/lib/httpd/modules finden, aber dies ist NICHT der Pfad zu dem, wo ich httpd installiert habe, nämlich /opt/httpd. Tatsächlich enthält /usr/lib/httpd nur das modules dir.

Kann mir jemand sagen, wie ich mod_ssl ordnungsgemäß für meinen Installationsort von httpd installiert, damit ich an diesem Fehler vorbeikommen kann?

57
Nick Foote

Gibt es andere LoadModule-Befehle, die auf Module im /usr/lib/httpd/modules-Ordner verweisen? In diesem Fall sollten Sie LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so zu Ihrer conf-Datei hinzufügen.

Andernfalls möchten Sie die Datei mod_ssl.so in das Verzeichnis kopieren, aus dem die anderen Module geladen werden, und dort darauf verweisen.

32
Robert

Ich habe festgestellt, dass ich das SSL-Modul in Apache aktivieren muss (natürlich Präfixbefehle mit Sudo, wenn Sie nicht als root ausgeführt werden):

a2enmod ssl

starten Sie dann Apache neu:

/etc/init.d/Apache2 restart

Weitere Details zu SSL in Apache für Ubuntu/Debian hier .

82
SharpC

Installieren Sie mod_ssl mit folgendem Befehl:

yum install mod_ssl

laden Sie anschließend den Apache-Server mit den folgenden Befehlen neu und starten Sie ihn erneut:

systemctl reload httpd.service
systemctl restart httpd.service

Dies sollte in den meisten Fällen funktionieren.

15
veer7

Ich benutzte 

Sudo yum install mod24_ssl

und arbeitet in meinem Amazon Linux AMI

0
Oscar David