O Ubuntu Apache2 DefaultRuntimeDir deve ser um diretório válido, absoluto ou relativo ao ServerRoot


15

Eu tenho um servidor web executando o Ubuntu 17.04 com o qual estou tentando configurar Apache. Tudo correu muito bem até que eu decidi hospedar dois sites em uma única máquina através do virtualHosts. Agora apachese recusa a iniciar com até um único host habilitado. Cada vez que tento iniciar Apache, recebo este erro:

apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.

Nenhuma das minhas tentativas de corrigir isso chegou a algo incluindo:

apt purge apache2 && rm -r /etc/apache2 

Toda a linha 80 da mensagem de erro diz que é DefaultRuntimeDir ${APACHE_RUN_DIR}.

E em nenhum momento vejo onde ou o que APACHE_RUN_DIRé declarado.

Alguém pode me ajudar?

Respostas:


16

O comando

source /etc/apache2/envvars

resolvido o meu problema (depois de tentar todos os outros).

Para verificar se está tudo bem ou não, use o comando

apache2 -S

Eu achei que era mais rápido do que usando meus registros DNS.


1
Eu usei o, source /etc/apache2/envvarsmas depois disso meu diretório pessoal mudou de ~para homee quando eu escrevi o CD, ele apareceu -bash: cd: HOME not set. Quando entrei nos envvars uma das primeiras linhas é # this won't be correct after changing uide unset HOME. Alguma idéia de como consertar isso?
Mihail Minkov 21/03/19


6

O Apache2 usa /etc/apache2/envvarspara definir variáveis ​​de ambiente. Você pode usar essas informações para garantir que o diretório ${APACHE_RUN_DIR}aponte para que seja válido.

Eu estava enfrentando o mesmo problema ao atualizar de 14.04 para 17.04. O problema foi: ${APACHE_RUN_DIR}foi definido como /var/run/apache2, mas a pasta apache2 estava ausente /var/run.

A correção para mim foi: mkdir /var/run/apache2


7
mesmo se você criou a pasta ou se a pasta já está apresentada (como na minha situação), você deve executar o seguinte comando. source /etc/apache2/envvars
Peshmerge

você só precisa executar o comando envvares se estiver iniciando o Apache sem o script de inicialização, se estiver usando init.d / system.d, o arquivo será originado automaticamente.
Niyol 31/10/19

@Peshmerge THanks! você pode me dizer como retê-lo após a reinicialização? parece que na reinicialização, temos que executar manualmente esse comando toda vez
T.Todua 19/18

1

no meu caso, tratava-se da linha "Exigir tudo negado" no arquivo apache2.conf que (novamente) no meu caso foi digitado como apenas "Exigir negado"


0

Renomear o php5.6módulo apache ajuda a corrigir esse problema.

Pressione Ctrl+ Alt+ Te digite:

sudo a2dismod php5.6
sudo a2enmod php5.6

Em seguida, reinicie o serviço apache2:

sudo service apache2 restart
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.