Definir un VirtualHost en Apache para Windows

Una vez instalado Apache en Windows, podemos proceder a definir un VirtualHost, VHost o Host Virtual el cual nos permitirá acceder a nuestro sitio a través del servidor web.

Antes que nada es necesario que definamos un dominio local para nuestro VirtualHost (para evitar utilizar localhost) en caso de que no contemos con un servidor de DNS.

Acceder al archivo de configuración

Para comenzar debemos recordar la ubicación donde instalamos Apache.

Una vez allí debemos abrir con un editor de textos el archivo: conf\httpd.conf

Permitir la utilización de Virtualhosts

Esta acción se realiza de diferentes maneras según la versión de Apache:

Versión 2.0.x

Quitar el comentario de la línea (sólo borrando el # inicial):

NameVirtualHost *:80

Versión 2.2.x

Quitar el comentario de la línea (sólo borrando el # inicial):

Include conf/extra/httpd-vhosts.conf

Agregar un VirtualHost

Nuevamente, dependiendo de la versión de Apache

Versión 2.0.x

Al final del texto de httpd.conf, copiar la plantilla propuesta y ajustarla

Versión 2.2.x

Editar el archivo conf\extra\httpd-vhosts.conf, borrar los virtualhosts definidos, copiar la plantilla propuesta y ajustarla

Reiniciar Apache

Procedemos a reiniciar el servicio de Apache para que tome la nueva configuración.

Probar el VirtualHost

Abrimos un navegador y accedemos al dominio local que hayamos determinado y veremos que se muestra el contenido correspondiente.

 

Plantilla de VirtualHost

<VirtualHost *:80>
    ServerAdmin user@localhost
    DocumentRoot SITE_PATH
    <Directory SITE_PATH>
        Options +Indexes
        Allow from All
    </Directory>
    DirectoryIndex INDEX_LIST
    ServerName DOMINIO_LOCAL
    ErrorLog logs/www-error_log
    CustomLog logs/www-access_log common
</VirtualHost>

A continuación les explico cada una de las líneas:

<VirtualHost *:80>

Define un VirtualHost. En lugar de * se podría indicar una dirección IP para que solamente se acceda al sitio a través de la misma y separado por dos puntos se indica el puerto, en este caso, el puerto por defecto 80.

ServerAdmin user@localhost

Establece el mail del administrador del VirtualHost (solo a fines nominativos)

DocumentRoot SITE_PATH

Determina la ubicación en disco donde se encuentra nuestro sitio. En SITE_PATH debemos indicar esa ruta.

<Directory SITE_PATH>

Define las configuraciones de la ruta a nuestro sitio. SITE_PATH debe establecerse igual que en la directiva DocumentRoot.

Options +Indexes

Indicamos de esta manera que se listen los archivos contenidos en el SITE_PATH si no se determinara uno por defecto.

Allow from All

Establece que todos los hosts puedan acceder al área indicada. La versión 2.2.x de Apache bloquea el acceso por defecto.

DirectoryIndex INDEX_LIST

Define el listado de archivos que el servidor web intentará abrir por defecto (en el orden presentado) cuando no se especifique uno. INDEX_LIST es una concatenación de archivos separados por coma: index.html, index.php

ServerName DOMINIO_LOCAL

Indica el dominio al cual responde este VirtualHost.

ErrorLog logs/www-error_log

Ubicación del log de errores

CustomLog logs/www-access_log common

Ubicación del log de accesos (requests) y su formato, en este caso “common”, el cual se encuentra definido previamente en la configuración de Apache

Ejemplo de VirtualHost configurado

<VirtualHost *:80>
    ServerAdmin andres@localhost
    DocumentRoot c:/www/site/
    <Directory c:/www/site/>
        Options +Indexes
        Allow from All
    </Directory>
    DirectoryIndex index.php
    ServerName virtualsite
    ErrorLog logs/virtualsite-error_log
    CustomLog logs/virtualsite-access_log common
</VirtualHost>

habiendo definido en el archivo hosts

127.0.0.1 virtualsite

Tagged with: , ,
Publicado en Aplicaciones
One comment on “Definir un VirtualHost en Apache para Windows
  1. […] partir de un VirtualHost que hayamos definido, según la versión de […]

Los comentarios están cerrados.