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
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.
Post relacionado
Configuración del módulo ProxyPass de Apache
Enlaces