Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/08/2010, 17:32
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

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
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.