apache2 Comando inválido 'SSLEngine'


108

Quando reinicio o httpd, recebo o seguinte erro. o que estou 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

Eu instalei o 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

Meu site.conf se parece com isso

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

Respostas:


52

Provavelmente você não carrega o módulo ssl. Você deve ter uma diretiva LoadModule em algum lugar dos arquivos de configuração do apache.

Algo como:

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

Normalmente, o modelo de configuração do apache possui (em qualquer distribuição) um arquivo chamado (algo como) loadmodule.confno qual você deve encontrar uma LoadModulediretiva para cada módulo carregado no apache no início do servidor.


7
Além disso, é necessário instalar mod_ssl. No RHEL e CentOS, isso é feito com yum install mod_ssl.
Benedikt Köppel

2
Para o Apache 2.4, é yum install mod24_ssl
Alejandro Pablo Tkachuk

sudo a2enmod ssl
thoni56 9/08

137

Em muitos sistemas (Ubuntu, Suse, Debian, ...) execute o seguinte comando para ativar o mod SSL do Apache:

sudo a2enmod ssl

Página de manual do a2enmod


4
Isso é específico do Debian, mas a questão não está marcada como Debian.
jordanm

1
o a2enmod é realmente específico do Debian? Ou você está reclamando sobre o uso do sudo?
Stéphane

4
a2enmodé específico do Debian. Ele gerencia links simbólicos da maneira como o Debian divide as configurações do apache. Seu comando é equivalente aln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm

1
a2enmodtambém é usado no suse.
0000 dr0i

20

No CentOS 7, instalar o pacote "mod_ssl" e reiniciar o servidor apache funcionou para mim:

yum install mod_ssl
systemctl restart httpd

17

solução httpd24:

yum install mod24_ssl

1
Presumivelmente, isso funciona apenas para (algumas) distribuições baseadas em RPM. Qual? Por que isso resolve o problema?
vonbrand

Trabalhei no Amazon Linux e Centos para mim. É especificamente para o Apache 2.4.
Dtbarne

2

No Ubntu 18.04 biônico.

sudo a2enmod ssl; serviço sudo reinício apache2


1
A segunda resposta já recomenda sudo a2enmod ssl;Talvez você deva adicionar um comentário lá para reiniciar o servidor após a alteração.
Isaac
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.