Servidor Web 2010 – Vol 6 – Servidor web Apache y su VirtualHost con NoIp

Antes de explicar como montar los VirtualHost para poder apuntar cuantos dominios nos venga en gana incluidos los comerciales, he pensado que no estaría de mas aprender un poco el como funcionan los VirtualHost del Apache y crear uno para la dirección web que registramos en el capitulo anterior con No-Ip.com …
Desde hace unos años tengo registrado el subdominio hsnet.sytes.net que apunta hacia el servidor web que tengo en mi casa. Hay tengo montada una pequeña web donde tengo algunas cosillas mías. En el articulo anterior y para este servidor web 2010 bajo Linux Ubuntu Server he registrado el subdominio project2010.sytes.net. En principio al introducir en el navegador la dirección hsnet.sytes.net y project2010.sytes.net apuntan hacia la IP de mi Router con lo que el servidor web Apache responde a dicha petición con lo que hay en la raíz del servidor web, osea en el directorio /var/www
No quiero dejar de usar el antiguo subdominio hsnet.sytes.net pero por otro lado quiero usar el nuevo que he registrado llamado project2010.sytes.net. Por los clientes que envían la IP a la empresa No-Ip no tengo problemas ya que la de hsnet.sytes.net la envía el cliente que tengo en el Router y la de project2010.sytes.net la envía el cliente que tengo instalado en mi servidor. Con lo que las dos direcciones siempre apuntan hacia la raíz de mi servidor Web …

En principio los dos subdominios apuntan hacia mi Router y el mismo hacia el directorio raíz /var/www así que para que cada uno de los dos subdominios apunten hacia un directorio diferente en nuestro disco duro necesitamos usar los VirtualHost del Apache.
Si tenemos estos dos subdominios apuntando hacia nuestro servidor en mi caso voy a dejar que hsnet.sytes.net apunte hacia la raíz y hay dejaré la pequeña web que tengo. En este caso y para que podáis practicar todos vamos a crear un VirtualHost para que project2010.sytes.net apunte hacia otro directorio que no sea el raíz del servidor web si no hacia otro directorio donde alojaremos otros contenidos.
Para comenzar arrancaremos nuestro servidor web con Linux Ubuntu Server, nos identificamos y vamos a crear un directorio dentro de nuestro /home donde alojaremos nuestro contenido web como por ejemplo …

sudo mkdir /home/usuario/webAhora vamos a crear un enlace simbólico desde el directorio Raíz de nuestro servidor web hacia el directorio que acabamos de crear dentro de nuestro directorio personal dentro de la /home del siguiente modo …

sudo ln -s /home/usuario/web /var/www/webCon esto lo que conseguimos es que todo lo que esté dentro del directorio /home/usuario/web se vea reflejado en un directorio llamado /web dentro de nuestro directorio raíz real osea /var/www como si fuera un directorio quedando en la URL http://usuario.sytes.net/web
Ahora vamos al directorio de configuraciones del servidor web Apache …

cd /etc/apache2Para crear los VirtualHost en Apache existe un directorio llamado sites-available y allí es donde crearemos los VirtualHost. Accedemos al directorio …
cd sites-availableCopiaremos el archivo por defecto default para crear el primer VirtualHost en este paso para la dirección de nuestro server …

sudo cp default nuestrodominio.sytes.netA continuación editaremos el archivo nuestrodominio.sytes.net del siguiente modo …

sudo vi nuestrodominio.sytes.netEste archivo default es el que usa Apache para decir cual es la raíz de nuestro servidor Web. En este caso y como podemos ver tenemos el archivo por defecto …

Además de modificar algunas lineas tendremos que agregar otras que no están en el archivo de configuración por defecto. En mi caso dispongo de dos subdominios que quiero alojar. El de Hsnet.Sytes.Net para el directorio /hsnet que estará dentro del directorio que creamos anteriormente ” /web ” así que agregaré este a la nueva configuración quedándome así …

Si comparáis vuestro archivo default con el mio veréis que he agregado algunas nuevas opciones como por ejemplo ServerName y ServerAlias, también he agregado la ruta /var/www/web/hsnet en el DocumentRoot y en la linea
Comparadlo con el vuestro y rellenarlo con vuestros datos, nombre de subdominio y directorios. Una vez rellenado correctamente salimos del editor con la tecla “ ESC ” y ” :wq! “.
Antes de continuar creamos el directorio al cual apuntará nuestrodominio.sytes.net, en mi caso …

sudo mkdir /home/usuario/web/hsnetAhora hay que hacer que coja nuestras modificaciones, para esto vamos a usar el comando a2ensite del siguiente modo …

sudo a2ensite nuestrodominio.sytes.netReiniciamos el servidor Apache con …

sudo /etc/init.d/apache2 restartLlegados a este punto si abrimos un navegador e introducimos nuestra dirección web, en mi caso hsnet.sytes.net veremos en realidad lo que hay dentro de /var/www/web/hsnet.
Esta es la manera exacta de crear un VirtualHost en Apache bajo Linux Ubuntu Server. Especifico la distribución porque no en todos los sistemas operativos GNU/Linux se configura de la misma forma.
Ahora vamos a crear otro VirtualHost para la dirección que registré en el articulo anterior project2010.sytes.net. Si dispones de otro subodminio así es como tienes que hacerlo y si no cuando tengas ganas de tener otro sabrás como hacerlo.
Para comenzar copiamos el archivo default por el que queramos darle al nuestro nuevo VirtualHost, en mi caso project2010 …

sudo cp default project2010
Creamos un directorio dentro del directorio /web que se llame project2010 por ejemplo, vosotros llamadle como queráis …

sudo mkdir /home/usuario/web/project2010
Editamos el archivo project2010 …
sudo vi project2010
Y modificaremos las lineas que apuntan hacia nuestro dominio y hacia el directorio que acabamos de crear quedándonos así …

Una vez modificado con nuestros datos salimos y guardamos pulsando la tecla ” ESC ” y seguidamente “ :wq! “. Ahora usaremos de nuevo el comando a2ensite para que coja el nuevo VirtualHost …

sudo a2ensite project2010
Reiniciamos el servidor Apache con …

sudo /etc/init.d/apache2 restart
Y ahora tan solo nos queda introducir la URL en el navegador para ver que apunta hacia el directorio project2010 que tenemos dentro de nuestro /home/usuario/web/project2010 y así podríamos hacer con todos los que nos viniera en gana.
Recordamos para terminar que no necesitamos tener un servidor DNS instalado simplemente porque tanto hsnet.sytes.net como project2010.sytes.net ya apuntan hacia la IP externa que tiene mi ADSL. Yo tan solo con los VirtualHost les digo hacia donde tienen que ir una vez llegan a mi servidor con sus peticiones web.
Finalmente agregaremos el modulo Rewrite que nos ará falta mas adelante …

cd /etc/apache2/mods-available
sudo a2enmod rewrite
Cuando necesitamos alojar dominio .com, .net, .org, etc … la forma sobre como hacerlo es diferente. Antes de terminar con este proyecto del servidor web con Linux Ubuntu Server publicaré un articulo sobre como alojar este tipo de dominios. De momento ya sabemos como hacerlo con estos gratuitos. 
Manual completo
Encuentra todos los capítulos que componen el montaje de este servidor web en Servidor Web 2010 bajo Linux Ubuntu Server ( Manual Completo )











