O Apache não pode escrever pid após a atualização 2.4

3
# service apache2 start
 * Starting web server apache2                                                                                                             
 AH00112: Warning: DocumentRoot [<removed>/public_html] does not exist
 * 
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems

/var/apache2/error.log:

[Sun Mar 19 15:15:41.234542 2017] [ssl:warn] [pid 6491] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Sun Mar 19 15:15:41.272641 2017] [ssl:warn] [pid 6492] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Sun Mar 19 15:15:41.272744 2017] [core:error] [pid 6492] (13)Permission denied: AH00099: could not create /var/run/apache2/apache2.pid
[Sun Mar 19 15:15:41.272765 2017] [core:error] [pid 6492] AH00100: apache2: could not log pid to file /var/run/apache2/apache2.pid

Acabei de atualizar o Ubuntu (Server) de 12.04 LTS para 14.04 LTS e, assim, o Apache de 2.2 para 2.4. Atualizei boa parte da configuração, mas por alguma razão o Apache parece não ser capaz de escrever seu próprio arquivo pid, apesar de eu ter tentado todas as combinações de permissões que fariam algum sentido:

drwxrwxr-x  2 root www-data  40 Mar 19 14:55 /var/run/apache2

O Apache não é chrooting e o SELinux está desativado. Eu fiz o login como www-data e testei que ele tem permissões para criar o arquivo pid.

A linha sobre a raiz do documento não existente é o mesmo problema, pois o www-data tem acesso a ele através de acls. Eu também desativei uma diretiva Mutex que fez com que o Apache reclamasse de não ser capaz de criar um arquivo mutex, exatamente da mesma maneira que este arquivo pid, mas um lugar completamente diferente.

Não consigo pensar em nada que possa estar causando isso e gostaria de receber ajuda.

    
por gandaliter 19.03.2017 / 16:28

2 respostas

0

Não posso comentar ou adicionaria isso como um comentário em vez de uma resposta, mas meu / var / run / apache2 é de propriedade de root

drwxr-xr-x  2 root  root    60 Mar 18 18:50 apache2

verifique se o / var / www tem as permissões certas. Eu estou no 16.04 agora, mas eu lembro que em um ponto todos os meus arquivos apache estavam na pasta / var / www, enquanto que agora eles estão em / var / www / html, então ymmv

drwxr-xr-x  3 root root   4096 Mar  7 00:22 www


drwxr-xr-x  3 www-data www-data 4096 Mar 11 21:07 html

se você tiver uma pasta html, pode ser uma ideia executar

sudo chown -R www-data:www-data /var/www/html
    
por Will 19.03.2017 / 16:35
0

O problema foi corrigido. Aconteceu que era algo a ver com o Apparmor não permitindo a criação do arquivo pid, mesmo que fosse explicitamente permitido no arquivo de configuração. Vou postar mais detalhes quando descobrir o que estava acontecendo.

    
por gandaliter 20.03.2017 / 16:03