У меня есть установка виртуального хоста на сервере Apache2 на виртуальной машине Debian, я создал сертификат SSL от GoDaddy и загрузил файлы crt (сертификат и цепочка)
Перед добавлением SSL, DocumentRoot
указывал на:
/var/www/html/websitename/public_html/loader.php
и все работало просто отлично.
Но, как я добавил SSLEngineOn
, SSLCertificationFile
и SSLCertificationChainFile
в виртуальном хосте, сервер Apache2 отказывается запускаться, вот журнал сервера:
May 07 20:05:05 ns507219 systemd[1]: Starting The Apache HTTP Server...
May 07 20:05:05 ns507219 apachectl[2228]: AH00112: Warning: DocumentRoot [/var/www/html/websitename/public_html/loader.php] does not exist
May 07 20:05:05 ns507219 apachectl[2228]: AH00112: Warning: DocumentRoot [/var/www/html/websitename/public_html/loader.php] does not exist
May 07 20:05:05 ns507219 apachectl[2228]: AH00112: Warning: DocumentRoot [/var/www/html/websitename/public_html/loader.php] does not exist
May 07 20:05:05 ns507219 apachectl[2228]: Action 'start' failed.
Вот мой конфиг:
<VirtualHost websitename.ca:80>
ServerAdmin admin@websitename.ca
#SSLEngine on
#SSLCertificateFile /etc/ssl/certs/mycertificate.crt
#SSLCertificateChainFile /etc/ssl/certs/mychain.crt
DocumentRoot /var/www/html/websitename/public_html/loader.php
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000/"
</FilesMatch>
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost websitename.ca:443>
ServerAdmin admin@websitename.ca
DocumentRoot /var/www/html/websitename/public_html/loader.php
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mycertificate.crt
SSLCertificateChainFile /etc/ssl/certs/mychain.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
Если я уберу условие if, настройки будут работать нормально, а SSL - нет.