En este artículo vamos a ver paso a paso la creación de un host virtual en nuestro servidor Apache, en este caso la versión 2.2 de este fantástico servidor. Nuestro objetivo es el siguiente:
- Crear un dominio, en este caso será midominio.com
- Crear un virtual host en Apache para que tenga su propio directorio raíz aislado del resto
- Que este dominio tenga sus propios ficheros de log en apache
El entorno de trabajo que vamos a utilizar es un servidor Apache 2.2 instalado sobre un Windows, pero se puede aplicar a cualquier instalación de Apache independientemente del sistema operativo empleado, lo único que cambiará será la ubicación de los ficheros de configuración de apache en el sistema de ficheros, pero el contenido es el mismo.
¿Dónde se definen los virtual hosts en apache? En Apache 2.2 el fichero de configuración httpd.conf (ubicado en el directorio conf de nuestra instalación de Apache) puede extenderse apoyándose en otros ficheros de configuración extra, esto permite una mayor flexibilidad y comodidad a la hora editar la configuración de nuestro servidor web. Abajo puedes ver una imagen de dónde se encuentran estos fichero de configuración extra:
|
Lo que haremos es hacer una copia del fichero llamado httpd-vhosts.conf y lo renombraremos a httpd-vhosts-midominio.conf. Abrimos el fichero que hemos creado con nuestro editor de textos y lo editamos. En este caso elegimos un virtual host por nombre de host (también se puede definir de forma similar por IP sustituyendo el nombre del host por la IP que queremos) de la siguiente forma:
![]() |
Vamos a explicar la definición que hemos hecho de nuestro nuevo host:
- El NameVirtualHost debe coincidir exactamente con la directiva VirtualHost
- En ServerAlias, hemos configurado dos, *.midominio.com significa que responderá a todos los subdominios del domino midominio.com, por ejemplo tanto www.midominio.com como ftp.midominio.com apuntarán a nuestro virtual host.
- Directiva Directory, importante, hemos de definir los permisos que damos sobre el nuevo directorio raíz de nuestra aplicación, caso de no definirlo no tendrás permisos para acceder a directorio.
- ErrorLog y CustomLog, hemos definido nuestros propios ficheros de log para nuestro host
Ahora tenemos que decirle a Apache que lea la configuración de nuestro nuevo host virtual, para ello tenemos que editar el fichero principal de configuración de Apache, httpd.conf. Lo abrimos con un editor de textos y buscamos por "vhosts.conf" para localizar el punto exacto donde hace referencia a los Virtual Hosts, y lo editamos de la siguiente forma:
|
Ya tenemos nuestro servidor configurado para el nuevo host, pero hemos de configurar el nuevo dominio para que apunte a nuestro servidor. Si no disponemos de un servidor DNS, podemos configurarlo en nuestra máquina local editando el fichero hosts que se encuentra en c:\windows\system32\drivers\etc para dar de alta el nuevo dominio como muestra la imagen inferior:
![]() |
Ya hemos terminado de configurar nuestro servidor, para que adopte la nueva configuración lo reiniciamos si estaba corriendo o lo arrancamos en caso contrario. Colocamos alguna página de prueba que sea distinta a la que tengamos en el documento raíz (DocumentRoot) de nuestro servidor para comprobar que efectivamente accede a nuestro nuevo web.
Ahora si accedemos a la dirección http://midominio.com:8080 accedemos a nuestro nuevo web, mientras que se accedemos a http://localhost:8080 accedemos al documento raíz.
¿Recuerdas que configuramos nuestro host para que tuviera ficheros de log propios? Vamos a comprobarlo, para ello abrimos el explorador y buscamos el directorio de logs de Apache, debe tener un contenido similar al de la figura.
|
Y con esto hemos terminado, podemos crear tantos hosts virtuales como queramos, y recuerda que junto con esto puedes definir directorios virtuales para concentrar contenidos bajo una misma ruta accesibles por todas las aplicaciones web de tu servidor Apache. Empleados conjuntamente te darán muchas opciones para estructurar tus webs en tu servidor.





