apache2 Ungültiger Befehl 'SSLEngine'

108

Wenn ich httpd neu starte, erhalte ich die folgende Fehlermeldung. Was vermisse ich?

[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

Ich habe mod_ssl mit installiert 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

Meine sites.conf sieht so aus

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

Antworten:

52

Wahrscheinlich laden Sie das SSL-Modul nicht. Sie sollten irgendwo in Ihren Apache-Konfigurationsdateien eine LoadModule- Direktive haben .

So etwas wie:

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

Normalerweise hat die Apache-Konfigurationsvorlage (auf jeder Distribution) eine Datei namens (so etwas wie), loadmodule.confin der Sie eine LoadModuleDirektive für jedes Modul finden sollten, das Sie beim Serverstart in Apache laden.

andcoz
quelle
7
Auch ist es notwendig zu installieren mod_ssl. Bei RHEL und CentOS geschieht dies mit yum install mod_ssl.
Benedikt Köppel
2
Für Apache 2.4 ist es yum install mod24_ssl
Alejandro Pablo Tkachuk
sudo a2enmod ssl
Thoni56
137

Auf vielen Systemen (Ubuntu, Suse, Debian, ...) führen Sie den folgenden Befehl aus, um den SSL-Mod von Apache zu aktivieren:

sudo a2enmod ssl

a2enmod man page

Stéphane
quelle
4
Dies ist Debian-spezifisch, aber die Frage ist nicht mit Debian markiert.
Jordanien
1
ist a2enmod wirklich Debian-spezifisch? Oder beschweren Sie sich über die Verwendung von sudo?
Stéphane
4
a2enmodist Debian-spezifisch. Es verwaltet Symlinks für die Art und Weise, wie Debian Apache-Konfigurationen aufteilt. Ihr Befehl entsprichtln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm
1
a2enmodwird auch bei suse verwendet.
dr0i
20

Unter CentOS 7 funktionierte es für mich, das Paket "mod_ssl" zu installieren und den Apache-Server neu zu starten:

yum install mod_ssl
systemctl restart httpd
Falco Preiseni
quelle
17

httpd24 lösung:

yum install mod24_ssl
dtbarne
quelle
1
Das funktioniert vermutlich nur für (einige) RPM-basierte Distributionen. Welcher? Warum behebt es das Problem?
Vonbrand
Hat für mich an Amazon Linux und Centos gearbeitet. Es ist speziell für Apache 2.4.
DTBARNE
2

Auf Ubntu 18.04 bionic.

sudo a2enmod ssl; sudo service apache2 neu starten

pumpkin_cat
quelle
1
Die zweite Antwort wird bereits empfohlen. sudo a2enmod ssl;Möglicherweise sollten Sie dort einen Kommentar hinzufügen, um den Server nach der Änderung neu zu starten.
Isaac