Una actualización reciente provocó que mi servidor 16.04 ya no escuchara en el puerto 80

Una actualización reciente provocó que mi servidor 16.04 ya no escuchara en el puerto 80

Una actualización reciente hizo que mi servidor en mi LAN fuera inaccesible en el puerto 80. Pude acceder a él mediante ssh en 22, y nmap reveló que estaba escuchando en 22, 443, 3306 y 10000. Sin embargo, NO en 80. Una gran cantidad de cat en varios archivos .conf no logró obtener una respuesta.

Por fin después de muchas horas, la primera respuesta en este post:de Florian Diesch reveló el primer paso para descubrir el problema.

Su sugerencia de colocar otro servidor en esa máquina como este: sudo python -m SimpleHTTPServer 80, reveló que realmente no había un problema con apache2, solo que uno de los archivos conf estaba roto.

Antes de tener el puerto 80 disponible, no podía hacer que systemctl status apache2.service funcionara en absoluto; sin embargo, después de escuchar un poco el puerto 80 con el fragmento de Python anterior, obtuve 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.
 .......

Siguieron varias líneas más, pero el punto más destacado fue phpmyadmin.conf y "orden no permitido aquí".

Edité phpmyadmin.conf y encontré esto:

    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>

Procedí a comentar con # la línea con "Pedido", guardé el archivo de configuración y luego probé nuevamente. Cada vez, el error se mostraba nuevamente con el número de línea infractor incrementado en uno. Cuando tuve cada una de esas cinco líneas antes de comentar el primer bloque de configuración, todo volvió a funcionar. Ni mi hijo ni yo pudimos entender cómo apareció el error porque ninguno de los dos había editado el archivo.

Sin embargo, finalmente recuerdo que ese mismo día, había ingresado por ssh al servidor e hice un ciclo de actualización/actualización. Esa es la única fuente posible para que estas cinco líneas ingresen al archivo phpmyadmin.conf.

Debo admitir que quedé totalmente perplejo al descubrir que esa era la fuente del problema. En realidad, estaba eliminando completamente el servicio apache2 para el puerto 80. Finalmente me di cuenta de que el archivo apache2.conf incluía los otros archivos a medida que se cargaba, introduciendo así el archivo conf problemático.

12 horas de solución de problemas, pero finalmente lo hice funcionar después de seguir a muchos conejos por varios agujeros durante MUCHAS búsquedas.

Espero que alguien más pueda beneficiarse de estas revelaciones.

Respuesta1

Ordenar, alle y deny obviamente no están permitidos en ese lugar. Sólo se pueden utilizar con algunos módulos (https://httpd.apache.org/docs/2.2/howto/access.html)

Antes de su actualización, es posible que la versión de Apache haya ignorado o advertido sobre el error. La nueva versión decide fallar. Cuando tenga problemas como este, ejecute siempre el programa Apache configtest y, si el error no es obvio, busque las directivas en el manual de Apache.

información relacionada