Apache, problema Falha ao iniciar o servidor da Web LSB: Apache2

11

Eu uso o Ubuntu 16.02. Quando tento sudo service apache2 restart, diz:

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

Então digito journalctl -xe:, e solicito:

- 
- A unidade apache2.service começou a iniciar.
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Iniciando o servidor web httpache Apache apache2
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: * O apache2 configtest falhou.
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: A saída do teste de configuração foi:
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: não encontrado
Jan 11 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Esse arquivo ou diretório não existe: AH02291: Não é possível acessar o diretório '/ etc / apache2 / logs /' para o log de erros principal
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Falha na verificação da configuração
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: Falha na ação 'configtest'.
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: O log de erros do Apache pode ter mais informações.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Processo de controle encerrado, código = status encerrado = 1
11 de janeiro 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: session): sessão fechada para o usuário root
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: falha ao iniciar o servidor da web LSB: Apache2.
- Assunto: A unidade apache2.service falhou
- Definido por: systemd
- Suporte: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- A unidade apache2.service falhou.
- 
- O resultado falhou.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: A unidade entrou no estado de falha.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: falha com o resultado 'código de saída'.
11 de janeiro 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST de 192.168.56.101 nas portas enp0s8 a 192.168.56.100 (xid = 0x204f076f)
11 de janeiro 02:33:09 dhclient aleksandr-VirtualBox [792]: DHCPACK de 192.168.56.101 de 192.168.56.100
11 de janeiro 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4253] endereço 192.168.56.101
11 de janeiro 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4260] plen 24 (255.255.255.0)
11 de janeiro 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4266] identificador de servidor 192.168.56.100
11 de janeiro 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4273] tempo de concessão 1200
11 de janeiro 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4279] dhcp4 (enp0s8): estado alterado limite -> limite
11 de janeiro 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Ativando via systemd: service name = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-dispatcher.service'
11 de janeiro 02:33:09 aleksandr-VirtualBox systemd [1]: Iniciando o serviço de distribuição de scripts do Network Manager ...
- Assunto: A unidade NetworkManager-dispatcher.service iniciou a inicialização
- Definido por: systemd
-- Apoio, suporte: 
- 
- A unidade NetworkManager-dispatcher.service iniciou a inicialização.
11 de janeiro 02:33:09 aleksandr-VirtualBox dhclient [792]: vinculado a 192.168.56.101 - renovação em 559 segundos.
Jan 11 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Serviço ativado com êxito 'org.freedesktop.nm_dispatcher'
11 de janeiro 02:33:09 aleksandr-VirtualBox systemd [1]: Iniciado o serviço de distribuição de scripts do Network Manager.
- Assunto: A unidade NetworkManager-dispatcher.service concluiu a inicialização
- Definido por: systemd
-- Apoio, suporte: 
- 
- A unidade NetworkManager-dispatcher.service terminou a inicialização.
- 
- O resultado da inicialização está concluído.
11 de janeiro 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: nova solicitação (1 scripts)
11 de janeiro, 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: comece a executar scripts ordenados ...

E quando systemctl status apache2.serviceé reaqest:

* apache2.service - servidor da web LSB: Apache2
   Carregado: carregado (/etc/init.d/apache2; ruim; predefinição de fornecedor: ativada)
  Drop-In: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   Ativo: falhou (resultado: código de saída) desde qua 11-01-2017 02:30:46 +08; 33min atrás
     Documentos: man: systemd-sysv-generator (8)
  Processo: 8023 ExecStop = / etc / init.d / apache2 stop (código = encerrado, status = 0 / SUCESSO)
  Processo: 2236 ExecReload = / etc / init.d / apache2 reload (código = encerrado, status = 0 / SUCESSO)
  Processo: 8177 ExecStart = / etc / init.d / apache2 start (código = encerrado, status = 1 / FAILURE)

11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: não encontrado
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: não encontrado
Jan 11 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Esse arquivo ou diretório não existe: AH02291: Não é possível acessar o diretório '/ etc / apache2 / logs /' para o log de erros principal
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Falha na verificação da configuração
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: Falha na ação 'configtest'.
11 de janeiro 02:30:46 aleksandr-VirtualBox apache2 [8177]: O log de erros do Apache pode ter mais informações.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Processo de controle encerrado, código = status encerrado = 1
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: falha ao iniciar o servidor da web LSB: Apache2.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: A unidade entrou no estado de falha.
11 de janeiro 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: falha com o resultado 'código de saída'.

O que está errado? Onde está uma interrupção? Por favor ajude!

A.Verber
fonte

Respostas:

8

Existem dois erros:


1. Por alguma razão, você /etc/apache2/envvarsestá ausente:

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

No meu sistema, este arquivo tem as seguintes permissões:

$ ls -l /etc/apache2/envvars

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

E seu conteúdo ( $ 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

Você pode criá-lo manualmente: sudo nano /etc/apache2/envvarscole o conteúdo acima dentro, salve ctrl+ oe saia ctrl+ x.


2. No seu sistema, a pasta /etc/apache2/logstambém está ausente:

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

Esta não é a pasta de log padrão, ela é definida em sua configuração personalizada e deve ser criada:

$ sudo mkdir /etc/apache2/logs
pa4080
fonte
Eu fiz como você escreveu. Infelizmente, ainda existe erro :( Então continuará pesquisando
A.Verber 10/17/17
@ A.Verber Ainda existe o mesmo erro ou algo mudou?
precisa saber é
11
@ A.Verber Estou procurando sua pergunta novamente. No seu sistema, o diretório /etc/apache2/logs/existe? Porque esta é a segunda mensagem de erro. Você pode tentar sudo mkdir /etc/apache2/logs.
precisa saber é
11
Sim! Depois de fazer o diretório dir, o erro desapareceu! Obrigado
A.Verber
5

Excluí arquivos .conf em sites disponíveis e não excluí os arquivos de link em sites habilitados.

Agora eu apaguei todos os arquivos nos sites ativados

servidor apache2 reiniciado (serviço sudo apache2 restart)

trabalhou para mim

espero que isso ajude alguém :)

Soundarya
fonte
me ajudou! thx ..
Lutei com um urso uma vez.
5

Eu tive o mesmo problema. Eu recebi o mesmo erro sudo service apache2 restarte corri sudo systemctl status apache2.servicee a linha vermelha foiFailed to start LSB: Apache2 web server.

Solução

execute o comando abaixo:

sudo apache2ctl configtest

Ele verifica se há erros (acho que há erros de sintaxe) e você pode depurar o erro.

Vahid
fonte
Sua solução me ajudou a resolver meu problema do apache2, obrigado.
S1awek 16/10/1919
4

Experimente estes comandos:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Em seguida, reinicie o serviço apache2.

arnauld
fonte
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
arnauld
0

No meu caso eu faço isso:

desinstalar e remover Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

reinstalar o apache2

sudo apt-get install apache2

sudo apache2ctl configtest

Correu para mim

Messou
fonte