web-dev-qa-db-fra.com

Comment installer mod_ssl pour Apache

J'ai installé Apache httpd il y a quelque temps et j'y ai récemment repensé pour essayer de configurer SSL et de le faire servir à plusieurs serveurs Tomcat.

Pour le moment, j'ai deux instances Tomcat totalement distinctes, desservant des versions légèrement différentes (une pour Dev et une pour Demo, par exemple) de mon application Web sur deux ports différents. mydomain.com:8081 et mydomain.com:8082

En janvier, j’ai utilisé avec succès mod_jk pour que httpd serve ces mêmes instances de Tomcat à http://www.mydomain.com:8090/dev et http://www.mydomain.com:8090/demo (8090 parce que j’ai une autre application fonctionnant sur 8080 via Jetty à ce stade). en utilisant le code suivant dans httpd.conf;

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>

Ce que je n'essaie pas de faire, c'est d'activer SSL

J'ai ajouté ce qui suit à httpd.conf

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>

Mais lorsque j'essaie de redémarrer Apache avec "apachectl restart" (oui, après avoir arrêté cette autre application que j'ai mentionnée, de sorte qu'elle ne joue pas avec les connexions https), j'obtiens continuellement l'erreur;

"Commande non valide 'SSLEngine', peut-être mal orthographiée ou définie par un module non inclus dans la configuration du serveur. Httpd pas en cours d'exécution, tentative de démarrage"

J'ai regardé dans le répertoire httpd/modules et en effet il n'y a aucun mod_ssl, seulement mod_jk.so et httpd.exp.

J'ai essayé d'utiliser yum pour installer mod_ssl, il est déjà installé. En effet, je peux localiser mod_ssl.so dans/usr/lib/httpd/modules mais ce n’est PAS le chemin d’installation de httpd qui est/opt/httpd et en fait/usr/lib/httpd ne contient que les modules dir .

Quelqu'un peut-il me dire comment installer correctement mod_ssl pour mon emplacement d'installation de httpd afin que je puisse surmonter cette erreur:

6
Nick Foote

La ligne de chargement de mod_ssl doit être ajoutée à votre configuration Apache quelque part - sur Debian/Ubuntu, vous feriez simplement Sudo a2enmod ssl, mais je ne connais pas l'équivalent RedHat/Fedora/CentOS. Vous avez besoin d'une ligne comme:

LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
4
Mike Scott