Uma atualização recente fez com que meu servidor 16.04 não escutasse mais na porta 80

Uma atualização recente fez com que meu servidor 16.04 não escutasse mais na porta 80

Uma atualização recente tornou meu servidor em minha LAN inacessível na porta 80. Consegui fazer ssh nele em 22, e o nmap revelou que estava escutando em 22, 443, 3306 e 10000. No entanto, NÃO 80. Uma grande quantidade de cat em vários arquivos .conf não foi possível encontrar uma resposta.

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

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

Antes de ter a porta 80 disponível, não consegui fazer com que o systemctl status apache2.service funcionasse, no entanto, 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 se seguiram, mas o ponto mais importante foi phpmyadmin.conf e "pedido não permitido aqui".

Editei o phpmyadmin.conf e encontrei 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>

Comecei a comentar com # a linha com "Order", salve o arquivo conf e teste novamente. Cada vez que o erro seria exibido novamente com o número da linha incorreta incrementado em um. Quando eu tinha cada uma dessas cinco linhas antes do primeiro bloco de configuração ser comentado, tudo funcionou novamente. Nem meu filho nem eu conseguimos descobrir como o erro apareceu porque nenhum de nós editou o arquivo.

No entanto, finalmente me lembro que mais cedo naquele dia, entrei no servidor e fiz um ciclo de atualização/atualização. Essa é a única fonte possível dessas cinco linhas entrando no arquivo phpmyadmin.conf.

Devo admitir que fiquei totalmente perplexo ao descobrir que essa era a origem do problema. Na verdade, ele estava eliminando completamente o serviço apache2 para a porta 80. Finalmente percebi que o próprio arquivo apache2.conf estava incluindo os outros arquivos à medida que era carregado, introduzindo assim o arquivo conf problemático.

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

Espero que alguém possa se beneficiar dessas revelações.

Responder1

Ordem, alloe e deny obviamente não são permitidos naquele lugar. Eles só podem ser usados ​​com alguns módulos (https://httpd.apache.org/docs/2.2/howto/access.html)

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

informação relacionada