
En este tutorial vamos a ver como configurar un Host Virtual en Apache2 basado en Nombre e popular servidor web de software libre y c贸digo abierto.
Hay varios tipos de Virtual Host el m谩s popular es el basado en Nombre y es el que aprenderemos a configurar a continuaci贸n
Tabla de contenido
Que es un Host Virtual (贸 Virtual Host) basado en Nombre
No es m谩s que hospedar m煤ltiples dominios del estilo (www.ejemplo.com, www.otrodominio.com, etc) bajo una misma direcci贸n IP. Este tipo de configuraci贸n es muy com煤n en los Hosting compartidos, donde m煤ltiples clientes comparten un mismo servidor.
Para este tutorial debes tener un servidor Apache funcionando, puedes revisar los siguiente tutoriales donde explico como instalar un servidor LAMP el cual incluye el servidor Apache.
Como instalar un Servidor LAMP en Ubuntu Paso a Paso
Como instalar un Servidor LAMP en Fedora 12 paso a paso
Host Virtuales en Apache
Aqu铆 va un poco de teor铆a para explicar como funciona si quieres puedes ir de una vez a la Configuraci贸n.
Apache 2 tiene varios directorios de configuraci贸n, los que nos interesan en este momento son dos el /etc/apache2/sites-available/ y el /etc/apache2/sites-enable, el primero tiene los archivos de configuraci贸n de los sitios disponibles y el segundo son links simb贸licos de los sitios activos, por defecto al instalar Apache se crea un archivo llamado default que contiene la configuraci贸n b谩sica de acceso de Apache y es un archivo que no se debe borrar.
Configurar Host Virtual Basado en Nombre
S贸lo tenemos que seguir los siguientes pasos:
Vamos a suponer que queremos crear un Host Virtual llamado www.ejemplo.com y que la direcci贸n IP p煤blica de nuestro servidor es 10.0.0.5.
1. Creamos un archivo en /etc/apache2/sites-available llamado ejemplo.com
En Ubuntu :
sudo nano /etc/apache2/sites-available/ejemplo.com
En Fedora como root:
su -
nano /etc/apache2/sites-available/ejemplo.com
Aqu铆 estoy usando el editor de texto nano pueden usar el de su preferencia (vim, emacs, gedit, kate, etc).
2. Dentro del archivo ejemplo.com que acabamos de crear escribimos lo siguiente:
<Virtual Host 10.0.0.5:80>
ServerName www.ejemplo.com ServerAlias ejemplo.com *ejemplo.com DocumentRoot /var/www/ejemplo</Virtual Host>
Vamos a ver l铆nea por l铆nea:
- Empezamos con
<Virtual Host 10.0.0.5:80>
Aqu铆 estamos indicando la directiva VirtualHost para decir que es un Servidor Virtual indicamos la direcci贸n IP donde va a responder y el puerto (80 es el puerto por defecto donde escucha Apache). Si queremos que escuche en todas las direcciones IP quitamos la direcci贸n y colocamos un asterisco quedar铆a *:80. - ServerName es el nombre del servidor en nuestro caso es www.ejemplo.com
- ServerAlias son otras formas que el usuario puede escribir el nombre, sin el www y el *.ejemplo indica que puede tener subdominios como foro.ejemplo.com, y todos ir谩n a la misma p谩gina.
- DocumentRoot es donde est谩n guardados los archivos de nuestra p谩gina. En este caso en /var/www/ejemplo pero puede ser cualquier carpeta donde tengan los archivos (cuidado con la seguridad y los permisos de la carpeta.
3. Guarda el archivo y ejecuta en el terminal el siguiente comando como administrador (o con sudo seg煤n el caso):
a2ensite ejemplo.com
Este comando crea un link simb贸lico en la carpeta /etc/apache2/sites-enabled, para activar nuestro sitio.
4. Reinicia el Apache:
Ubuntu:
sudo service apache2 restart
Fedora:
su -
service httpd restart
Y prueba en tu navegador que funciona correctamente escribiendo la direcci贸n www.ejemplo.com (o la que hayas configurado) te deber铆a aparecer la pagina que elegiste. Si est谩s utilizando un servidor interno de pruebas sin direcci贸n IP p煤blica recuerda colocar en el archivo /etc/resolv.conf de la PC desde donde vayas accesar la direcci贸n y nombre del dominio algo como:
10.0.0.5 www.ejemplo.com
Para que no haga la petici贸n al DNS y sepa a que direcci贸n debe apuntar.
Eliminar un Host Virtual en Apache
Si queremos deshabilitar el sitio ejecutamos como root o utilizando sudo:
a2dissite ejemplo.com
Esto elimina el link simb贸lico a /etc/apache2/sites-enabled/, y deja de funcionar el Host Virtual.
Eso es todo por ahora en la serie de art铆culos de Apache, como siempre cualquier duda, pregunta o sugerencia puedes dejar tu comentario.