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 [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>
cristão
fonte

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.

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

Stéphane
fonte
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
Falco Preiseni
fonte
17

solução httpd24:

yum install mod24_ssl
dtbarne
fonte
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

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