Foros del Web » Creando para Internet » Diseño web »

Como Crear como subdominio a cada usuario que se registre un sitio web con php

Estas en el tema de Como Crear como subdominio a cada usuario que se registre un sitio web con php en el foro de Diseño web en Foros del Web. Alguien sabe como hace www.lacoctelera.com Para crear como subdominio a cada usuario que se registra Por ejemplo yo me registre con el usuario “ganadineromientrasduermes” y ...
  #1 (permalink)  
Antiguo 13/08/2010, 15:18
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 10 meses
Puntos: 1
Como Crear como subdominio a cada usuario que se registre un sitio web con php

Alguien sabe como hace www.lacoctelera.com
Para crear como subdominio a cada usuario que se registra
Por ejemplo yo me registre con el usuario “ganadineromientrasduermes” y automáticamente se ha creado así:

http://ganadineromientrasduermes.lacoctelera.net
Me gustaría saber cómo se hace para crear lo mismo para los usuarios que se registran para publicar sus anuncios en mi sitio web, ya que los usuarios que publican anuncios tienen diversos anuncios que publicando en otras palabras crearles su propio blog para cada anunciante en mi sitio web www.elsitiodenegocios.com

Lo que yo hice es lo siguiente para cada anunciante es:
http://www.elsitiodenegocios.com/anuncio/31
Quiero hacer igual que lacoctelera.com

Por favor espero sus comentarios muchas gracias
  #2 (permalink)  
Antiguo 13/08/2010, 16:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

eso es parte de la configuración del servidor HTTP y tambien que el DNS esté preparado para ello, en apache se puede usar host virtuales para esa tarea.

ejemplo para probarlo en local: http://www.maestrosdelweb.com/editorial/host/

una vez conseguido el comportamiento, solo basta en php obtener el host de entrada ($_SERVER["SERVER_NAME"]) y hacer el filtro correspondiente en la base de datos

Última edición por maycolalvarez; 13/08/2010 a las 16:29
  #3 (permalink)  
Antiguo 13/08/2010, 18:44
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

Zack78:
efectivamente todo depende de como esté configurado tu servidor, en el caso de apache, hay una forma especial de crear subdominios que es creando sub-carpetas dentro de otra carpeta específica según te lo indique tu administrador.
Eso no es igual en todos los hostings, por ejemplo en uno de los que yo uso

tengo una carpeta subdomains
si dentro de esta creo otras de nombre, guillermo, carlos etc.
automáticamente se me crean los subdominios
guillermo.midominio.com
carlos.midominio.com

la configuración de virtualhost se realiza asi
<Virtualhost 200.22.31.189>
DocumentRoot "/www/webs/emprear.com/htdocs"
VirtualDocumentRoot /www/webs/emprear.com/subdomains/%1
vhost_common
ErrorLog logs/error_subdominios.txt
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/subdominios_log.txt vcommon
<Directory "R:/users/webs/emprear.com/subdomains/">
Options FollowSymLinks MultiViews +ExecCGI -indexes
AllowOverride AuthConfig
AllowOverride all
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php .php
</VirtualHost>


La clave esta en usar la directiva VirtualDocumentRoot y pasarle al final el %1 que equivale a a la primera parte del nombre de dominio que se tipee en la url.

sin necesidad de dar intervención al administrador del hosting ó utilizar Cpanel u otra herramienta.
Si tu hosting usa esta config. bastara que al momento de registrar usuarios crees la carpeta correspondiente

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 13/08/2010, 21:56
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

Muchas gracias, voy a probar

Servicio de hosting estoy utilizando 1&1
  #5 (permalink)  
Antiguo 16/08/2010, 15:20
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

emprear,

Muchas gracias nuevamente por responder,

La verdad no tengo ni idea de cómo empezar con esto de virtual host, localmente estoy utilizando wamp5 para trabajar con php y mysql.

Hosting estoy utilizando de 1&1

Por favor me podría pasar algún manual de cómo crear los subdominios dinámicos con php con los virtual host

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

Zack78:

Sobre como crearlos en tu servicio de hosting, eso depende de como ellos lo tengan configurados. Si tienen un sistema como el que te mencioné en el post previo, con php solo debes crear las carpetas en la ruta apropiada, podrias usar mkdir() ó bien ftp_mkdir()

En cuanto a Wamp, yo uso Xampp,
Lo que puedo indicarte es como crear subdominios o host virtuales en apache, si es eso lo que necesitas.

Decime si es eso exactamente.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 16/08/2010, 16:25
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

Muchas gracias por responder tan pronto, por favor me gustaría que me indique de cómo crear subdominios o host virtuales en apache.

Yo creo que sería el primer paso para comprender mejor para luego ver lo de mi hosting 1&1

Un saludo
  #8 (permalink)  
Antiguo 16/08/2010, 17:32
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 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.
  #9 (permalink)  
Antiguo 16/08/2010, 20:12
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Como Crear como subdominio a cada usuario que se registre un sitio web co

Muchas gracias por pasarme toda la instrucción para configurar virtual host, voy a empezar hacer la prueba.

Etiquetas: blog, crear, url, subdominios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.