Crear un host virtual puede resultar muy útil en distintos escenarios. Uno de los más comunes es la posibilidad de probar sitios web de forma local utilizando la misma URL que en producción. De este modo, en lugar de acceder mediante rutas como localhost/misitio/, podremos usar direcciones como www.misitio.com, evitando problemas relacionados con redirecciones, URLs amigables y enlaces relativos.
Para crear un servidor virtual necesitamos tener Apache instalado. En este ejemplo utilizaremos
XAMPP, un paquete de software libre y multiplataforma que incluye Apache, PHP, MySQL y otros
servicios. Puedes descargarlo desde:
https://www.apachefriends.org/es/index.html
Su instalación es sencilla: basta con seguir el asistente. Una vez instalado, procederemos a configurar nuestro host virtual.
1. Modificar el archivo hosts
El primer paso es editar el archivo hosts. En Windows puedes usar el Bloc de notas, y en Linux cualquier editor como nano, gedit o similar.
Rutas del archivo:
En Windows:
C:\Windows\System32\drivers\etc\hosts
En Linux:
/etc/hosts
Al final del archivo, agrega las líneas correspondientes a tu dominio local. Por ejemplo:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
# Mi primer virtual host
127.0.0.1 www.richardcollao.cl
Guarda los cambios y cierra el archivo.
2. Editar el archivo httpd.conf
Rutas:
En Windows:
C:\xampp\apache\conf\httpd.conf
En Linux:
/opt/lampp/apache/conf/httpd.conf
Busca la siguiente línea y descoméntala (elimina el símbolo #):
# Include conf/extra/httpd-vhosts.conf
Debe quedar así:
Include conf/extra/httpd-vhosts.conf
En versiones recientes de Apache, esta línea suele venir habilitada por defecto. Guarda los cambios.
3. Configurar el archivo httpd-vhosts.conf
Rutas:
En Windows:
C:\xampp\apache\conf\extra\httpd-vhosts.conf
En Linux:
/opt/lampp/apache/conf/extra/httpd-vhosts.conf
Aunque XAMPP utiliza por defecto la carpeta htdocs, es recomendable crear un directorio dentro de tu carpeta de usuario para organizar tus proyectos.
Ejemplo:
En Windows:
C:\Users\usuario\www\richardcollao
En Linux:
/home/usuario/www/richardcollao
Luego, abre el archivo httpd-vhosts.conf y añade al final la configuración del host virtual.
Ejemplo en Windows:
DocumentRoot "C:\xampp\htdocs"
ServerName localhost
DocumentRoot "C:\Users\usuario\www\richardcollao"
ServerName www.richardcollao.cl
<Directory "C:\Users\usuario\www\richardcollao">
AllowOverride All
Require all granted
</Directory>
Ejemplo en Linux:
DocumentRoot "/opt/lampp/htdocs"
ServerName localhost
DocumentRoot "/home/usuario/www/richardcollao"
ServerName www.richardcollao.cl
<Directory "/home/usuario/www/richardcollao">
AllowOverride All
Require all granted
</Directory>
Guarda los cambios y cierra el archivo.
Nota importante
El nuevo host virtual incluye la directiva <Directory>, que otorga permisos a la carpeta del proyecto. Esto es necesario porque el sitio se encuentra fuera de la carpeta htdocs, por lo que no hereda sus permisos.
Si omites esta configuración, es probable que obtengas un error 403:
Acceso prohibido!
Usted no tiene permiso para acceder al directorio solicitado.
No existe un documento índice o el directorio está protegido contra lectura.
Con esto listo, solo queda reiniciar el servicio de Apache. A partir de ese momento podrás trabajar con tu host virtual configurado correctamente.