Cómo crear Host Virtuales con Apache en Debian 12
Para configurar hosts virtuales con Apache en Debian, primero debes crear un directorio para cada sitio web, luego crear un archivo de configuración de host virtual para cada uno, habilitarlos, y finalmente reiniciar Apache.Asegúrate de que el firewall permita el acceso a los puertos correctos
Primero crear directorios para los sitios web donde estarán alojadas las paginas web:
Crea una estructura de directorios para cada sitio web, por ejemplo
# mkdir -p /var/www/ejemplo.com/public_html # mkdir -p /var/www/otroejemplo.com/public_html
Demos asegurarnos de que el usuario Apache (generalmente www-data) tenga permisos sobre estos directorios.
Usando estas instrucciones:
# chown -R www-data:www-data /var/www/ejemplo.com# chmod -R 755 /var/www/ejemplo.com
Hecho esto ahora debemos Crear archivos de configuración de host virtual:
para eso vaya al directorio /etc/apache2/sites-available/
# cd /etc/apache2/sites-available/
Creamos un nuevo archivo de configuración para el sitio (se debe hacer esto por cada sitio creado), por ejemplo:
# nano ejemplo.com.conf
Agregamos la siguiente configuración básica en cada archivo (reemplazando con la información que corresponda en cada sitio)
<VirtualHost *:80>ServerAdmin webmaster@ejemplo.com ServerName ejemplo.com ServerAlias www.ejemplo.com DocumentRoot /var/www/ejemplo.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> Donde:
ServerAdmin: Dirección de correo electrónico del administrador del sitio.
ServerName: Nombre de dominio principal.
ServerAlias: Nombres de dominio alternativos.
DocumentRoot: Directorio donde se encuentran los archivos del sitio.
Listo ahora debemos habilitar los hosts virtuales: usando el comando a2ensite para habilitar los archivos de configuración así:
# a2ensite ejemplo.com.conf
NOTA:
Si usas un archivo de configuración predeterminado (000-default.conf), puedes deshabilitarlo con:
# a2dissite 000-default.conf
Para que todo quede funcional debemos reiniciar el servidor Apache para aplicar los cambios:
# systemctl restart apache2
Finalmente Si estás probando los hosts virtuales en tu propia máquina, edita el archivo /etc/hosts con:
# nano /etc/hosts
Quedaría algo así, dependiendo del numero de sitios creados
127.0.0.1 ejemplo.com
127.0.0.1 www.ejemplo.com 127.0.0.1 otroejemplo.com 127.0.0.1 www.otroejemplo.com