Creación de un VirtualHost con Apache 2.2.x en FreeBSD 7

Activar el acceso al archivo de configuración de VirtualHosts.

# vi /usr/local/etc/apache22/httpd.conf

Include etc/apache22/extra/httpd-vhosts.conf

Para configurar un Huesped Virtual se debe especificar la información básica de este de manera similar a como se especificó la información del sitio.

# vi /usr/local/etc/apache22/extra/httpd-vhosts.conf

<VirtualHost *:80>

    ServerAdmin jimezam@mydomain.com

    DocumentRoot "/home/web"

    ServerName webserver.mydomain.com

</VirtualHost>

<VirtualHost *:80>
    ServerAdmin jimezam@mydomain.com
    DocumentRoot "/home/sistemas"
    ServerName sistemas.mydomain.com
    ServerAlias www.sistemas.mydomain.com
    ErrorLog "/var/log/sistemas-error_log"
    TransferLog "/var/log/sistemas-access_log"

    <Directory /home/sistemas>
        Allow from all
    </Directory>
</VirtualHost>

La modificación anterior indica que se crea el Huesped Virtual para el sitio sistemas.mydomain.com el cual tiene como raíz de su árbol de directorios web a /home/sistemas y a jimezam@mydomain.com como la dirección de correo de su administrador. Se especifican además la ubicación de los archivos de registro de acceso (CustomLog) y de error (ErrorLog). Lo mas conveniente es separarlos de los archivos de registro del sitio principal para facilitar su posterior depuración y manejo.

Un parámetro opcional permite establecer un alias del huesped virtual (ServerAlias) el cual es útil si se desea permitir el acceso a este con las www al comienzo.

La primera sección de VirtualHost corresponde con el huesped por defecto, es decir, el que será llamado en el caso en que la solicitud (nombre DNS) no corresponda con ninguno de los ServerName de los VirtualHost definidos a continuación, para nuestro caso, el definido inicialmente cuando no había huespedes virtuales.

Es importante tener en cuenta la sección Directory en el interior del VirtualHost ya que es necesaria debido a un sutil cambio en la configuración estándar de Apache 2.2.x la cual producirá sin esta modificación errores 403 en la consulta con el navegador y mensajes de registro del estilo de: client denied by server configuration error.

Crear el directorio al cual hace referencia el DocumentRoot del huesped virtual.

# mkdir /home/sistemas

# chown jimezam:jimezam /home/sistemas

El nombre del dominio de cada ServerName deberá ser resuelto por un DNS (o por un archivo hosts local en su defecto) para poder ser utilizado.

Leave a Reply

Your email address will not be published. Required fields are marked *