Haciendo del Desarrollo y la Arquitectura Web, ciencia y pasión.

Comandos Apache

Aquí va una lista de los comandos más habituales para administrar el servidor web Apache HTTP Server en sistemas Linux/Unix y Windows:

📌 Comandos básicos en Linux/Unix (systemd - Ubuntu/Debian/CentOS)

Iniciar, detener, reiniciar y ver el estado de Apache:

sudo systemctl start apache2    # Iniciar Apache (en Debian/Ubuntu)
sudo systemctl start httpd      # Iniciar Apache (en CentOS/RHEL)
sudo systemctl stop apache2     # Detener Apache
sudo systemctl restart apache2  # Reiniciar Apache (cierra y abre conexiones)
sudo systemctl reload apache2   # Recargar configuración sin reiniciar (sin caída)
sudo systemctl status apache2   # Ver estado del servicio

Habilitar/deshabilitar inicio automático:

sudo systemctl enable apache2   # Iniciar automáticamente al arrancar el sistema
sudo systemctl disable apache2  # Desactivar inicio automático

Ver errores y logs:

sudo tail -f /var/log/apache2/error.log  # Monitorizar errores en tiempo real (Debian/Ubuntu)
sudo tail -f /var/log/httpd/error_log    # CentOS/RHEL

📌 Comandos en Windows (si Apache está instalado como servicio):

net start Apache2.4     # Iniciar Apache
net stop Apache2.4      # Detener Apache
httpd -k restart        # Reiniciar (desde la terminal con permisos)
httpd -k graceful       # Recargar configuración sin desconexiones

📌 Comandos generales útiles:

Probar sintaxis de configuración antes de reiniciar:

sudo apachectl configtest  # Verificar errores en archivos de configuración

Ver versión de Apache:

apache2 -v    # Debian/Ubuntu
httpd -v      # CentOS/RHEL

Listar módulos instalados:

apache2ctl -M   # Debian/Ubuntu
httpd -M        # CentOS/RHEL

📌 Gestión de hosts virtuales (vhosts):

  • Habilitar un sitio (en Debian/Ubuntu):
    sudo a2ensite mi-sitio.conf    # Habilitar sitio
    sudo a2dissite mi-sitio.conf   # Deshabilitar sitio
    
  • Habilitar módulos (como rewrite):
    sudo a2enmod rewrite    # Activar módulo
    sudo a2dismod rewrite   # Desactivar módulo
    

🔍 Notas importantes:

  • En CentOS/RHEL/Fedora, el nombre del servicio suele ser httpd en lugar de apache2.
  • Después de cambios en la configuración, siempre verifica con sudo apachectl configtest antes de reiniciar.
  • Si usas XAMPP, los comandos son distintos (ej: /opt/lampp/lampp start en Linux).