Configurar Apache HTTPD en AlmaLinux: Stack LAMP Completo 2025

Apache HTTPD sigue siendo relevante para:

  • Compatibilidad: Soporte nativo para .htaccess y aplicaciones legacy
  • Flexibilidad: Módulos dinámicos (PHP, Python, Perl)
  • Soporte empresarial: Ideal para sistemas con software antiguo
  • Facilidad de uso: Configuración más intuitiva que Nginx

📊 Estadística: 31% de los sitios web usan Apache según Netcraft (2025)

🛠️ Instalación Básica de Apache #

Instalar paquetes necesarios #

1
sudo dnf install httpd httpd-tools -y

Iniciar y habilitar el servicio #

1
sudo systemctl enable --now httpd

Verificar estado #

1
sudo systemctl status httpd

Salida esperada: Active: active (running)

📂 Estructura de Directorios Clave #

RutaPropósito
/etc/httpd/conf/httpd.confConfiguración principal
/etc/httpd/conf.d/Configs adicionales
/var/www/html/Contenido web por defecto
/var/log/httpd/Logs de acceso/errores

🖥️ Configurar Virtual Hosts #

Ejemplo básico (/etc/httpd/conf.d/misitio.conf):

1
2
3
4
5
6
7
8
9
<VirtualHost *:80>
    ServerName misitio.com
    DocumentRoot /var/www/html/misitio
    <Directory /var/www/html/misitio>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Comandos para aplicar cambios:

1
2
3
sudo systemctl restart httpd
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

🧩 Stack LAMP Completo #

Instalar PHP y MySQL #

1
sudo dnf install php php-mysqlnd php-json mariadb-server -y

Configurar MariaDB #

1
2
sudo systemctl enable --now mariadb
sudo mysql_secure_installation

Probar PHP #

1
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/misitio/info.php

⚖️ Comparativa Apache vs Nginx (2025) #

CaracterísticaApacheNginx
Modo de trabajoProceso/ThreadEvento
Rendimiento PHP7,200 req/seg8,500 req/seg
Consumo memoria350MB (10K conex)120MB
Facilidad config★★★★★★★★☆☆
Soporte .htaccessNativoRequire rewrite
HTTP/3ExperimentalSoporte completo

⚡ Optimización de Apache #

Ajustes en /etc/httpd/conf/httpd.conf:

1
2
3
4
5
6
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
StartServers 5
MinSpareServers 5
MaxSpareServers 10

🚨 Solución de Problemas Comunes #

Error: “Could not reliably determine…” #

1
echo "ServerName localhost" | sudo tee -a /etc/httpd/conf/httpd.conf

Error: “403 Forbidden” #

1
2
sudo chown -R apache:apache /var/www/html/misitio
sudo chmod -R 755 /var/www/html

📌 Conclusión #

Con esta guía has aprendido a:

  • Instalar Apache HTTPD en AlmaLinux
  • Configurar hosts virtuales
  • Implementar stack LAMP completo
  • Optimizar para entornos productivos

Próximo paso: Proteger tu servidor con firewalld y fail2ban.

💡 Dato técnico: Apache soporta más de 60 módulos dinámicos, incluyendo mod_wsgi para Python y mod_perl.

Comparte

PatoJAD

Arquitecto de Soluciones

Soy Arquitecto de Soluciones con experiencia en entornos GNU/Linux desde 2012, mi sistema operativo principal. Apasionado por la tecnología, busco crecer profesionalmente sin perder de vista la colaboración y la gratitud. Agradezco a quienes han contribuido a este camino.

PatoJAD