- Вопрос или проблема
- Ответ или решение
- Решение проблемы: "Служба httpd.service завершила работу с ошибкой" на CentOS 7
- Описание проблемной ситуации
- Шаги для диагностики
- Решение проблемы
- 1. Проверьте права доступа к директории
- 2. Проверьте конфигурацию виртуального хоста
- 3. Перезагрузите Apache
- 4. Дополнительные проверки
- Заключение
Вопрос или проблема
У меня есть VPS на CentOS 7, где я пытаюсь установить виртуальный хост, следуя инструкциям с https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7.
Я завершил шаг пять этого учебника. Затем, когда я пытаюсь перезапустить apache, у меня не удается:
$ sudo apachectl restart
[sudo] пароль для student01:
Работа для httpd.service не удалась, потому что управляющий процесс завершился с кодом ошибки. См. "systemctl status httpd.service" и "journalctl -xe" для получения подробностей.
$ sudo systemctl status httpd.service -l
● httpd.service - HTTP-сервер Apache
Загружен: загружен (/usr/lib/systemd/system/httpd.service; включен; предустановка производителя: отключена)
Активен: неудача (Результат: код выхода) с середины 2018-04-11 14:29:55 +06; 4 мин 13 с назад
Документация: man:httpd(8)
man:apachectl(8)
Процесс: 11116 ExecStop=/bin/kill -WINCH ${MAINPID} (код=вышел, статус=1/НЕУДАЧА)
Процесс: 11115 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (код=вышел, статус=1/НЕУДАЧА)
Основной PID: 11115 (код=вышел, статус=1/НЕУДАЧА)
Апр 11 14:29:55 localhost.localdomain systemd[1]: Запуск HTTP-сервера Apache...
Апр 11 14:29:55 localhost.localdomain systemd[1]: httpd.service: основной процесс завершился, код=вышел, статус=1/НЕУДАЧА
Апр 11 14:29:55 localhost.localdomain kill[11116]: kill: не удается найти процесс ""
Апр 11 14:29:55 localhost.localdomain systemd[1]: httpd.service: контрольный процесс завершился, код=вышел статус=1
Апр 11 14:29:55 localhost.localdomain systemd[1]: Не удалось запустить HTTP-сервер Apache.
Апр 11 14:29:55 localhost.localdomain systemd[1]: Единица httpd.service вошла в состояние неудачи.
Апр 11 14:29:55 localhost.localdomain systemd[1]: httpd.service не удалась.
Что теперь я могу сделать?
Правка
/var/log/httpd/error_log
[Sun Apr 08 03:23:02.040472 2018] [auth_digest:notice] [pid 20339] AH01757: создание секрета для аутентификации по дайджесту ...
[Sun Apr 08 03:23:02.041376 2018] [lbmethod_heartbeat:notice] [pid 20339] AH02282: Нет slotmem от mod_heartmonitor
[Sun Apr 08 03:23:02.094944 2018] [mpm_prefork:notice] [pid 20339] AH00163: Apache/2.4.6 (CentOS) PHP/5.4.16 настроен -- возобновление нормальной работы
[Sun Apr 08 03:23:02.094956 2018] [core:notice] [pid 20339] AH00094: Командная строка: '/usr/sbin/httpd -D FOREGROUND'
[Sun Apr 08 05:35:00.720095 2018] [autoindex:error] [pid 30351] [client 66.102.6.114:59512] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Sun Apr 08 09:42:05.222459 2018] [autoindex:error] [pid 30347] [client 52.34.24.33:31614] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Sun Apr 08 11:06:56.497939 2018] [autoindex:error] [pid 30790] [client 54.145.188.132:22136] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Sun Apr 08 14:13:12.731870 2018] [autoindex:error] [pid 32239] [client 185.198.167.29:51750] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Sun Apr 08 19:06:12.521882 2018] [autoindex:error] [pid 30348] [client 180.234.211.210:57961] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Sun Apr 08 19:06:15.004820 2018] [autoindex:error] [pid 30790] [client 159.203.81.93:36934] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options, реферер: http://csedu.cf/noindex/css/open-sans.css
[Sun Apr 08 21:20:59.825782 2018] [autoindex:error] [pid 1338] [client 66.102.6.114:52716] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 00:25:17.935192 2018] [autoindex:error] [pid 30348] [client 178.73.215.171:58579] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 02:50:04.593613 2018] [autoindex:error] [pid 30351] [client 141.8.142.139:50790] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 03:17:12.517868 2018] [autoindex:error] [pid 30347] [client 222.186.173.47:3128] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 04:10:37.253275 2018] [autoindex:error] [pid 31639] [client 164.132.91.1:38580] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 05:38:34.833406 2018] [autoindex:error] [pid 30350] [client 66.249.70.23:49821] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 05:42:25.297309 2018] [autoindex:error] [pid 30790] [client 66.102.6.118:49432] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 08:37:04.505363 2018] [autoindex:error] [pid 1338] [client 66.249.64.17:47360] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 11:34:29.890432 2018] [autoindex:error] [pid 30349] [client 60.10.114.129:4892] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 12:21:16.013396 2018] [autoindex:error] [pid 30351] [client 66.249.64.147:61628] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 13:16:44.877416 2018] [autoindex:error] [pid 30348] [client 66.249.64.18:48720] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 13:28:05.782783 2018] [autoindex:error] [pid 31639] [client 54.67.59.131:47628] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 15:59:59.764704 2018] [autoindex:error] [pid 30349] [client 66.102.6.116:50307] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 20:48:48.419540 2018] [autoindex:error] [pid 30349] [client 211.23.154.138:44382] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 20:49:19.596952 2018] [autoindex:error] [pid 30790] [client 146.185.223.240:61291] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 20:49:25.365282 2018] [:error] [pid 32239] [client 146.185.223.240:53694] скрипт '/var/www/html/xmlrpc.php' не найден или невозможно получить его статические данные
[Mon Apr 09 20:49:30.881307 2018] [autoindex:error] [pid 1338] [client 146.185.223.240:57697] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 21:59:59.860423 2018] [autoindex:error] [pid 30790] [client 52.41.211.72:54578] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 22:40:17.025377 2018] [autoindex:error] [pid 32239] [client 66.102.6.118:63371] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Mon Apr 09 23:54:26.754931 2018] [autoindex:error] [pid 30350] [client 141.8.142.139:44732] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 02:04:12.364159 2018] [autoindex:error] [pid 30350] [client 66.249.64.17:46304] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 04:31:13.380666 2018] [autoindex:error] [pid 30349] [client 66.249.79.21:45988] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 05:11:35.587141 2018] [autoindex:error] [pid 32239] [client 66.249.79.19:52379] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 05:41:26.176137 2018] [autoindex:error] [pid 1338] [client 66.102.6.118:51864] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 05:57:36.520454 2018] [autoindex:error] [pid 30347] [client 66.249.79.110:36194] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 12:44:25.251573 2018] [autoindex:error] [pid 32239] [client 52.34.24.33:60587] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 13:08:39.896323 2018] [autoindex:error] [pid 1338] [client 141.8.142.139:53710] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 13:31:14.603115 2018] [autoindex:error] [pid 30790] [client 180.234.211.210:44472] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 13:42:16.181640 2018] [autoindex:error] [pid 30351] [client 107.170.192.57:54176] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 16:31:20.752769 2018] [autoindex:error] [pid 30349] [client 196.52.43.109:6666] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 17:43:24.572519 2018] [autoindex:error] [pid 1338] [client 66.102.6.118:64283] AH01276: Невозможно обслуживать каталог /var/www/html/: Не найден подходящий DirectoryIndex (index.html,index.php), и индекс каталога, сгенерированный сервером, запрещен директивой Options
[Tue Apr 10 23:32:45.653283 2018] [mpm_prefork:notice] [pid 20339] AH00170: пойман SIGWINCH, выключение без потерь
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
Первое сообщение httpd.service: основной процесс завершился, код=вышел, статус=1/НЕУДАЧА
говорит о том, что сервис даже не удалось запустить. Следующее сообщение kill[11116]: kill: не удается найти процесс ""
означает, что процесс сервиса не может быть завершен, так как он не смог быть запущен ранее.
Согласно сообщениям журнала из /var/log/httpd/error_log
, сервис остановился из-за проблемы с определениями вашего виртуального хоста
(13)Отказано в доступе: AH00091: httpd: не удалось открыть файл журнала ошибок /var/www/example2.com/error.log.
AH00015: Невозможно открыть журналы
Если сервис не может записывать в сконфигурированные файлы журналов, то
- Каталог не существует
- Жесткий диск только для чтения
- Жесткий диск переполнен
сервис нельзя запустить.
Нам также нужно будет посмотреть конфигурацию виртуального хоста example2.com
.
Я подозреваю, что что-то происходит с вашей конфигурацией сервиса, потому что с одной стороны журнал говорит, что DocumentRoot находится по адресу /var/www/html/
Но затем он хочет писать журналы по адресу /var/www/example2.com/
Попробуйте закомментировать строку в /etc/httpd/conf/httpd.conf :
#LoadModule mpm_event_module modules/mod_mpm_event.so
и раскомментируйте строку:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Ответ или решение
Решение проблемы: "Служба httpd.service завершила работу с ошибкой" на CentOS 7
Если вы столкнулись с ошибкой при перезапуске Apache HTTP Server (httpd.service) на вашем сервере CentOS 7, то не стоит паниковать. Ошибка может быть вызвана рядом причин, которые мы рассмотрим ниже. Давайте пройдемся по шагам, чтобы выявить и устранить проблему.
Описание проблемной ситуации
После установки и настройки виртуального хоста, вы выполнили команду:
sudo apachectl restart
В ответ на это вы получили сообщение:
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
Шаги для диагностики
-
Проверка статуса службы:
Выполните команду следующим образом для получения более детальной информации об ошибке:
sudo systemctl status httpd.service -l
Обратите внимание на строку
code=exited, status=1/FAILURE
, которая указывает на то, что главный процесс службы завершился с ошибкой. -
Изучение логов:
Важно посмотреть содержимое логов Apache, чтобы понять источник проблемы:
tail -n 100 /var/log/httpd/error_log
Вы заметите строки, подобные:
(13)Permission denied: AH00091: httpd: could not open error log file /var/www/example2.com/error.log. AH00015: Unable to open logs
Эти сообщения указывают на проблемы с правами доступа к лог-файлам. Основные причины могут быть следующими:
- Папка
/var/www/example2.com/
не существует. - У Apache нет прав на запись в указанную директорию.
- Журнал не может быть открыт из-за параметров конфигурации.
- Папка
Решение проблемы
1. Проверьте права доступа к директории
Убедитесь, что директория для логов существует и у Apache есть необходимые права доступа. Выполните следующие команды:
sudo mkdir -p /var/www/example2.com
sudo chown -R apache:apache /var/www/example2.com
2. Проверьте конфигурацию виртуального хоста
Откройте файл конфигурации виртуального хоста, например:
sudo vi /etc/httpd/conf.d/example2.com.conf
Убедитесь, что в нем правильно указаны пути для DocumentRoot
и ErrorLog
. Пример настройки:
<VirtualHost *:80>
ServerName example2.com
DocumentRoot /var/www/example2.com
ErrorLog /var/www/example2.com/error.log
CustomLog /var/www/example2.com/access.log combined
</VirtualHost>
3. Перезагрузите Apache
После внесения изменений попробуйте снова перезапустить службу Apache:
sudo systemctl restart httpd.service
4. Дополнительные проверки
Если ошибка не исчезла, выполните следующие действия:
-
Проверьте, не заполнен ли диск:
df -h
-
Убедитесь, что диск не установлен в режим "только для чтения".
-
Проверьте параметры
DirectoryIndex
в конфигурации Apache, чтобы убедиться, что Apache знает, какой файл выводить, если кто-то обращается к директории без указания конкретного файла.
Заключение
Ошибка запуска службы Apache в CentOS 7 может быть вызвана разными причинами, включая неправильные права доступа и конфигурацию виртуальных хостов. Следуя вышеуказанным шагам, вы сможете диагностировать и исправить проблему. Если после всех этих манипуляций ошибка останется, возможно, стоит обратиться за помощью в сообщество или к профессионалам, занимающимся администрированием серверов.