>>11 Viene rant:
Hasta que descubres que tenías mod_php activado sin darte cuenta porque al instalarlo en Debian/Ubuntu viene por defecto al instalar php en el año 2021. Si instalas php-fpm después, no te quita mod_php.
Gracias a la incompetencia de los mantenedores de httpd (o apache2 como lo llaman en el paquete) en Debian/Ubuntu, a diferencia de otras distros que van a eliminar del todo mod_php como Fedora, hay algo todavía peor en esas distros que favorecieron a la fama de nginx a pesar del lanzamiento de la 2.4: configuran el MPM por defecto a prefork en lugar de event, que es le predeterminado de httpd.
Event vino a mejorar lo que no tenía prefork para el mundo multicore y multihilo actual y por eso es el predeterminado desde hace muchos años. Con prefork no puedes usar HTTP/2 siquiera.
Debian/Ubuntu tampoco te permite hacer a2enmod mpm_event hasta que quites mod_php, porque es una dependencia dura de mpm_prefork.
Otros errores infantiles de configuración es no desactivar el AllowOverride. Recordemos que por cada petición (GET), de cualquier cosa, incluso imágenes, httpd busca la existencia de .htaccess de forma RECURSIVA. Cualquiera se puede imaginar lo que supone el cuello de botella. Para evitar esto, mete las cosas en el conf.d/ de httpd, que por lo general se puede copiar-pegar desde los .htaccess y funciona tras un reload.
El otro error típico es NO configurar httpd adecuadamente. Es *fundamental* desactivar módulos que no necesitas para ahorrar tiempo de carga y consumo de memoria de procesos e hilos. En muchas distros vienen TODOS los módulos habilitados por defecto. En Debian/Ubuntu vienen bastantes inútiles activados y bastantes útiles desactivados (es básico habilitar mod_h2, por ejemplo, o mod_proxy_http si usas php-fpm).