| Artículos | 01 FEB 2005

Servidores virtuales en Mac OS X

Todos los dominio

Compartir

Alexander Fischer.
Como la mayoría de los lectores ya sabrán, Mac OS X incorpora “de serie” el servidor Web Apache (httpd.apache.org). Se trata de uno de los servidores Web más potentes y que sin lugar a dudas es el más extendido de entre los usados en Internet. Una de las grandes ventajas que tiene es que se puede configurar de mil y una formas para que responda a todo tipo de necesidades diferentes. Entre ellas se encuentra la posibilidad de configurar los denominados “servidores virtuales”.

Este término que a priori puede sonar muy críptico, sin embargo no significa otra cosa que la posibilidad de que Apache pueda aparecer hacia fuera (ya sea en Internet, una Intranet de empresa o incluso nuestra red casera) como si fuera más de un servidor. En la práctica esto significa que varios dominios funcionen sobre el mismo servidor pero que aparezcan de forma totalmente independiente. Así podremos conseguir que por ejemplo “www.midominio.com” y “www.minombre.org” estén alojados en nuestro servidor cada uno con sus propias páginas. Más de uno posiblemente se pregunte qué utilidad pueda tener esto en la práctica, dado que por regla general los sitios Web se alojan en los servidores que tienen los proveedores de servicios de Internet y son estos los que se encargan de configurarlos y hacer que funcionen como servidores virtuales. Por un lado nos acercaremos al Terminal y veremos como utilizar su potencia sin miedo y, por otro lado, aprenderemos cómo se configura el servidor Web Apache.
En la práctica: desarrolla tu web
No se trata tanto de alojar servidores Web “de producción” (aunque también sea posible), sino más bien servidores Web de desarrollo. Generalmente un desarrollador Web durante el diseño y pruebas de un sitio Web trabaja sobre un servidor de “test” y una vez terminado su trabajo y verificado su correcto funcionamiento pasa las páginas al servidor “productivo” que las alojará para que puedan ser accedidas.
Es aquí donde el servidor Web Apache que viene con nuestro sistema puede desarrollar su papel a la perfección. Sólo tenemos que activarlo y podremos guardar nuestras páginas Web en el directorio “sitios” o en carpetas que este contenga y podrán ser vistas desde un navegador Web que tengamos en ese mismo ordenador u otro conectado a la misma subred.
Si desarrollas sitios Web y tienes más de un proyecto en curso, probablemente utilices un directorio por cada desarrollo dentro de la carpeta sitios. Pongamos el ejemplo anterior, tendremos una carpeta “www.midominio.com” y otra “www.minombre.com”. Dentro de cada una de ellas irán las páginas Web y recursos (imágenes, vídeo, audio, etc.) que correspondan a cada uno. En cada una de ellas seguramente tendremos nuestra página “indice.html”. Con esta configuración y el servidor Web corriendo sobre nuestra máquina, podremos acceder al contenido de ambas carpetas con el navegador Web. Para ello deberemos poner las siguientes direcciones (suponiendo que nuestro nombre de cuenta sea “alex”, como es mi caso): “http://localhost/~alex/www.midominio.com/indice.html” o “http://localhost/~alex/www.minombre.org/indice.html”. A partir de este momento deberíamos ver nuestras respectivas páginas de inicio y navegar por ellas.
La configuración de servidores virtuales nos permitirá acceder a dichas páginas sin tener que poner toda la ruta con el nombre de cuenta, etc. Es más podremos configurarlo con un nombre que no corresponda exactamente al nombre del servidor en producción. Así por ejemplo podríamos crear dos servidores virtuales, uno llamado “test.midominio.com” y otro “test.minombre.com”. Así siempre podremos distinguir de un vistazo si estamos en el servidor de desarrollo (test) o en el de producción (www).

Acceso a los contenidos
Cuando desde una página ponemos un enlace a otra página o un recurso, como puede ser una imagen, tenemos que especificar donde está exactamente esa página o imagen. Para ello hay dos formas de hacerlo. De manera absoluta o de manera relativa. La vía absoluta significa que tenemos que especificar toda la ruta que lleva al recurso en cuestión. Supongamos que dentro de nuestro sitio “www.midominio.com” tenemos una carpeta llamada “imagenes” y esta contiene “logo.jpg”. Si queremos poner el logo en nuestra página índice, incluiremos el código correspondiente, especificando la ruta de la misma como “http://localhost/www.midominio.com/imagenes/logo.jpg”. Esto es fácil y funciona pero tiene un problema. Si ahora copiamos nuestra página al servidor Web productivo, cuando alguien acceda a la página índice no podrá ver la imagen ya que el navegador la buscará en un servidor “localhost” que no puede encontrar en Internet y además con una ruta que no es válida. Para solucionar eso y facilitar la vida a los desarrolladores se inventó el sistema de referencias relativas. Esto significa que cuando especificamos el acceso a un recurso lo hacemos indicando como se llega a él desde la página en la que estamos. En nuestro ejemplo sería como decir: dentro de la carpeta raíz del servidor Web hay una llamada “imagenes” y en ella está logo.jpg. Esto se escribiría como “/imagenes/logo.jpg”.
Para que los enlaces relativos funcionen, es necesario que la estructura de los servidores sea la misma. La solución pasa por que nuestro servidor de test “http://localhost/~alex/www.midominio.com” se llame por ejemplo “test.midominio.com”.

Configurando “test.midominio.com”
Para realizar esta tarea sólo necesitaremos un editor de texto.
Lo primero que deberemos hacer es configurar nuestra máquina para que sepa cual es la dirección IP del dominio del servidor virtual que vamos a crear. Se trata de modificar un archivo de texto del sistema en el que se asocian direcciones IP con nombres de servidores. El archivo en cuestión se llama “hosts” y está dentro del directorio “/etc”. Se trata de un directorio invisible por lo que no podremos verlo directamente en el Finder. Si hemos utilizado alguna vez el Terminal y sabemos manejarnos con su editor de textos “pico” podremos utilizarlo. Para abrir el archivo en cuestión deberemos ejecutar el siguiente comando:
sudo pico /etc/hosts
Nos pedirá una clave de administrador y acto seguido veremos el contenido del archivo. Si no nos sentimos a gusto con la forma descrita, podemos utilizar algún editor de textos tradicional.
Una vez abierto el archivo, todo es tan sencillo como añadir una línea como “127.0.0.1 test.midominio.com” al final del archivo después de la última entrada. Lo guardamos y ya está. Para probarlo podremos escribir en el Terminal:
ping test.midominio.com
Si todo está bien nos indicará que se ha encontrado la máquina. Si tenemos el servidor Web arrancado también podremos abrir un navegador y escribir “http://test.midominio.com”. Aparecerá la página por omisión del servidor Web.

Apuntar al directorio correcto
Lo que queda es configurar Apache con un servidor virtual, para que nuestro dominio apunte a un directorio concreto. Antes de nada deberemos asegurarnos que el servidor Web en la máquina esté parado. Para configurar Apache deberemos editar el archivo “/private/etc/httpd/httpd.confR

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información