Подтвердить что ты не робот

Не удалось запустить Apache2, нет журнала ошибок

Я бы перезапустил Apache2, но появилась ошибка

$ sudo service apache2 start

Starting web server apache2

Action 'start' failed.
The Apache error log may have more information.

Но все журналы ошибок в "/var/log/apache2/" пусты.

Изменить: Файлы находятся в "/var/log/apache2", и есть несколько записей из предыдущих проблем, но эта задача не создает никаких новых etry...

Где проблема?


Я решил проблему!

Это была ошибка в SSL-сертификате, и путь к "error.log" был изменен в конфигурации vHost.

Если вам не нужен SSL (я не потому, что я запускаю локальную систему), просто отключите все vHost HTTPS/SSL вводит в конфигурацию по командной строке для вывода строки.

4b9b3361

Ответ 1

Спасибо, Тим! Большой костяк для меня. Несколько других деталей могут оказаться полезными:

(Apache2 на Ubuntu 12.04)

У меня есть два сайта, работающих на одном сервере, и только что обновил SSL-сертификат для одного из них. После перезагрузки сервера я получил это загадочное сообщение, и ни один сайт не работал (очевидно). Я тоже нашел перенаправление для файлов журнала в конфигурационных файлах. Я проследил это и нашел проблему (в файле журнала для сайта, который я только что обновил).

Мои конфигурационные файлы находятся в /etc/apache 2/sites-available

vim или cat файл (cat {filename}) и найдите строку ErrorLog. Это говорит вам, где искать на вашем сервере. cat этот файл и сообщение об ошибке, которое я нашел, было:

[error] Unable to configure RSA server private key
[error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[warn] RSA server certificate CommonName (CN) `<snip>.com' does NOT match server name!?

Я скопировал один из моих файлов сертификатов в неправильный каталог. Я просто переместил его в правильный каталог, и все было в порядке при следующем запуске. (совет: где этот файл должен быть также в файле конфигурации;)

Ответ 2

Я также столкнулся с аналогичной проблемой, т.е. service apache2 reload выходит из строя, но не печатает никакой полезной информации. Это связано с тем, что script в /etc/init.d/apache (по крайней мере, на Debian) ест результат команды apache2ctl configtest, которую он запускает, для дезинфекции конфигурации Apache.

Простое решение для получения более значимого объяснения отказа состоит в том, чтобы снова запустить apache2ctl configtest самостоятельно, который выведет на консоль сообщения (надеюсь, полезные) об ошибках.

Ответ 3

Синтаксические ошибки в файле конфигурации, похоже, вызывают проблемы. Я нашел, что проблема, перейдя в каталог и вызывая это из командной строки.

httpd -e info 

Это дало мне ошибку

Syntax error on line 156 of D:/.../Apache Software Foundation/Apache2.2/conf/httpd.conf:
Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration

Ответ 4

в виртуальном хосте apache вам необходимо определить путь к файлу журнала ошибок.  когда apache2 запускается в первый раз, он автоматически создаст его.

например ErrorLog "/var/www/www.localhost.com/log-apache2/error.log" в виртуальном хосте apache.

Ответ 5

В XAMPP используйте

D:\xampp\apache\bin>httpd -t -D DUMP_VHOSTS

Это приведет к ошибкам в конфигурации виртуальных хостов.

Ответ 6

Я столкнулся с этой проблемой на Малиновой Пи. Попробовав все, кроме переустановки, по прихоти я удалил /var/run/apache2/apache2.pid. Я перезапустил Apache, и все сработало. Не знаете, как это объяснить.

Ответ 7

Сегодня я столкнулся с этой проблемой. Я скопировал весь файл /etc/httpd из RHEL 6 и поместил его в систему CentOS 6 и обеспечил установку всех RPM.

В любое время, когда apache будет запущен, он тихо провалится. Для поиска виновника потребовалось strace: я использовал CustomLog для вызова программы, которая не была установлена ​​в целевой системе. После того, как я установил ожидаемую программу, Apache HTTP Server начал работать.

Ответ 9

Если у нас нет записей в лог файлах, мы можем попытаться отладить apache2 с помощью этой команды:

$ apache2 -S

или же

$ apache2 -e debug

Возможный вывод:

[Fri Apr 05 04:04:59.682880 2019] [core:warn] [pid 11086] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot

Ответ 10

У вас есть следующие способы заставить его работать:

  1. Удалите /var/run/apache2/apache2.pid и проверьте, работает ли он

  2. Вы можете отключить SELinux, а затем проверить, работает ли он. Вы можете отключить SELinux постоянно или временно с помощью учебника https://linux4one.com/how-to-disable-selinux-on-centos-7/