Como configurar un host virtual en Debian con Apache
Tabla de contenido:
En este tutorial, le explicaremos cómo configurar Apache Virtual Hosts en Debian 9.
Apache Virtual Hosts le permite alojar más de un dominio en una sola máquina. Al usar hosts virtuales, puede especificar una raíz de documento diferente (el directorio que contiene los archivos del sitio web) para cada dominio o subdominio, crear una política de seguridad separada, usar diferentes certificados SSL y mucho más.
Aunque este tutorial está escrito para Debian 9, se aplican los mismos pasos para todas las distribuciones basadas en Debian.
Prerrequisitos
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Tenga un nombre de dominio que apunte a la dirección IP de su servidor. En este tutorial usaremos
example.com
Tenga instalado Apache en su servidor Debian. Ingresó como usuario con privilegios de sudo.
Crear la estructura del directorio
La raíz del documento es un directorio donde se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. Puede configurar la raíz del documento en cualquier ubicación que desee. En esta guía usaremos la siguiente estructura de directorios:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html
Cada dominio alojado en nuestro servidor tendrá su raíz de documento establecida en
/var/www/ /public_html
/var/www/ /public_html
.
Comencemos creando el directorio raíz del documento para nuestro primer dominio,
example.com
:
sudo mkdir -p /var/www/example.com/public_html
También crearemos un archivo
index.html
dentro del directorio raíz del documento de dominio que se mostrará cuando visite el dominio en su navegador.
Abra su editor de texto favorito, cree un nuevo archivo y pegue lo siguiente en él:
/var/www/example.com/public_html/index.html
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
Estamos ejecutando los comandos como un usuario sudo y los archivos y directorios recién creados son propiedad del usuario raíz.
Para evitar problemas de permisos, cambiaremos la propiedad del directorio raíz del documento de dominio y todos los archivos dentro de ese directorio al usuario de apache (
www-data
):
sudo chown -R www-data: /var/www/example.com
Crear un host virtual
En los sistemas Debian, los archivos de configuración de los Hosts virtuales Apache se encuentran en el directorio
/etc/apache2/sites-available
y se pueden habilitar creando enlaces simbólicos al directorio
/etc/apache2/sites-enabled
.
Abra el editor de texto de su elección y cree el siguiente archivo básico de configuración de Virtual Host:
/etc/apache2/sites-available/example.com.conf
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
-
ServerName
: el dominio que debe coincidir con esta configuración de host virtual. Este debería ser tu nombre de dominio.ServerAlias
: todos los demás dominios o subdominios que también deberían coincidir con este host virtual, generalmente el subdominiowww
.DocumentRoot
: el directorio desde el cual Apache servirá los archivos de dominio.Options
: esta directiva controla qué funciones del servidor están disponibles en un directorio específico.-
-Indexes
: evita listados de directorios.FollowSymLinks
: cuando esta opción está habilitada, Apache seguirá los enlaces simbólicos.
AllowOverride
: especifica qué directivas declaradas en el archivo.htaccess
pueden anular las directivas de configuración.ErrorLog
,CustomLog
: especifica la ubicación de los archivos de registro. -
Puede nombrar el archivo de configuración de Virtual Host como desee, pero se recomienda utilizar el nombre de dominio como el nombre del archivo de configuración.
Para habilitar el nuevo archivo de host virtual, cree un enlace simbólico desde el archivo de host virtual al directorio
sites-enabled
para
sites-enabled
, que Apache lee durante el inicio.
En los sistemas Debian, puede habilitar el host virtual utilizando un script auxiliar llamado
a2ensite
:
sudo a2ensite example.com
La otra opción es crear manualmente un enlace simbólico como se muestra a continuación:
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/
Una vez que la configuración esté habilitada, pruebe si la sintaxis es correcta escribiendo:
sudo apachectl configtest
Si no hay errores, verá el siguiente resultado:
Syntax OK
Reinicie el servicio
apache2
para que los cambios surtan efecto:
sudo systemctl restart apache2
Para verificar que todo funcione como se esperaba, abra
http://example.com
en su navegador favorito y verá algo como esto:
Conclusión
En este tutorial, aprendió a crear una configuración de Apache Virtual Host para alojar múltiples dominios en un único servidor Debian. Puede repetir los mismos pasos para crear hosts virtuales adicionales para sus otros dominios.
Apache DebianEsta publicación es parte de Cómo instalar LAMP Stack en la serie Debian 9.
Otras publicaciones en esta serie:
• Cómo instalar Apache en Debian 9 • Cómo instalar PHP en Debian 9 • Cómo configurar hosts virtuales Apache en Debian 9 • Cómo instalar MariaDB en Debian 9 • Apache seguro con Let's Encrypt en Debian 9Configurar y usar Hyper-V: Crear máquinas virtuales en Windows

Este tutorial de captura de pantalla enumera los pasos detallados para configurar y utilice Hyper-V en Windows 10/8 y cree máquinas virtuales o máquinas virtuales.
Cómo configurar hosts virtuales apache en centos 7

En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en un servidor CentOS 7. Apache Virtual Hosts permite que múltiples sitios web se ejecuten en un servidor web.
Cómo configurar hosts virtuales apache en ubuntu 18.04

En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en Ubuntu 18.04. Apache Virtual Hosts le permite ejecutar más de un sitio web en una sola máquina.