martes, 18 de noviembre de 2008

Host Virtuales en Apache2.

Antes de empezar, estas configuraciones probablemente pueden variar, según nuestra distribución de Linux utilizada, y la versión de Apache utilizado. En nuestro caso el S.O. a sido Ubuntu desktop 8.04, y nuestro Servidor Apache versión 2.2.8.

##################################################
##################################################


Un mismo Servidor Web, puede dar servicio a multitud de sitios web.

Para ello, se configura Apache2, para servir diferentes sitios web de 2 formas posibles.

- Host virutales basados en direcciones IP.
- Host virtuales basados en nombre (dominio).



1º Manera administrar hosts virtuales basados en dirreciones IP.



Para ello debemos de disponer de varias direcciones IP, bien podemos hacerlo con varias interfaces de red (tarjetas de red) y cada una con su dirección IP.

O bien con interfaces Virtuales.

Las interfaces virtuales se crean con el comando:

sudo ifconfig ethN:n nuevaIP netmask mascara

donde en "N" mayuscula especificamos cual es el número de nuestra tarjeta queremos hacer virtual y en "n" en número interface de red virtual vamos a crear junto con su nueva dirección de red y su mascara, si no se especifica se pone la mascara por defecto, conforme a su clase.

Se deberia de crear una interface virtual este dentro del mismo rango de red, para asi poder trabajar con ella.








Una vez tenemos creada nuestra interface de red virtual,procedemos a crear nuestro host virtual basado en IP.

Para ello crearemos y modificaremos los ficheros se encuentran en:


/etc/apache2/sites-available.


El archivo vamos a crear lo podremos nombrar como deseemos, pero se recomienda ponerle un nombre relacionado al hosts Virtual alojamos, y su contenido.
Adjuntamos en una captura de pantalla.







Donde podemos observar nuestro hosts virtual responde a la IP 192.168.1.228

Nuestro hosts virtual se llama sitio1.com


El dominio de nuestro hosts virtual es www.sitio1.com

Se encuentra almacenado en la ruta /var/www/sitio1.com

Habilitándolo con el comando: a2ensite ficheroVirtual.


En nuestro caso a2ensite sitio1.com

Ahora reiniciamos el Servidor Apache, para que los cambios surtan efecto:

sudo apacheclt restart

Para comprobar, escribimos en nuestro navegador web favorito la IP le tenemos asignada a nuestro hosts virtual y nos muestra nuestra nuestra pagina web.

Tambien podemos hacer nos muestre nuestro navegador web el dominio solicitado, solamente en nuestro pc, si modificamos nuestro archivo hosts, y especificamos que dicho Dominio, pertenece nuestra IP Virtual.








NOTA: Cuando servimos hosts, basados en IP virtuales, hay que tener en cuenta que estas direcciones IP, configuradas de esta manera, solo duran en el equipo hasta que se reinicie este, posteriormente al reinicio, no tendremos esa interface, y por consiguiente no funcionaria nuestro Servidor. Para estas interfaces sean permanentes hay que editar el fichero:



/etc/network/interfaces






2º Manera administrar hosts virtuales basados en Nombre.


Para ello procedemos de la misma manera el caso anterior:

/etc/apache2/sites-available.

Editamos el archivo default que es el primero archivo de configuración consulta nuestro Servidor Apache para mostrar paginas dentro de el, editamos la primera linea cambiando la directiva "NameVirtualhost *" cambiando el asterisco, por la dirección IP física tengamos activada.





Volvemos a crear un archivo, en el mismo directorio se encuenta nuestro fichero default pero en este caso pondremos de nombre al fichero algo descriptivo, en nuestro caso "nombre.com"






A continuación nos vamos al directorio: /var/www
dentro del cual, crearemos la carpeta con el mismo nombre especificamos en el fichero del caso anterior.

Entonces seria

cd /var/www sudo mkdir nombre.com




y dentro de esta carpeta crear nuestro documento html, por defecto cargara los que comiencen por index.html.

Para hacer empiece por el nombre de inicio, queramos, hay que editar de nuevo el archivo "default" se encuentra dentro de: /etc/apache2/sites-availables

En el añadiremos justo debajo de la primera linea, otra directiva, que afecta a todos los directorios Virtuales.

En este caso la directiva DirectoryIndex seguida de los nombres queremos darle a los nombres de inicio de nuestros sites, tener claro empieza a buscarlos por orden intruducimos los nombres.




A continuación habilitamos nuestro site, de igual manera que los basados en IP, con el comando.

Habilitándolo con el comando: a2ensite ficheroVirtual.

En nuestro caso a2ensite nombre.com

Ahora reiniciamos el Servidor Apache, para que los cambios surtan efecto:

sudo apacheclt restart


Ahora bastaria con poner nuestra dirección IP y nos muestraria el contenido de nuestro site.
Pero tambien podemos hacer nuestro navegador responda a nuestro dominio, volviendo a editar, el fichero /etc/hosts

En el cual añadimos la IP este a la escucha nuestro servidor Apache, y el nombre dominio a resolver.





No hay comentarios: