apache2 Commande 'SSLEngine' invalide

108

Lorsque je redémarre httpd, j'obtiens l'erreur suivante. Qu'est-ce que je rate?

[root@localhost ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: Syntax error on line 22 of /etc/httpd/conf.d/sites.conf:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration

J'ai installé mod_ssl en utilisant yum install mod_ssl openssh

Package 1:mod_ssl-2.2.15-15.el6.centos.x86_64 already installed and latest version
Package openssh-5.3p1-70.el6_2.2.x86_64 already installed and latest version

Mon sites.conf ressemble à ceci

<VirtualHost *:80>
#    ServerName shop.itmanx.com
    ServerAdmin [email protected]

    DocumentRoot /var/www/html/magento
    <Directory /var/www/html>
        Options -Indexes
        AllowOverride All
    </Directory>

    ErrorLog logs/shop-error.log
    CustomLog logs/shop-access.log
</VirtualHost>

<VirtualHost *:443>
    ServerName secure.itmanx.com
    ServerAdmin [email protected]

    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/secure.itmanx.com/server.crt
    SSLCertificateKeyFile /etc/httpd/ssl/secure.itmanx.com/server.key
    SSLCertificateChainFile /etc/httpd/ssl/secure.itmanx.com/chain.crt

    DocumentRoot /var/www/html/magento
    <Directory /var/www/html>
        Options -Indexes
        AllowOverride All
    </Directory>

    ErrorLog logs/shop-ssl-error.log
    CustomLog logs/shop-ssl-access.log    
</VirtualHost>
Christian
la source

Réponses:

52

Probablement vous ne chargez pas le module SSL. Vous devriez avoir une directive LoadModule quelque part dans vos fichiers de configuration Apache.

Quelque chose comme:

LoadModule ssl_module /usr/lib64/apache2-prefork/mod_ssl.so

Généralement, le modèle de configuration d’Apache a (sur toute distribution) un fichier appelé (quelque chose comme) loadmodule.confdans lequel vous devriez trouver une LoadModuledirective pour chaque module que vous chargez dans Apache au démarrage du serveur.

Andcoz
la source
7
En outre, il est nécessaire d'installer mod_ssl. Sur RHEL et CentOS, cela se fait avec yum install mod_ssl.
Benedikt Köppel
2
Pour Apache 2.4, il faut installer mod24_ssl
Alejandro Pablo Tkachuk
1
sudo a2enmod ssl
thoni56
138

Sur de nombreux systèmes (Ubuntu, Suse, Debian, ...), exécutez la commande suivante pour activer le mod SSL d'Apache:

sudo a2enmod ssl

Page de manuel de a2enmod

Stéphane
la source
4
Ceci est spécifique à Debian mais la question n’est pas étiquetée Debian.
Jordanie
1
a2enmod est-il vraiment spécifique à Debian? Ou vous plaignez-vous de l'utilisation de sudo?
Stéphane
4
a2enmodest spécifique à Debian. Il gère les liens symboliques pour la manière dont Debian divise les configurations Apache. Votre commande est l'équivalent deln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm
1
a2enmodest également utilisé sur suse.
dr0i
20

Sur CentOS 7, l’installation du package "mod_ssl" et le redémarrage du serveur Apache ont fonctionné pour moi:

yum install mod_ssl
systemctl restart httpd
Falco Preiseni
la source
17

solution httpd24:

yum install mod24_ssl
dtbarne
la source
1
Cela ne fonctionne probablement que pour (certaines) distributions basées sur RPM. Laquelle? Pourquoi ça règle le problème?
vonbrand
Travaillé sur Amazon Linux et Centos pour moi. C'est spécifiquement pour Apache 2.4.
dtbarne
2

Sur Ubntu 18.04 bionique.

sudo a2enmod ssl; sudo service apache2 redémarrer

potiron_cat
la source
1
La deuxième réponse recommande déjà d’ sudo a2enmod ssl;ajouter un commentaire pour redémarrer le serveur après le changement.
Isaac