Apache, проблема Не удалось запустить LSB: веб-сервер Apache2

11

Я использую Ubuntu 16.02. Когда я пытаюсь sudo service apache2 restart, он говорит:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Затем я печатаю: journalctl -xeи запрашиваю:

- 
- Устройство apache2.service началось.
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Запуск веб-сервера Apache httpd apache2
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Ошибка конфигурации apache2.
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: Вывод теста конфигурации был:
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Нет такого файла или каталога: AH02291: Невозможно получить доступ к каталогу / etc / apache2 / logs / для основного журнала ошибок
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: проверка конфигурации не удалась
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: Действие «configtest» не выполнено.
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: Журнал ошибок Apache может содержать больше информации.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: процесс управления завершен, код = состояние выхода = 1
11 января 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: session): сеанс закрыт для пользователя root
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: Не удалось запустить LSB: веб-сервер Apache2.
- Тема: сбой модуля apache2.service
- Определено: по systemd
- Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- Устройство apache2.service не удалось.
- 
- Результат не удался.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Устройство вошло в сбойное состояние.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: не удалось с результатом 'код выхода'.
11 января 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST от 192.168.56.101 на enp0s8 до 192.168.56.100 порт 67 (xid = 0x204f076f)
11 января 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPACK от 192.168.56.101 от 192.168.56.100
11 января 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4253] адрес 192.168.56.101
11 января 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4260] plen 24 (255.255.255.0)
11 января 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4266] идентификатор сервера 192.168.56.100
11 января 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4273] срок аренды 1200
11 января 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4279] dhcp4 (enp0s8): состояние изменено привязано -> ограничено
11 января 02:33:09 aleksandr-VirtualBox dbus [590]: [система] Активация через systemd: имя службы = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-dispatcher.service'
11 января 02:33:09 aleksandr-VirtualBox systemd [1]: Запуск службы диспетчера сценариев сетевого менеджера ...
- Тема: подразделение NetworkManager-dispatcher.service приступило к запуску
- Определено: по systemd
-- Служба поддержки: 
- 
- Блок NetworkManager-dispatcher.service начал пуск.
11 января 02:33:09 aleksandr-VirtualBox dhclient [792]: привязано к 192.168.56.101 - обновление за 559 секунд.
11 января 02:33:09 aleksandr-VirtualBox dbus [590]: [система] Успешно активированный сервис 'org.freedesktop.nm_dispatcher'
11 января 02:33:09 aleksandr-VirtualBox systemd [1]: Запущена служба диспетчера сценариев сетевого менеджера.
- Тема: модуль NetworkManager-dispatcher.service завершил запуск
- Определено: по systemd
-- Служба поддержки: 
- 
- Модуль NetworkManager-dispatcher.service завершил запуск.
- 
- Результат запуска готов.
11 января 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: новый запрос (1 сценарий)
11 января 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: начать запуск упорядоченных сценариев ...

И когда это systemctl status apache2.serviceпотребуется:

* apache2.service - LSB: веб-сервер Apache2
   Загружен: загружен (/etc/init.d/apache2; плох; предустановка поставщика: включена)
  Drop-In: /lib/systemd/system/apache2.service.d
           `-Apache2-systemd.conf
   Активно: не удалось (Результат: код выхода) с СР 2017-01-11 02:30:46 +08; 33 мин. Назад
     Документы: man: systemd-sysv-generator (8)
  Процесс: 8023 ExecStop = / etc / init.d / apache2 stop (код = выход, статус = 0 / УСПЕХ)
  Процесс: 2236 ExecReload = / etc / init.d / apache2 reload (код = выход, статус = 0 / УСПЕХ)
  Процесс: 8177 ExecStart = / etc / init.d / apache2 start (код = выход, статус = 1 / отказ)

11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: не найдено
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Нет такого файла или каталога: AH02291: Невозможно получить доступ к каталогу / etc / apache2 / logs / для основного журнала ошибок
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: проверка конфигурации не удалась
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: Действие «configtest» не выполнено.
11 января 02:30:46 aleksandr-VirtualBox apache2 [8177]: Журнал ошибок Apache может содержать больше информации.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: процесс управления завершен, код = состояние выхода = 1
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: Не удалось запустить LSB: веб-сервер Apache2.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Устройство вошло в сбойное состояние.
11 января 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: не удалось с результатом 'код выхода'.

Что не так? Где прерывание? Пожалуйста помоги!

A.Verber
источник

Ответы:

8

Есть две ошибки:


1. По какой-то причине ваш /etc/apache2/envvarsотсутствует:

  • от journalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    ...        
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    
  • от systemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    

В моей системе этот файл имеет следующие разрешения:

$ ls -l /etc/apache2/envvars

-rw-r--r--   1 root root  1782 мар 19  2016 envvars

И его содержание ( $ cat /etc/apache2/envvars):

# envvars - default environment variables for apache2ctl

# this won't be correct after changing uid
unset HOME

# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
        SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
        SUFFIX=
fi

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale

export LANG

## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'

## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'

## If you would like to pass arguments to the web server, add them below
## to the APACHE_ARGUMENTS environment.
#export APACHE_ARGUMENTS=''

## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server mod                                               ules and web application
## installations which interact with Apache
#export APACHE2_MAINTSCRIPT_DEBUG=1

Вы можете создать его вручную: sudo nano /etc/apache2/envvarsвставьте содержимое выше, сохраните ctrl+ oи выйдите из ctrl+ x.


2. В вашей системе /etc/apache2/logsтакже отсутствует папка :

  • от journalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    
  • от systemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    

Это не папка журнала по умолчанию, она определена в вашей пользовательской конфигурации и должна быть создана:

$ sudo mkdir /etc/apache2/logs
pa4080
источник
Я сделал, как ты написал. К сожалению, ошибка все еще существует :( Так что продолжим поиск
A.Verber
@ A.Verber Это все та же ошибка или что-то изменилось?
pa4080
1
@ A.Verber Я снова посмотрел твой вопрос. В вашей системе каталог /etc/apache2/logs/существует? Потому что это второе сообщение об ошибке. Вы можете попробовать sudo mkdir /etc/apache2/logs.
pa4080
1
Да! После создания журнала dir ошибка исчезла! Спасибо
А.Вербер
5

Я удалил файлы .conf на сайтах, которые доступны, и не удалил файлы ссылок на сайтах, которые включены.

Теперь я удалил все файлы на сайтах с поддержкой

перезапущенный сервер apache2 (sudo service apache2 restart)

работал на меня

надеюсь, это может кому-то помочь :)

Саундаря
источник
помог мне! THX ..
Я боролся с медведем один раз.
5

У меня такая же проблема. Я получил ту же ошибку sudo service apache2 restartи побежал, sudo systemctl status apache2.serviceи красная линия былаFailed to start LSB: Apache2 web server.

Решение

выполните следующую команду:

sudo apache2ctl configtest

Он проверит ошибки (я думаю, синтаксические ошибки), а затем вы можете отладить ошибку.

Вахид
источник
Ваше решение помогло мне решить мою проблему apache2, спасибо.
S1awek
4

Попробуйте эти команды:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Затем перезапустите сервис apache2.

Arnauld
источник
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
Арно
0

В моем случае я делаю это:

удалить и удалить Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

переустановить apache2

sudo apt-get install apache2

sudo apache2ctl configtest

Это бежать за мной

Messou
источник