Mar 7, 2010 - Web    No Comments

Múltiples dominios con EasyPHP

Al instalar EasyPHP, para trabajar localmente en alguna aplicación o sitio web, generalmente se utiliza la carpeta que viene por defecto en la instalación del software (comúnmente: C:\Archivos de programa\EasyPHP1-8\www), y se trabaja en algún navegador bajo el dominio Localhost.
Al terminar de trabajar, es común respaldar la carpeta www, borrar su contenido, y comenzar otra aplicación para trabajarla, nuevamente, bajo localhost.

Sin embargo, es poco sabido que EasyPHP soporta el uso de múltiples dominios, conocidos, cada uno, como VirtualHost. En este ejemplo, utilizaremos EasyPHP 1.8, sobre una plataforma Windows XP, para montar varios dominios sobre los cuales trabajar.

Las ventajas que tiene el hecho de montar múltiples dominios, es que se puede trabajar en varios sitios al mismo tiempo, teniendo cada uno en carpetas diferentes, ubicadas en cualquier parte del computador (incluso en unidades portátiles, como pendrives), independientes unas de las otras, con lo cual no es necesario tener que borrar o respaldar los archivos para utilizar la misma carpeta www. Incluso es posible que todos estos sitios utilicen la misma base de datos, o que cada uno utilice bases de datos diferentes.

Implementación

A rasgos generales, esto se realiza modificando dos archivos, donde simplemente se escribe la ruta necesaria para llegar a la carpeta raíz de cada sitio, según cada IP y nombre de dominio.

Apache

Lo primero que se debe modificar es Apache, que corresponde a nuestro servidor local web.

El archivo que se debe modificar es httpd.conf, ubicado, por defecto, en C:\Archivos de programa\EasyPHP1-8\conf_files. En este archivo, se deben agregar todos los dominios virtuales que sean necesarios. Esto se realiza al final del archivo, bajo la directiva VirtualHost.

Cada dominio se debe definir de la siguiente manera:

<VirtualHost *>
    DocumentRoot "UBICACIÓN DE LA CARPETA"
    ServerName miservidor
</VirtualHost>

UBICACIÓN DE LA CARPETA: Debe ir entre comillas. Corresponde a la ruta, en el computador, de la carpeta donde se encuentran los archivos (generalmente apunta al archivo index.html de sitio).
miservidor: Corresponde al dominio que se querrá crear. Se utiliza un nombre de servidor para cada Dominio/Sitio web.

La configuración que se muestra es básica. Solamente asocia un nombre servidor a una carpeta. En el mismo archivo httpd.conf, se puede encontrar un ejemplo más detallado de las instrucciones que se pueden configurar para cada Dominio, como archivos de error, nombre del servidor, etc.

Una configuración básica de VirtualHost debería quedar de la siguiente manera:

<VirtualHost *>
    DocumentRoot "C:\sitio1\www"
    ServerName miservidor1
</VirtualHost>

<VirtualHost *>
    DocumentRoot "D:\sitios_web\sitio2\blog"
    ServerName miservidor2
</VirtualHost>

<VirtualHost *>
    DocumentRoot "C:\Documents and Settings\Administrador\Escritorio\mi_sitio""
    ServerName miservidor3
</VirtualHost>

Windows

Una vez asociados los nombres de servidor a cada carpeta, sólo faltaría asociar la IP 127.0.0.1 a un nombre más fácil de recordar, es decir, el nombre del servidor, para que EasyPHP lo reconozca automáticamente. Supongamos que estamos haciendo un sitio de verduras:.

En Windows, con el block de notas o con cualquier editor de texto, hay que abrir el archivo hosts (sin extensión), que se encuentra en la carpeta C:\WINDOWS\system32\drivers\etc.
En él, en cada línea, se debe escribir una IP, seguida del nombre de dominio al que la queremos asociar, separados por una tabulación o, al menos, un espacio.
Algo así como “127.0.0.1        verduras“.

En este caso, le estaríamos diciendo a Windows, que asocie el dominio “verduras” a la IP 127.0.0.1, por lo que EasyPHP reconocería automáticamente el nombre del servidor.

Este es un ejemplo de un archivo hosts, donde se asocian varias IP a varios dominios.

127.0.0.1        localhost
127.0.0.1        sitio1
127.0.0.1        sitio2
127.0.0.1        sitio3

En este caso, dejamos la IP 127.0.0.1 asociada al dominio localhost, a través del cual podremos configurar EasyPHP, en caso de ser necesario (por ejemplo, para agregar subdominios).

Hay que considerar que estos dominios asociados a IP‘s, no tienen nada que ver con EasyPHP, solamente son redireccionadores de Windows, sin embargo, EasyPHP reconoce que Windows quiere ingresar a ese servidor y muestra la información correspondiente.

Actualización

En las versiones más nuevas de EasyPHP, por un tema de seguridad, hay que habilitar que el servidor muestre las páginas. Para eso, tendrás que hacer un cambio en el archivo httpd.conf. Cambia:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

por esto:

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Satisfy all
</Directory>

Conclusión

Una vez hecho todo, es posible comenzar a trabajar en varios sitios a la vez. Incluso se puede tener varios templates del mismo sitio en distintos dominios, para poder compararlos.

Como ven, los pasos son simples, y el beneficio, enorme.

Got anything to say? Go ahead and leave a comment!

Suscribirme a los siguientes comentarios vía email (también puedes suscribirte sin comentar.