El servidor Apache HTTP es uno de los servidores web más populares del mundo. Es un servidor HTTP de código abierto y multiplataforma que alimenta un gran porcentaje de los sitios web de Internet. Apache proporciona muchas funciones potentes que se pueden ampliar a través de módulos adicionales.
En este tutorial, seguiremos los pasos para instalar Apache en un servidor Debian 9.
Requisitos previos #
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando Apache #
Apache está disponible en los repositorios predeterminados de Debian y la instalación es bastante sencilla.
 Primero actualice el índice del paquete y luego instale el apache2 paquete con los siguientes comandos:
sudo apt updatesudo apt install apache2
Eso es todo, Apache está instalado y se inicia automáticamente, puede verificar el estado del servicio de Apache con:
sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-08-23 20:04:47 UTC; 13s ago
 Main PID: 11604 (apache2)
   CGroup: /system.slice/apache2.service
           ├─11604 /usr/sbin/apache2 -k start
           ├─11608 /usr/sbin/apache2 -k start
           └─11609 /usr/sbin/apache2 -k start
 Ajustar el cortafuegos #
 Si usa iptables para filtrar las conexiones a su sistema, deberá abrir HTTP (80 ) y HTTPS (443 ) puertos.
Abra los puertos necesarios emitiendo el siguiente comando:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Verificación de la instalación de Apache #
 Para verificar que todo funciona correctamente, abra su navegador, escriba la dirección IP de su servidor o el nombre de dominio http://YOUR_IP_OR_DOMAIN/ y verá la página de bienvenida predeterminada de Apache como se muestra a continuación:
 La página incluye información básica sobre archivos de configuración de Apache, scripts auxiliares y ubicaciones de directorios.
Administrar el servicio de Apache con systemctl #
Ahora que Apache está instalado en su sistema Debian, puede tomarse un minuto para revisar y familiarizarse con los comandos básicos de administración del servicio de Apache:
Para detener el servicio de Apache, ejecute:
sudo systemctl stop apache2 Comience de nuevo, escribiendo:
sudo systemctl start apache2 Para reiniciar el servicio Apache:
sudo systemctl restart apache2 Vuelva a cargar Apache con una nueva configuración con:
sudo systemctl reload apache2 Si desea deshabilitar el servicio de Apache para que se inicie en el arranque:
sudo systemctl disable apache2 Y para volver a habilitarlo de nuevo:
sudo systemctl enable apache2 Estructura y mejores prácticas del archivo de configuración de Apache #
- En los sistemas basados en Debian, los archivos de configuración de Apache se encuentran en 
/etc/apache2directorio. - El archivo de configuración principal de Apache es 
/etc/apache2/apache2.conf. - Los puertos que escuchará Apache se especifican en 
/etc/apache2/ports.confarchivo. - Los archivos de hosts virtuales de Apache se encuentran en 
/etc/apache2/sites-availabledirectorio. Apache no utiliza los archivos de configuración que se encuentran en este directorio a menos que estén vinculados a/etc/apache2/sites-enableddirectorio. - Puede activar una directiva de host virtual creando un enlace simbólico usando el 
a2ensitecomando de los archivos de configuración que se encuentran ensites-availabledirectorio alsites-enableddirectorio. Para desactivar un host virtual, use ela2dissitecomando. - Se recomienda encarecidamente seguir la convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es 
mydomain.comentonces el archivo de configuración del dominio debe llamarse/etc/apache2/sites-available/mydomain.com.conf - Los archivos de configuración que se utilizan para cargar varios módulos de Apache se encuentran en 
/etc/apache2/mods-availabledirectorio. Configuraciones en elmods-availableEl directorio se puede habilitar creando un enlace simbólico a/etc/apache2/mods-enabledirectorio usando ela2enconfcomando y deshabilitado con ela2disconfcomando. - Los archivos que contienen fragmentos de configuración global se almacenan en 
/etc/apache2/conf-availabledirectorio. Archivos en elconf-availableEl directorio se puede habilitar creando un enlace simbólico al/etc/apache2/conf-enabledusando ela2enconfcomando y deshabilitado con ela2disconfcomando. - Archivos de registro de Apache (
access.logyerror.log) se encuentran en el/var/log/apachedirectorio. Se recomienda utilizar diferentesaccessyerrorarchivos de registro para cada host virtual. - Puede establecer el directorio raíz de documentos de su dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroot incluyen:
/home/<user_name>/<site_name>/var/www/<site_name>/var/www/html/<site_name>/opt/<site_name>