Я сделал пару сценариев, чтобы легко создать сайт на моей машине Digital Ocean Debian. Скрипт, который защищает сайт, просто создает sites-availble
файл, запускает команду certbot и предлагает перезапустить Apache. Раньше он работал безупречно.
Команда в скрипте, вызывающая проблему:
sudo cerbot -d mywebsite.com
С --apache
flag он выдает ту же ошибку.
Я получаю ошибку
Error while running apache2ctl configtest.
Action 'configtest' failed.
The Apache error log may have more information.
AH00526: Syntax error on line 19 of
/etc/apache2/sites-enabled/mywebsite.ca.conf:
SSLCertificateFile: file
'/etc/letsencrypt/live/www.mywebsite.ca/fullchain.pem' does
not exist or is empty
Ссылка на файл
<IfModule mod_ssl.c>
<VirtualHost *:80>
ServerName mywebsite.ca
DocumentRoot /var/www/html/mywebsite.ca
Redirect permanent / https://mywebsite.ca
</VirtualHost>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/mywebsite.ca
ServerName mywebsite.ca
ServerAlias www.mywebsite.ca
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.mywebsite.ca/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.mywebsite.ca/privkey.pem
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
# "force-response-1.0" for this.
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
Строка 19 SSLCertificateFile /etc/letsencrypt/live/www.mywebsite.ca/fullchain.pem
Некоторые вещи из моего журнала ошибок apache2
AH00112: Warning: DocumentRoot [/var/lib/letsencrypt/tls_sni_01_page/] does not exist
[Thu Aug 03 12:13:00.265826 2017] [ssl:warn] [pid 12795] AH01906: 9113409597ce29a2adba7e6df41d732f.81d7a00618deb2e454817e363526c145.acme.invalid:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
Есть идентичный (за исключением имени домена) файл с поддержкой сайтов для другого домена, который работает нормально.
Я пробовал несколько вариантов команды certbot без особой удачи, я нервничаю, пытаясь слишком много, потому что на этом сервере есть другие живые сайты.
Что вызывает эту ошибку и какие советы по ее устранению?