
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, explicaremos cómo instalar Apache en Debian 10, Buster.
Requisitos previos #
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando Apache #
Los paquetes de Apache están disponibles en los repositorios predeterminados de Debian.
La instalación es bastante sencilla. Actualice el índice del paquete e instale el servidor web Apache con los siguientes comandos:
sudo apt update
sudo apt install apache2
Eso es todo, Apache está instalado y se inicia automáticamente. Para comprobar el tipo de estado:
sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Active: active (running) since Sat 2019-07-27 13:55:49 PDT; 21s ago
...
Ajustar el cortafuegos #
Los usuarios de UFW pueden abrir HTTP (80
) y HTTPS (443
) puertos habilitando el perfil 'Nginx Full':
sudo ufw allow 'Apache Full'
Si está utilizando nftables para filtrar las conexiones a su sistema, abra los puertos necesarios emitiendo el siguiente comando:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Verificación de la instalación de Apache #
Para verificar que Apache 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 contiene información básica sobre los archivos de configuración de Apache, las secuencias de comandos auxiliares y las ubicaciones de los directorios.
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/apache2
directorio. - El archivo de configuración principal de Apache es
/etc/apache2/apache2.conf
. - Los puertos que escuchará Apache se especifican en
/etc/apache2/ports.conf
archivo. - Los archivos de hosts virtuales de Apache se encuentran en
/etc/apache2/sites-available
directorio. Apache no utiliza los archivos de configuración que se encuentran en este directorio a menos que estén vinculados a/etc/apache2/sites-enabled
directorio. - Puede activar una directiva de host virtual creando un enlace simbólico usando el
a2ensite
comando de los archivos de configuración que se encuentran ensites-available
directorio alsites-enabled
directorio. Para desactivar un host virtual, use ela2dissite
comando. - Se recomienda encarecidamente seguir la convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es
mydomain.com
entonces 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-available
directorio. Configuraciones en elmods-available
El directorio se puede habilitar creando un enlace simbólico a/etc/apache2/mods-enable
directorio usando ela2enconf
comando y deshabilitado con ela2disconf
comando. - Los archivos que contienen fragmentos de configuración global se almacenan en
/etc/apache2/conf-available
directorio. Archivos en elconf-available
El directorio se puede habilitar creando un enlace simbólico al/etc/apache2/conf-enabled
usando ela2enconf
comando y deshabilitado con ela2disconf
comando. - Archivos de registro de Apache (
access.log
yerror.log
) se encuentran en el/var/log/apache
directorio. Se recomienda utilizar diferentesaccess
yerror
archivos 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>