apache2 Comando non valido 'SSLEngine'


108

Quando riavvio httpd, ottengo il seguente errore. Cosa mi sto perdendo?

[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

Ho installato 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

Il mio sites.conf assomiglia a questo

<VirtualHost *:80>
#    ServerName shop.itmanx.com
    ServerAdmin webmaster@itmanx.com

    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 webmaster@itmanx.com

    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>

Risposte:


52

Probabilmente non si carica il modulo ssl. Dovresti avere una direttiva LoadModule da qualche parte nei tuoi file di configurazione di Apache.

Qualcosa di simile a:

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

Di solito il modello di configurazione di apache ha (su qualsiasi distribuzione) un file chiamato (qualcosa del genere) loadmodule.confin cui dovresti trovare una LoadModuledirettiva per ogni modulo che carichi in apache all'avvio del server.


7
Inoltre, è necessario installare mod_ssl. Su RHEL e CentOS, questo viene fatto yum install mod_ssl.
Benedikt Köppel,

2
Per Apache 2.4 è yum installare mod24_ssl
Alejandro Pablo Tkachuk

sudo a2enmod ssl
thoni56

137

Su molti sistemi (Ubuntu, Suse, Debian, ...) eseguire il comando seguente per abilitare la mod SSL di Apache:

sudo a2enmod ssl

Pagina man di a2enmod


4
Questo è specifico per Debian ma la domanda non è taggata Debian.
Giordania,

1
a2enmod è davvero specifico di Debian? O ti lamenti dell'uso di sudo?
Stéphane,

4
a2enmodè specifico di Debian. Gestisce i collegamenti simbolici per il modo in cui Debian divide le configurazioni di Apache. Il tuo comando è l'equivalente diln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm

1
a2enmodviene utilizzato anche su suse.
dr0i,

20

Su CentOS 7 l'installazione del pacchetto "mod_ssl" e il riavvio del server apache ha funzionato per me:

yum install mod_ssl
systemctl restart httpd

17

soluzione httpd24:

yum install mod24_ssl

1
Probabilmente funziona solo per (alcune) distribuzioni basate su RPM. Quale? Perché risolve il problema?
vonbrand,

Ho lavorato su Amazon Linux e Centos per me. È specificamente per Apache 2.4.
dtbarne,

2

Su Ubntu 18.04 bionico.

sudo a2enmod ssl; sudo service apache2 restart


1
La seconda risposta è già raccomandabile sudo a2enmod ssl;Forse dovresti aggiungere un commento lì per riavviare il server dopo la modifica.
Isacco,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.