Tema: FAQ's de PHP
Ver Mensaje Individual
  #40 (permalink)  
Antiguo 10/01/2003, 19:54
Avatar de BooMeranGz
BooMeranGz
 
Fecha de Ingreso: febrero-2001
Mensajes: 350
Antigüedad: 23 años, 8 meses
Puntos: 0
De acuerdo Creando VirtualHost(s) y Dominios Virtuales en mi PC

Tema:
VirtualHost y Dominio Virtual

Pregunta:
¿Como trabajo con VirtualHost(s) y Dominios Virtuales en mi PC?

Respuesta:
Podemos tranquilamente usar dominios virtuales para llamar a nuestros proyectos directamente como http://miproyecto.com/ y no como http://127.0.0.22/ (o cualquier otra IP asignada).

Vamos a ver como:

Creando servidores virtuales con dominios virtuales para poder llamarlos desde nuestra misma PC:

Requisitos:
* Windows 98/ME/2000/NT/XP
* Tener Apache instalado como servidor
* Tener al menos PHP para trabajar (y probar)

Supongamos que vamos a trabajar con un nuevo web site en PHP cuyo dominio real es sitio.com y que tenemos el htdocs en el disco C:


Primer paso:

Creamos en nuestra carpeta C:\htdocs un directorio sitio1.com
Nos quedará esto: C:\htdocs\sitio1.com

En ese directorio debemos colocar los files que usemos para hacer el web site (todos).

En este ejemplo, abrimos el Block de notas y escribimos:

Código PHP:
<?
phpinfo
();
?>


Lo salvamos con el nombre de prueba.php en el directorio ..\sitio1.com\


Segundo Paso:

Ahora configuramos un VirtualHost para Apache:

Buscamos el file httpd.conf en dónde tenemos instalado Apache (dentro de la carpeta de Apache hay una que se llama "conf", este file está dentro de ella)

Lo abrimos con el Block de notas y nos vamos al final del mismo

Nos encontraremos con algo así:

Código:
#
# Use name-based virtual hosting.
#
#NameVirtualHost *

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *>
#    ServerAdmin [email protected]
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
Nosotros agregaremos nuestro VirtualHost aqui debajo y de esta manera:

Código:
## agregamos sitio1.com ###################
<VirtualHost 127.0.0.2>
 ServerAdmin [email protected]
 DocumentRoot C:/htdocs/sitio1.com
 ServerName sitio1.com
 ErrorLog logs/sitio1.com-error_log
 TransferLog logs/sitio1.com-access_log
</VirtualHost>


Salvamos el file httpd.conf y reiniciamos Apache.

Hasta aqui, si cargamos el navegador y ponemos:
http://127.0.0.2/prueba.php (enter), veremos la info de php en el mismo.

Ya tenemos configurado el VirtualHost con la IP deseada.


Tercer paso:

Vamos a configurar el dominio virtual para esa IP:

Vamos al directorio: C:\WINDOWS\SYSTEM32\DRIVERS\ETC, allí encontramos varios files, pero nos interesan los siguientes:
HOSTS y LMHOSTS.SAM

Renombramos HOSTS como HOSTS.SAM

Abrimos el Block de notas y escribimos:

127.0.0.1 localhost
127.0.0.2 sitio1.com


Lo salvamos en ese mismo directorio como HOSTS (sin extensión)

Nuevamente abrimos el Block de notas y escribimos:

127.0.0.1 localhost #PRE
127.0.0.2 sitio1.com #PRE


Lo salvamos en ese mismo directorio como LMHOSTS (sin extensión)

Copiamos HOSTS y LMHOSTS de C:\WINDOWS\SYSTEM32\DRIVERS\ETC\ a C:\WINDOWS\

Listo, hemos configurado el dominio virtual sitio1.com

Para probarlo, cargamos el navegador y ponemos:
http://sitio1.com/prueba.php (enter), veremos nuevamente la info de php en el mismo.

Nota final:

De esta manera podemos llamar a nuestros proyectos en php/cgi/etc. con un nombre de dominio virtual o con un subdominio (podria ser mi.sitio.com) y no complicarnos
con las IP que si tenemos varios proyectos se nos olvidan.

De igual manera recuerden que si agregan mas proyectos (por ejemplo otrositio.com) deberán agregar otro VirtualHost en el file \Apache\conf\httpd.conf, al final del que ya tenemos con otra IP (por ej.: 127.0.0.3) y luego agregar estos datos en los files HOSTS y LMHOST que tenemos en C:\WINDOWS\

Por último: Recuerden NO configurar un dominio virtual con un nombre verdadero que ya esté ruteado en internet, ya que si lo hacen cuando naveguen y quieran
ir al sitio real, no podrán, a menos que estopeen Apache y renombren los files HOSTS y LMHOST.
Recomiendo en esos casos que creen subdominios virtuales, por ejemplo si trabajan con yahoo.com (ja ja por un decir...), hagan un dominio virtual como miweb.yaoho.com.

Salu2.