Zack78:
Primero la forma tradicional
Primero necesitas encontrar el archivo de configuración correspondiente a virtual hosts (para un dominiio o subdominio, es basicamente lo mismo). En versiones anteriores de Apache estaba todo en un mismo archivo, ahora se ha separado en varios. En mi caso ese archivo es
R:\xampp\apache\conf\extra\httpd-vhosts.conf
aqui te hago una aclaración, ese archivo debe estar habilitado en el archivo principal de apache (httpd.conf), al cual se lo llama desde un include, por ejemplo
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf
# Various default settings
Include conf/extra/httpd-default.conf
si la linea
Include conf/extra/httpd-vhosts.conf
apareciese comentada al inicio con
#, tenés que descomentarla
Una vez hecho esto abrís con tu editor de texto el
httpd-vhosts.conf
primero habilitas esta directiva
NameVirtualHost *:80
ahora tenes que crear bloques virtualhost para los diferentes dominios.
(antes de seguir te aclaro que hay otras formas de hacer esto, pero me limito a esta específicamente, que funciona para lo más básico)
Lo primero es crear un bloque para el servidor por defecto
http://localhost
Ewsta es una configuración minima, ya que el resto de las directivas para este sitio está definida en los archivos de configuración del xampp
#### ### LOCALHOST 127.0.0.1
<VirtualHost *:80>
DocumentRoot "R:/xampp/htdocs"
ServerName localhost
</VirtualHost>
Un pequeño tip, si los directorios que correspondan a las raices de tus diferentes dominios están en la misma unidad en que instalaste apache, NO será necesario que pongas la letra de unidad, basta con /xampp/htdocs
Ahora creamos otro dominio con algo un poco mas complejo
#### ### PRUEBAS 127.0.0.2
<VirtualHost *:80>
ServerName pruebasdw.loc
DocumentRoot "/www/pruebas/htdocs"
<Directory "/www/pruebas/htdocs">
Options +Includes +Indexes +ExecCgi
DirectoryIndex index.php index.html
AllowOverride All
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php .php
ErrorLog /www/pruebas/pdw-error.txt
CustomLog /www/pruebas/pdw-access.txt common
</VirtualHost>
En dónde:
Server name = el nombre del dominio
DocumentRoot = El directorio de inicio de tu dominio
Directory = Es otro bloque que apunta al mismo documentroot donde ponemos direcftivas adicionales, toma nota de AllowOverride, Order y Allow, ya que como están en el ejemplo te permitirán personalizar tus directorios con .htaccess.
Las tres directivas a continuación sirven para
Habilitar la ejecución de PHP en ese dominio
indicar un access y error log (archivos de registro de la actividad) específicos para ese dominio
Podés crear tantos bloques VirtualHost como quieras
En el siguiente paso vas a editar tu archivo host de windows, que por defecfto se encuentra en:
windows/system32/drivers/etc/host
en el mismo vas a ver
127.0.0.1 localhost
a la que le tenes que agregar
127.0.0.2 pruebas.loc
Este archivo funciona como un servidor DNS, y las direcciones del tipo 127.0.0.x apuntan todas a tu máquina, a tu apache. Si bien podés ponerles a todas las entradas 127.0.0.1 te aconsejo que uses 0.2,0.3... y así sucesivamente. asimismo y para evitar cualquier confución, mis dominios locales tienen la extension .loc
Por último, y muy importante, en el archivo de configuración principal de apache, en la sección modules
LoadModule vhost_alias_module modules/mod_vhost_alias.so
esté descomentado, esa directiva carga justamente el modulo necesario para usar hostvirtuales..
Para más info, consulta el manual de apache.
Tambien puede resultar util, si hay errores, ejecutar desde la linea de comandos
apache -t (verifica la sintáxis de los archivos de configuración)
ó
apache -S (este último verifica la sección Vhosts solamente)
si tenés éxito con esto, tenés para entretenerte un rato. y puedo más adelante darte algunas sugerencias extra.
Espèro no haberme olvidado de nada, no es dificl, pero son muchos pequeños detalles a tener en cuenta
Saludos