Browse Tag: virtualhost

Configuración de VirtualHost en Linux Debian con Apache2

Tras la actualización del último post “Instalación de Apache2 con PHP5 y MySQL en Debian Squeeze” traigo el tema de cómo configurar sitios web o servidores dinámicos con estas tecnologías.

El término VirtualHost (Hosting Virtual) se refiere a hacer funcionar más de un sitio web en una sola máquina. Los sitios web virtuales pueden estar “basados en direcciones IP“, lo que significa que cada sitio web tiene una dirección IP diferente, o “basados en nombres diferentes“, lo que significa que con una sola dirección IP están funcionando sitios web con diferentes nombres de dominios. El hecho de que estén funcionando en la misma máquina física pasa completamente desapercibido para el usuario que el sitio que visita esté conviviendo con otros.

Nota preliminar

En guía se utiliza la dirección IP 192.168.1.5. Estos ajustes podrían ser diferentes para usted, así que debes sustituirlos en caso necesario.

Por defecto el directorio raíz del Apache2 en Linux Debian es /var/www y tras la instalación se crea también un fichero index.html. Este directorio es accesible desde la dirección IP con la que está configurada la maquina o servidor a través de la configuración creada en el virtualhost por defecto (default) que se encuentra en /etc/apache2/sites-available.

Modificaremos esta configuración creada por defecto tras la instalación de Apache2 para evitar que puedan ser accesibles otros directorios creados en /var/www que utilizaremos para hospedar los sitios web.

Modificar el directorio raíz por defecto del virtualhost default

Creamos el directorio default

mkdir /var/www/default

Movemos el fichero index.html para nuevo directorio creado

mv /var/www/index.html /var/www/default/

Nota: El fichero index.html puede ser modificado también para mostrar un mensaje personalizado cuando se acceda directamente al servidor a través de la IP, para ello necesitaremos editar el HTML.

nano /var/www/default/index.html
<h1>¡Este es el servidor virtual de REGOREMOR!</h1>
 
Esta es la página web predeterminada para este servidor.
 
El software del servidor Web se está ejecutando.

Ahora modificamos la configuración del virtualhost default

nano /etc/apache2/sites-available/default

Solo modificamos las las rutas al directorio raíz

DocumentRoot /var/www/default
...

Debemos reiniciar Apache después:

invoke-rc.d apache2 restart

Ahora dirige tu navegador a http://192.168.1.5 y usted debería ver una página con el texto modificado del fichero index.html

it-works-personalizado

Configuración básica del VirtualHost

Primero que todo en los DNS públicos o privados deben estar registrados los dominios y/o alias que apuntarán a la IP del servidor en este caso (192.168.1.5).

dominio.com     A     192.168.1.5
www.dominio.com    A     192.168.1.5

Crearemos el directorio donde hospedaremos el sitio web que posteriormente configuraremos el DocumentRoot & Directory en el VirtualHost.

Podemos darle como nombre del directorio el nombre del dominio que apunta a este sitio (dominio.com).

mkdir /var/www/dominio.com

Creamos un fichero de prueba

nano /var/www/dominio.com/index.php
<h1>Hola Mundo desde mi dominio.com</h1>
Esto es una página de prueba

Creamos y configuramos el VirtualHost

nano /etc/apache2/sites-available/dominio.com
<VirtualHost *:80>
    ServerName dominio.com
    ServerAlias www.dominio.com
 
    DocumentRoot /var/www/dominio.com/
 
    ServerSignature On
 
    ErrorLog /var/log/apache2/dominio.com-error.log
 
    LogLevel warn
 
    CustomLog /var/log/apache2/dominio.com-access.log combined
 
    <Directory "/var/www/dominio.com/">
    Options Indexes FollowSymLinks MultiViews ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Habilitamos el VirtualHost en el Apache

cd /etc/apache2/sites-available/
a2ensite dominio.com

Debemos reiniciar Apache después

invoke-rc.d apache2 restart

Dirija su navegador a http://dominio.com o http://www.dominio.com y usted debería ver una página con el texto del fichero de prueba.

hola-mundo-test

Post relacionado

Configuración del módulo ProxyPass de Apache

Enlaces

Apache: http://httpd.apache.org/docs/2.0/vhosts/