Virtual Host en Ubuntu 9.10

Cuando tenemos solo un proyecto, no vemos la necesidad de crear host virtuales para separar los mismos, solo utilizamos la raiz / (/var/www/) para nuestro proyecto y somos felices :) .

Pero, a la hora de múltiples proyectos, esto es un problema que debemos solucionar para no aumentar la complejidad y evitar posibles errores de programación a futuro.

Suponemos que tenemos 2 proyectos (Moodle y una copia de seguridad de Zarpele!), y actualmente lo tenemos instalados en:

/var/www/moodle
/var/www/zarpele

Bien para hacer bien las cosas debemos crear en nuestro proyectos 2 host virtuales. A continuación crearemos el host que utilizaremos para Moodle y de forma idéntica podrán crear los demás.

Editando hosts

El archivo hosts de un ordenador es, en su origen, un vestigio de los tiempos en que sólo había unos pocos dominios y se enviaba la lista con todos ellos y sus respectivas IPs en un archivo llamado hosts.

En la actualidad todas las peticiones se realizan a los servidores DNS. No obstante, los sistemas actuales mantienen este archivo, de modo que es posible modificar a mano a qué IP deben resolver determinados dominios. Así su principal utilidad actual es el bloqueo de las direcciones de la publicidad web.

Aja si mucha Wikipedia, en resumen editaremos el archivos hosts para que en vez de dejarle a nuestro servidor de DNS que resuelva el nombre de dominio ingresado y lo relacione con una IP se resuelva localmente sin necesidad de “buscar” ese dominio ya que tenemos la relacion IP-Dominio en nuestra PC.

Con privilegios de administrador, editaremos el siguiente archivo

sudo gedit /etc/hosts

Ahora bien tendremos algo asi…

127.0.0.1	localhost
 
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Atención: Este archivo puede variar según características de la PC utilizada.

El nombre que vamos a utilizar es moodle-local, pueden elegir el que quieran, pero traten de no poner una pagina verdadera como taringa.net , ya que esta podría no funcionar o en todo caso nos direccionaría a nuestro proyecto :)

127.0.0.1	localhost
127.0.0.1 moodle-local
 
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Creando sites-available

Lo siguiente que debemos hacer, es informarle a Apache de estos host. Para el cual debemos crear 2 (seguiremos con el ejemplo y solo creare moodle-local, igualmente se hacen los demas) ficheros en /etc/apache2/sites-available.

Crearemos moodle-local con el siguiente contenido…

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName moodle-local
	DocumentRoot /var/www/moodle
	<Directory />
		Options FollowSymLinks
		AllowOverride all
	</Directory>
	<Directory /var/www/moodle>         
		Options Indexes FollowSymLinks MultiViews
		AllowOverride all 
		Order allow,deny
		allow from all
	</Directory>
</VirtualHost>

Las lineas importantes son:
ServerName, aquí pondremos el nombre de dominio que acabamos de crear en nuestro archivo hosts.
DocumentRoot, aquí pondremos la ruta raiz donde se encuentra nuestro proyecto
, idem anterior…

Creando sites-eneable

Ahora utilizaremos el comando a2ensite “available to enabled site”, para dejar andando nuestro virtualhost…

sudo a2ensite moodle-local

Si todo sale bien, la consola nos devolvería

Enabling site moodle-local.
Run '/etc/init.d/apache2 reload' to activate new configuration!

Reiniciando Apache

Como leyeron anteriormente, debemos reiniciar nuestro apache para que todo que joya.

sudo /etc/init.d/apache2 reload

Y listo!!!

Probando nuestro Host Virtual

En nuestro navegador ponemos moodle-local y entramos a nuestro moodle.


Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

 
Follow Me Hazte Fan Subscribe