«Не удалось выполнить задание для httpd.service, поскольку процесс управления завершился с кодом ошибки». Как это исправить? - PullRequest
0 голосов
/ 23 января 2019

После установки SSL-сертификатов через Certbot на моем сайте появилось сообщение об ошибке «слишком много перенаправлений».После некоторых исследований я подумал, что у меня где-то должен быть перенаправление с HTTPS -> HTTP, поэтому я попытался это исправить, но, похоже, я сделал это хуже, и Apache больше не запускается.Я абсолютный новичок, поэтому изо всех сил пытаюсь понять, что не так.

Я настраиваю VPS с CentOS7, доступ к которому осуществляется через SSH, для размещения простого html-сайта.Я установил основы (например, UFW Firewall, Cloudflare as DNS, Apache 2.4.6) и смог отобразить тестовую страницу в моем домене.

Затем я приступил к настройке своего виртуального хоста с этим учебным пособием: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7 Вслед за этим учебником по настройке letsencrypt: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7

После этого я сначала получилсообщение об ошибке «слишком много перенаправлений» при попытке получить доступ к моему домену, который ранее работал нормально.Пытаясь исправить это в течение четырех часов подряд, я теперь все испортил до такой степени, что Apache, похоже, не запускается.

Теперь, когда я делаю $ sudo systemctl restart httpd, я получаю сообщение об ошибке «Работа дляСбой httpd.service, поскольку процесс управления завершился с кодом ошибки. Дополнительные сведения см. в разделах «systemctl status httpd.service» и «journalctl -xe». *

[USER@host ~]$ sudo systemctl status httpd.service
* httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2019-01-23 00:57:39 UTC; 20s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 26023 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 24468 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
  Process: 26021 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 26021 (code=exited, status=1/FAILURE)

Jan 23 00:57:39 host systemd[1]: Starting The Apache HTTP Server...
Jan 23 00:57:39 host systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jan 23 00:57:39 host kill[26023]: kill: cannot find process ""
Jan 23 00:57:39 host systemd[1]: httpd.service: control process exited, code=exited status=1
Jan 23 00:57:39 host systemd[1]: Failed to start The Apache HTTP Server.
Jan 23 00:57:39 host systemd[1]: Unit httpd.service entered failed state.
Jan 23 00:57:39 host systemd[1]: httpd.service failed.

Единственное изменение, которое я внес в /etc/httpd/conf/httpd.conf, былоизменив IncludeOptional conf.d/*.conf внизу на IncludeOptional sites-enabled/*.conf

В настоящее время настройки моего виртуального хоста следующие:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/example.com/public_html
    Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost _default_:443>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/requests.log combined
    SSLEngine on
</VirtualHost>

Буду признателен за любые указания относительно того, что может быть не так.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Поскольку я использовал letsencrypt, это выглядит так:

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Это решило ошибку для apache.Шифрование SSL еще не работает, но я вернусь и обновлю его, если обнаружу, что это проблема с этими строками.

РЕДАКТИРОВАТЬ: Эта настройка теперь работает нормально для меня.Проблема с неработающим шифрованием SSL была из-за того, что SSL отключен в Cloudflare, что создало цикл перенаправления.

0 голосов
/ 24 января 2019

Вы должны добавить в свою конфигурацию сертификат, ключ для этого сертификата и промежуточные сертификаты.Это выглядит так:

SSLEngine on
SSLCertificateFile "/path/to/www.example.com.cert"
SSLCertificateKeyFile "/path/to/www.example.com.key"
SSLCACertificateFile "conf/ssl.crt/ca.crt"

Для более подробной информации проверьте Apache документации

...