Apache2 Comando no válido 'SSLEngine'

108

Cuando reinicio httpd, aparece el siguiente error. ¿Qué me estoy perdiendo?

[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

He instalado mod_ssl usando 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

Mi sites.conf se ve así

<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>
cristiano
fuente

Respuestas:

52

Probablemente no cargue el módulo ssl. Debería tener una directiva LoadModule en algún lugar de sus archivos de configuración de apache.

Algo como:

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

Por lo general, la plantilla de configuración de Apache tiene (en cualquier distribución) un archivo llamado (algo así como) loadmodule.confen el que debe encontrar una LoadModuledirectiva para cada módulo que cargue en Apache al inicio del servidor.

andcoz
fuente
77
Además, es necesario instalarlo mod_ssl. En RHEL y CentOS, esto se hace con yum install mod_ssl.
Benedikt Köppel
2
Para Apache 2.4 es yum install mod24_ssl
Alejandro Pablo Tkachuk
1
sudo a2enmod ssl
thoni56
137

En muchos sistemas (Ubuntu, Suse, Debian, ...) ejecute el siguiente comando para habilitar el mod SSL de Apache:

sudo a2enmod ssl

Página del manual de a2enmod

Stéphane
fuente
44
Esto es específico de Debian pero la pregunta no está etiquetada como Debian.
jordanm
1
¿es a2enmod realmente específico de Debian? ¿O te quejas del uso de sudo?
Stéphane
44
a2enmodes específico de Debian Administra los enlaces simbólicos por la forma en que Debian divide las configuraciones de apache. Su comando es el equivalente deln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm
1
a2enmodtambién se usa en suse.
dr0i
20

En CentOS 7, instalar el paquete "mod_ssl" y reiniciar el servidor apache funcionó para mí:

yum install mod_ssl
systemctl restart httpd
Falco Preiseni
fuente
17

Solución httpd24:

yum install mod24_ssl
dtbarne
fuente
1
Eso presumiblemente funciona solo para (algunas) distribuciones basadas en RPM. ¿Cúal? ¿Por qué soluciona el problema?
vonbrand
Trabajé en Amazon Linux y Centos para mí. Es específicamente para Apache 2.4.
dtbarne
2

En Ubntu 18.04 biónico.

sudo a2enmod ssl; servicio sudo apache2 reiniciar

calabaza_cat
fuente
1
La segunda respuesta ya recomienda sudo a2enmod ssl;Tal vez debería agregar un comentario allí para reiniciar el servidor después del cambio.
Isaac