Uma atualização recente resultou no meu servidor 16.04 não mais atendendo na porta 80

1

Uma atualização recente fez meu servidor na minha lan inacessível na porta 80. Eu pude fazer o ssh nele em 22, e o nmap revelou que estava escutando em 22, 443, 3306 e 10000. No entanto, NÃO 80. Um ótimo Um acordo de gato em vários arquivos .conf não conseguiu uma resposta.

Finalmente, depois de muitas horas, a primeira resposta deste post: por Florian Diesch revelou a primeiro passo para descobrir o problema.

Sua sugestão para colocar outro servidor naquela máquina assim: sudo python -m SimpleHTTPServer 80, revelou que não havia realmente um problema com o apache2, apenas que um dos arquivos conf foi quebrado.

Antes de ter a porta 80 disponível, eu não consegui systemctl status apache2.service para funcionar, mas depois de ouvir a porta 80 com o snippet python acima, obtive este resultado:

systemctl status apache2.service
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
       └─apache2-systemd.conf
Active: failed (Result: exit-code) since Tue 2017-06-13 20:40:43 EDT; 
39s ago
 Docs: man:systemd-sysv-generator(8)
 Process: 4411 ExecStart=/etc/init.d/apache2 start (code=exited, 
 status=1/FAILURE)

 Jun 13 20:40:43 s2 apache2[4411]:  * The apache2 configtest failed.
 Jun 13 20:40:43 s2 apache2[4411]: Output of config test was:
 Jun 13 20:40:43 s2 apache2[4411]: AH00526: Syntax error on line 5 of 
 /etc/apache2/conf-enabled/phpmyadmin.conf:
 Jun 13 20:40:43 s2 apache2[4411]: order not allowed here
 Jun 13 20:40:43 s2 apache2[4411]: Action 'configtest' failed.
 Jun 13 20:40:43 s2 apache2[4411]: The Apache error log may have more 
 information.
 .......

Várias outras linhas foram seguidas, mas o ponto principal foi o phpmyadmin.conf e a "ordem não permitida aqui".

Eu editei o phpmyadmin.conf e achei isto:

    Alias /phpmyadmin /usr/share/phpmyadmin

    Order Deny, Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.1.0
    Allow from 192.1.1

    <Directory /usr/share/phpmyadmin>
         various configs .....
    </Directory>

Eu comecei a comentar com # a linha com "Order", salve o arquivo conf e teste novamente. Cada vez que o erro iria mostrar novamente com o número da linha ofensiva incrementado em um. Quando eu tinha cada uma dessas cinco linhas antes do primeiro bloco de configuração, tudo funcionou novamente. Nem meu filho nem eu poderíamos descobrir como o erro apareceu porque nenhum de nós editou o arquivo.

No entanto, finalmente me lembro de que no início daquele dia, eu tinha ssh'd no servidor e fiz um ciclo de atualização / atualização. Essa é a única fonte possível dessas cinco linhas que entram no arquivo phpmyadmin.conf.

Devo admitir que fiquei totalmente perplexo ao descobrir que essa era a fonte do problema. Ele estava realmente matando o serviço apache2 completamente para a porta 80. Eu finalmente percebi que o próprio arquivo apache2.conf estava incluindo os outros arquivos conforme eles eram carregados, introduzindo assim o arquivo conf do problema.

12 horas de solução de problemas, mas finalmente funcionou depois de seguir muitos muitos coelhos em vários buracos em MUITAS pesquisas.

Espero que outra pessoa possa se beneficiar dessas revelações.

    
por Jim Smith 14.06.2017 / 12:01

1 resposta

0

Ordem, alloe e negar não são permitidas naquele lugar. Eles só podem ser usados com alguns módulos ( link )

Antes da atualização, a versão do apache pode ter ignorado ou avisado sobre o erro. A nova versão escolhe falhar. Quando você tiver problemas como esse, sempre execute o programa apache configtest, e se o erro não for óbvio, procure as diretivas no manual do Apache.

    
por Soren A 14.06.2017 / 12:35