Apache, problem Nie można uruchomić LSB: serwer WWW Apache2

11

Używam Ubuntu 16.02. Kiedy próbuję sudo service apache2 restart, mówi:

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

Następnie wpisuję: journalctl -xei żądam:

- 
- Rozpoczęcie uruchamiania jednostki Apache2.service.
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Uruchamianie serwera WWW Apache httpd apache2
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Test konfiguracji apache2 nie powiódł się.
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: Wynik testu konfiguracji wynosił:
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Brak takiego pliku lub katalogu: AH02291: Nie można uzyskać dostępu do katalogu '/ etc / apache2 / logs /' dla głównego dziennika błędów
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Kontrola konfiguracji nie powiodła się
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: Działanie „configtest” nie powiodło się.
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: Dziennik błędów Apache może zawierać więcej informacji.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Zakończono proces kontroli, kod = status zakończony = 1
11 stycznia 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: session): sesja zamknięta dla użytkownika root
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: Nie można uruchomić LSB: serwer WWW Apache2.
- Temat: Awaria jednostki Apache2.service
- Zdefiniowane przez: systemd
- Wsparcie: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- Awaria urządzenia Apache2.service.
- 
- Wynik nie powiódł się.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Jednostka weszła w stan awarii.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Błąd wyniku „kod-wyjścia”.
11 stycznia 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST z 192.168.56.101 na enp0s8 do 192.168.56.100 port 67 (xid = 0x204f076f)
11 stycznia 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPACK z 192.168.56.101 z 192.168.56.100
11 stycznia 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4253] adres 192.168.56.101
11 stycznia 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4260] plen 24 (255.255.255.0)
11 stycznia 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4266] identyfikator serwera 192.168.56.100
11 stycznia 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4273] czas dzierżawy 1200
11 stycznia 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4279] dhcp4 (enp0s8): stan zmieniony granica -> granica
11 stycznia 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Aktywacja przez systemd: nazwa usługi = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-dispatcher.service'
11 stycznia 02:33:09 aleksandr-VirtualBox systemd [1]: Uruchamianie usługi dyspozytora skryptów menedżera sieci ...
- Temat: Rozpoczęcie uruchamiania jednostki NetworkManager-dispatcher.service
- Zdefiniowane przez: systemd
-- Wsparcie: 
- 
- Rozpoczęcie uruchamiania urządzenia NetworkManager-dispatcher.service.
11 stycznia 02:33:09 aleksandr-VirtualBox dhclient [792]: związany z 192.168.56.101 - odnowienie za 559 sekund.
11 stycznia 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Pomyślnie aktywowano usługę „org.freedesktop.nm_dispatcher”
11 stycznia 02:33:09 aleksandr-VirtualBox systemd [1]: Uruchomiono usługę dyspozytora skryptów Network Manager.
- Temat: Unit NetworkManager-dispatcher.service zakończył uruchamianie
- Zdefiniowane przez: systemd
-- Wsparcie: 
- 
- Unit NetworkManager-dispatcher.service zakończył uruchamianie.
- 
- Wynik rozruchu jest zakończony.
11 stycznia 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: nowe żądanie (1 skrypt)
11 stycznia 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: uruchom uruchomione skrypty ...

A kiedy jest to systemctl status apache2.servicewymagane:

* apache2.service - LSB: serwer WWW Apache2
   Załadowano: załadowano (/etc/init.d/apache2; zły; preset dostawcy: włączony)
  Drop-In: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   Aktywny: nieudany (Wynik: kod wyjścia) od śr. 11.01.2017, 02:30:46 +08; 33 min temu
     Dokumenty: man: systemd-sysv-generator (8)
  Proces: 8023 ExecStop = / etc / init.d / apache2 stop (kod = zakończony, status = 0 / SUKCES)
  Proces: 2236 ExecReload = / etc / init.d / apache2 reload (kod = zakończony, status = 0 / SUKCES)
  Proces: 8177 ExecStart = / etc / init.d / apache2 start (kod = zakończony, status = 1 / AWARIA)

11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: nie znaleziono
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Brak takiego pliku lub katalogu: AH02291: Nie można uzyskać dostępu do katalogu '/ etc / apache2 / logs /' dla głównego dziennika błędów
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Kontrola konfiguracji nie powiodła się
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: Działanie „configtest” nie powiodło się.
11 stycznia 02:30:46 aleksandr-VirtualBox apache2 [8177]: Dziennik błędów Apache może zawierać więcej informacji.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Zakończono proces kontroli, kod = status zakończony = 1
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: Nie można uruchomić LSB: serwer WWW Apache2.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Jednostka weszła w stan awarii.
11 stycznia 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Błąd wyniku „kod-wyjścia”.

Co jest nie tak? Gdzie jest przerwanie? Proszę pomóż!

A.Verber
źródło

Odpowiedzi:

8

Istnieją dwa błędy:


1. Z jakiegoś powodu /etc/apache2/envvarsbrakuje:

  • z 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
    
  • z 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
    

W moim systemie ten plik ma kolejne uprawnienia:

$ ls -l /etc/apache2/envvars

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

A jego zawartość ( $ cat /etc/apache2/envvars) to:

# 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

Możesz go utworzyć ręcznie: sudo nano /etc/apache2/envvarswklej zawartość powyżej, zapisz ctrl+ oi wyjdź ctrl+ x.


2. W twoim systemie /etc/apache2/logsbrakuje również folderu :

  • z 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
    
  • z 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
    

To nie jest domyślny folder dziennika, jest zdefiniowany w niestandardowej konfiguracji i musi zostać utworzony:

$ sudo mkdir /etc/apache2/logs
pa4080
źródło
Zrobiłem jak napisałeś. Niestety błąd nadal istnieje :( Więc będzie kontynuować wyszukiwanie
A.Verber
@ A.Verber Czy nadal występuje ten sam błąd lub coś się zmieniło?
pa4080,
1
@ A. Verber Znów spojrzałem na twoje pytanie. Czy w twoim systemie /etc/apache2/logs/istnieje katalog ? Ponieważ jest to drugi komunikat o błędzie. Można spróbować sudo mkdir /etc/apache2/logs.
pa4080,
1
Tak! Po utworzeniu katalogu dziennika błąd zniknął! Dziękuję
A.Verber,
5

Usunąłem pliki .conf w witrynach dostępnych i nie usunąłem plików linków w witrynach włączonych.

Teraz usunąłem te wszystkie pliki z obsługą witryn

zrestartowany serwer apache2 (usługa sudo apache2 restart)

pracował dla mnie

mam nadzieję, że to może komuś pomóc :)

Soundarya
źródło
pomogło mi! dzięki ..
Raz walczyłem z niedźwiedziem.
5

Miałem ten sam problem. Otrzymałem ten sam błąd sudo service apache2 restarti pobiegłem, sudo systemctl status apache2.servicea czerwona linia byłaFailed to start LSB: Apache2 web server.

Rozwiązanie

uruchom poniższe polecenie:

sudo apache2ctl configtest

Sprawdzi błędy (wydaje mi się, że błędy składniowe), a następnie możesz debugować błąd.

Vahid
źródło
Twoje rozwiązanie pomogło mi rozwiązać problem z apache2, dzięki.
S1awek
4

Wypróbuj następujące polecenia:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Następnie uruchom ponownie usługę Apache2.

arnauld
źródło
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
Arnauld
0

W moim przypadku robię to:

odinstaluj i usuń Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

zainstaluj ponownie apache2

sudo apt-get install apache2

sudo apache2ctl configtest

To działa dla mnie

Messou
źródło