NovaMonoFix
Errores PHP
X
Usuario
Password
0 FPS

Varios servidores web apache de pruebas

15 de Febrero del 2014 por Josep Antoni Bover, 0 visitas, 0 comentarios, 0 votos
Categorías : Apache, Servidores, Windows, Linux.
La web está en segundo plano, animación en pausa.
Cargando animación...
Varios servidores web apache de pruebas

Últimamente a la hora de hacer proyectos web intento no tener ninguna ruta relativa, de esta forma siempre estoy seguro que archivo voy a consultar, y evito complicaciones con php.

Al utilizar rutas absolutas si quiero probar la web en con un servidor web local, por defecto solo hay configurado un directorio que estará enlazado a localhost:80. Yo hasta hace poco estaba cambiando el archivo http.conf cada vez que quería probar una web distinta para establecerla como raíz.

Pongamos que tengo C:/Webs/Proyecto1, y C:/Webs/Proyecto2. Si localhost enlaza a C:\Webs podré entrar a los dos proyectos pero la raíz será C:/Webs, por lo que cualquier contenido especificado con una '/' barra inicial no será encontrado.

Por ejemplo si queremos mostrar el archivo "/Imagen.png" en www.proyecto1.com funcionaria bien, pero en localhost buscaría la imagen en el directorio C:/Webs y no en C:/Webs/Proyecto1.

La mejor solución para este problema que he visto pasa por seguir 2 pasos :

Editar el archivo httpd.conf y añadir varios VirtualHost.

En Windows este archivo suele estar en la ruta de instalación del Xampp \xampp\apache\conf.
En Linux este archivo suele estar en /usr/local/apache2/conf/httpd.conf.

Una vez abierto el archivo hay que añadir las siguientes líneas :

httpd.conf
1
2
3
4
5
6
7
8
9
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "C:/Webs/Proyecto1"
ServerName proyecto1.localhost
</VirtualHost>
<VirtualHost 127.0.0.1>
DocumentRoot "C:/Webs/Proyecto2"
ServerName proyecto2.localhost
</VirtualHost>

En el nombre del host y el dominio podemos poner lo que nos de la gana, ya que los re-direccionaremos utilizando el archivo hosts del sistema operativo

Editar el archivo hosts y añadir los dominios que se han especificado en el VirtualHost.

En Windows este archivo suele estar en C:\Windows\System32\drivers\etc\hosts, y hay que editarlo con privilegios de administrador.
En Linux este archivo suele estar en /etc/hosts, y hay que editarlo con privilegios de administrador.

Una vez abierto el archivo hay que añadir las siguientes líneas :

hosts
1
2
127.0.0.1 proyecto1.localhost
127.0.0.1 proyecto2.localhost


Al habilitar los VirtualHost la opción DocumentRoot (define la ruta del localhost) es ignorada. Si queréis conservar localhost como directorio base para ver todos los proyectos, tenéis que especificar otro VirtualHost mas para localhost.
En la última versión del xampp DocumentRoot ya no es ignorada, y apunta a la ruta de localhost, por lo que no hay que especificar via VirtualHost el localhost.

Y esto es todo, ya podéis utilizar los servidores de pruebas desde el navegador especificando las rutas http://proyecto1.localhost y http://proyecto2.localhost.