apache2无效的命令'SSLEngine'


108

重新启动httpd时,出现以下错误。我想念什么?

[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

我已经使用安装了mod_ssl 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

我的sites.conf看起来像这样

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

Answers:


52

可能您没有加载ssl模块。您应该在apache配置文件中的某处具有LoadModule指令。

就像是:

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

通常,apache配置模板(在任何发行版上)都有一个名为(类似)的文件loadmodule.conf,您应该LoadModule在服务器启动时为加载到apache中的每个模块找到一个指令。


7
另外,有必要安装mod_ssl。在RHEL和CentOS上,这是通过完成的yum install mod_ssl
BenediktKöppel18年

2
对于Apache 2.4,请安装mod24_ssl
Alejandro Pablo Tkachuk

sudo a2enmod ssl
thoni56

137

在许多系统(Ubuntu,Suse,Debian等)上,运行以下命令来启用Apache的SSL mod:

sudo a2enmod ssl

a2enmod手册页


4
这是特定于Debian的,但问题未标记为Debian。
jordanm 2015年

1
a2enmod真的是Debian专用的吗?还是您抱怨使用sudo?
斯特凡2015年

4
a2enmod是特定于Debian的。它以Debian拆分apache配置的方式管理符号链接。您的命令等效于ln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm 2015年

1
a2enmod也用于suse。
dr0i


17

httpd24解决方案:

yum install mod24_ssl

1
大概这仅适用于(某些)基于RPM的发行版。哪一个?为什么可以解决问题?
vonbrand '16

为我工作过Amazon Linux和Centos。它专门针对Apache 2.4。
dtbarne '16

2

在Ubntu 18.04仿生上。

须藤a2enmod ssl; sudo服务apache2重新启动


1
第二个答案已经建议,sudo a2enmod ssl;也许您应该在此添加注释以在更改后重新启动服务器。
以撒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.