apache2 Perintah 'SSLEngine' tidak valid


108

Ketika saya memulai kembali httpd, saya mendapatkan kesalahan berikut. Apa yang saya lewatkan?

[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

Saya telah menginstal mod_ssl menggunakan 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 saya terlihat seperti ini

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

Jawaban:


52

Mungkin Anda tidak memuat modul ssl. Anda harus memiliki direktif LoadModule di suatu tempat di file konfigurasi apache Anda.

Sesuatu seperti:

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

Biasanya templat konfigurasi apache memiliki (pada distribusi apa pun) file bernama (sesuatu seperti) loadmodule.confdi mana Anda harus menemukan LoadModulearahan untuk setiap modul yang Anda muat ke dalam apache saat server mulai.


7
Juga, itu perlu untuk menginstal mod_ssl. Pada RHEL dan CentOS, ini dilakukan dengan yum install mod_ssl.
Benedikt Köppel

2
Untuk Apache 2.4, silakan instal mod24_ssl
Alejandro Pablo Tkachuk

sudo a2enmod ssl
thoni56

137

Pada banyak sistem (Ubuntu, Suse, Debian, ...) jalankan perintah berikut untuk mengaktifkan mod SSL Apache:

sudo a2enmod ssl

halaman manual a2enmod


4
Ini khusus untuk Debian tetapi pertanyaannya bukan untuk menandai Debian.
jordanm

1
apakah a2enmod benar-benar spesifik untuk Debian? Atau apakah Anda mengeluh tentang penggunaan sudo?
Stéphane

4
a2enmodkhusus untuk Debian. Ia mengelola symlink untuk cara Debian membagi konfigurasi apache. Perintah Anda setara denganln -s /etc/apache2/mods-{available,enabled}/ssl.load; ln -s /etc/apache2/mods-{available,enabled}/ssl.conf
jordanm

1
a2enmodjuga digunakan pada suse.
dr0i

20

Pada CentOS 7 menginstal paket "mod_ssl" dan memulai kembali server apache bekerja untuk saya:

yum install mod_ssl
systemctl restart httpd

17

solusi httpd24:

yum install mod24_ssl

1
Itu mungkin hanya berfungsi untuk (beberapa) distribusi berbasis RPM saja. Yang mana? Mengapa ini memperbaiki masalah?
vonbrand

Bekerja di Amazon Linux dan Centos untuk saya. Ini khusus untuk Apache 2.4.
dtbarne

2

Pada Ubntu 18,04 bionik.

sudo a2enmod ssl; sudo service apache2 restart


1
Jawaban kedua sudah merekomendasikan sudo a2enmod ssl;Mungkin Anda harus menambahkan komentar di sana untuk me-restart server setelah perubahan.
Isaac
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.