web-dev-qa-db-fra.com

Comment installer mod_ssl pour Apache httpd?

Ok

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

Pour le moment, j'ai deux instances Tomcat complètement distinctes, desservant des versions légèrement différentes (une pour dev et une pour démo, par exemple) de mon application Web sur deux ports différents:

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

En janvier, j’ai utilisé avec succès mod_jk pour que httpd serve les mêmes instances de Tomcat avec http://www.example.com:8090/dev et http://www.example.com:8090/demo (8090 car 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 'SSLEngine' non valide, peut-être mal orthographiée ou définie par un module non inclus dans la configuration du serveur. httpd ne fonctionne pas, essaie de démarrer

J'ai regardé dans le répertoire httpd/modules et en effet, il n'y a pas de 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 le répertoire modules.

Quelqu'un peut-il me dire comment installer mod_ssl correctement pour l'emplacement d'installation httpd afin que je puisse contourner cette erreur?

57
Nick Foote

D'autres commandes LoadModule font-elles référence à des modules dans le dossier /usr/lib/httpd/modules? Si c'est le cas, vous devriez juste ajouter LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so à votre fichier de configuration.

Sinon, vous voudrez peut-être copier le fichier mod_ssl.so dans le répertoire à partir duquel les autres modules sont chargés et y faire référence.

32
Robert

J'ai constaté que je devais activer le module SSL dans Apache (préfixez évidemment les commandes avec Sudo si vous n'exécutez pas en tant que root):

a2enmod ssl

puis redémarrez Apache:

/etc/init.d/Apache2 restart

Plus de détails sur SSL dans Apache pour Ubuntu/Debian ici .

82
SharpC

Essayez d’installer mod_ssl en utilisant la commande suivante:

yum install mod_ssl

puis rechargez et redémarrez votre serveur Apache en utilisant les commandes suivantes:

systemctl reload httpd.service
systemctl restart httpd.service

Cela devrait fonctionner dans la plupart des cas.

15
veer7

J'ai utilisé 

Sudo yum install mod24_ssl

et travaille dans mon AMI Amazon linux

0
Oscar David