Creando subdominios en drupal

Hola a todos, soy novato en esto, y estoy desarrollando una web con DRUPAL, y me encuentro con la necesidad de crear subdominios en mi web, de esta forma:

english.dominio.com
espanol.dominio.com

he tratado de manejar el manager sites pero no lo entiendo. la vez que lo use ocurrio un fallo en la base de datos que colapso mi drupal. Ademas he visitado las referencias en drupal hispano acerca de este tema y no se explican bien.

Quisiera que alguien me ayude, a crear esos subdominios.

Tambien necesito compartir datos de usuarios de un dominio.com a otro dominio.net, osea jalar desde otra web datos de un dominio a otro, compartir informacion.

Si hay alguien que pueda enseñarme, se lo agradeceria mucho. Es mas alguien que sepa como hacerlo podria pagarle para que me enseñara, si fuera tan amable responda a este mensaje o a mi direccion de email to_update@hotmail.com

Que tengan un grato dia.

Guillermo

Bye

Subdominios en DRUPAL

No habra alguien que me ayude?

los subdominios debes de

los subdominios debes de crearlos desde tu panel de administración de tu host (cpanel, plesk, etc)
luego cargas los archivos de drupal en cada subdominio (via ftp o http) y luego configuras drupal para que cargue los datos de una DB que esta en otro host o dominio
espero que te sirva ;)
si pudieras dar mas info para ayudarte mejor, te lo agradeceríamos. info como panel que usas, servidor web(apache, iis, etc) ... uhm no se que mas escribir porque no duermo desde antes de ayer, bye
----------------------------
atte. Marcio Angel Medina
Webmaster - www.tarmacity.com

hola, gracias por tu ayuda.

hola, gracias por tu ayuda. sucede que yo uso cpanel como panel de administracion, alojado en supersmart.net. Yo mis pruebas las hago en linea.

Segun tu explicacion ya lo hice, pero sabes yo no se como configurar la base de datos. Osea lo que necesito es que por ejemplo tener varios subdominios con contenido diferente y en diferente idioma, pero quiero que el mismo usuario pueda acceder a estos diferentes subdominios sin necesidad que tengan que registrar denuevo, osea un usuario para acceder a todo, tambien el usuario admin pueda administrar todos los datos en cada subdominio.

Se lo basico de configurar base de datos, pero no se como hacer que un mismo usuario pueda acceder a los diferentes contenidos publicados en diferentes subdominios.

habra alguna manera?

Saludos!!

claro amigo :D

claro amigo :D
me agarraste en forma, mira es simple lo que tienes que hacer
requisitos(según yo :D):
- tienes que haber instalado drupal en cada uno de tus subdominios, pero la base de datos para tus subdominios deben ser única, pero los prefijos diferentes(al momento de instalar te da la opción de ponerle un prefijo para las tablas, en la primera pagina de instalación hay un texto que dice Advanced options y rellena el campo Table prefix).

imaginemos que tienes 4 subdominios y los prefijos serian así:

prefijo del subdominio 1 = subd1_ (la tabla subd1_users de este subdominio contendrá a todos los datos de tus usuarios)
prefijo del subdominio 2 = subd2_
prefijo del subdominio 3 = subd3_
prefijo del subdominio 4 = subd4_

ahora toda la acción
te vas al archivo(de cada uno de los subdominios que creaste):

rootdetuwebdrupal/sites/default/settings.php

buscas lo siguiente.


* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* 'sequences' => 'shared_',
* );

ya puedes notar que cambiaras :D.
entonces en el archivo settings.php del subdominio 1 no debes de editar nada, ya que dicho subdominio ya esta instalado con el prefijo "subd1_" y sera donde estarán los datos de tus usuarios.
ahora para el subdominio 2 deberías editar el código citado anteriormente y que te quede similar a lo siguiente

$db_prefix = array(
'default' => 'subd2_',
'users' => 'subd1_',
'sessions' => 'subd2_',
'role' => 'subd2_',
'authmap' => 'subd2_',
'sequences' => 'subd2_',
);

para los demás:

$db_prefix = array(
'default' => 'subd#_',
'users' => 'subd1_',
'sessions' => 'subd#_',
'role' => 'subd#_',
'authmap' => 'subd#_',
'sequences' => 'subd#_',
);

ya debes tener una idea lógica de como deberían de quedar para los demas (# == a el numero que le dimos al prefijo ... 2,3,4...), como también puedes notar, es posible compartir la tabla de sesiones y roles ;)

si tienes algún problema no dudes en preguntar :D

----------------------------
atte. Marcio Angel Medina ... webmaster@marcioangel.com
Webmaster - www.tarmacity.com

Hola, gracias por tu

Hola, gracias por tu informacion tan detallada, aun no lo probare porque sin antes saber lo ultimo comentado por ti. Osea que tan importante seria compartir las "sessions" y los "role". Porfavor explicame que tan importante son estas tablas y como afecta o que beneficios podria obtener al compartirestas tablas. Tambien para que sirve las otras tablas como "default" ,"authmap" y "sequences".

otro detalle es que el archivo sites/default/settings.php tiene este codigo:

-----------------------------------------------
<?php
// $Id: settings.php,v 1.39.2.3 2007/07/09 04:28:12 drumm Exp $

/**
* @file
* Drupal site-specific configuration file.
*
* IMPORTANT NOTE:
* This file may have been set to read-only by the Drupal installation
* program. If you make changes to this file, be sure to protect it again
* after making your modifications. Failure to remove write permissions
* to this file is a security risk.
*
* The configuration file to be loaded is based upon the rules below.
*
* The configuration directory will be discovered by stripping the
* website's hostname from left to right and pathname from right to
* left. The first configuration file found will be used and any
* others will be ignored. If no other configuration file is found
* then the default configuration file at 'sites/default' will be used.
*
* For example, for a fictitious site installed at
* http://www.drupal.org/mysite/test/, the 'settings.php'
* is searched in the following directories:
*
* 1. sites/www.drupal.org.mysite.test
* 2. sites/drupal.org.mysite.test
* 3. sites/org.mysite.test
*
* 4. sites/www.drupal.org.mysite
* 5. sites/drupal.org.mysite
* 6. sites/org.mysite
*
* 7. sites/www.drupal.org
* 8. sites/drupal.org
* 9. sites/org
*
* 10. sites/default
*
* If you are installing on a non-standard port number, prefix the
* hostname with that number. For example,
* http://www.drupal.org:8080/mysite/test/ could be loaded from
* sites/8080.www.drupal.org.mysite.test/.
*/

/**
* Database settings:
*
* Note that the $db_url variable gets parsed using PHP's built-in
* URL parser (i.e. using the "parse_url()" function) so make sure
* not to confuse the parser. If your username, password
* or database name contain characters used to delineate
* $db_url parts, you can escape them via URI hex encodings:
*
* : = %3a / = %2f @ = %40
* + = %2b ( = %28 ) = %29
* ? = %3f = = %3d & = %26
*
* To specify multiple connections to be used in your site (i.e. for
* complex custom modules) you can also specify an associative array
* of $db_url variables with the 'default' element used until otherwise
* requested.
*
* You can optionally set prefixes for some or all database table names
* by using the $db_prefix setting. If a prefix is specified, the table
* name will be prepended with its value. Be sure to use valid database
* characters only, usually alphanumeric and underscore. If no prefixes
* are desired, leave it as an empty string ''.
*
* To have all database names prefixed, set $db_prefix as a string:
*
* $db_prefix = 'main_';
*
* To provide prefixes for specific tables, set $db_prefix as an array.
* The array's keys are the table names and the values are the prefixes.
* The 'default' element holds the prefix for any tables not specified
* elsewhere in the array. Example:
*
* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* 'sequences' => 'shared_',
* );
*
* Database URL format:
* $db_url = 'mysql://username:password@localhost/databasename';
* $db_url = 'mysqli://username:password@localhost/databasename';
* $db_url = 'pgsql://username:password@localhost/databasename';
*/
$db_url = 'mysql://username:password@localhost/databasename';
$db_prefix = '';

/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains,
* uncomment the Base URL statement below (remove the leading hash sign)
* and fill in the URL to your Drupal installation.
*
* You might also want to force users to use a given domain.
* See the .htaccess file for more information.
*
* Examples:
* $base_url = 'http://www.example.com';
* $base_url = 'http://www.example.com:8888';
* $base_url = 'http://www.example.com/drupal';
* $base_url = 'https://www.example.com:8888/drupal';
*
* It is not allowed to have a trailing slash; Drupal will add it
* for you.
*/
# $base_url = 'http://www.example.com'; // NO trailing slash!

/**
* PHP settings:
*
* To see what PHP settings are possible, including whether they can
* be set at runtime (ie., when ini_set() occurs), read the PHP
* documentation at http://www.php.net/manual/en/ini.php#ini.list
* and take a look at the .htaccess file to see which non-runtime
* settings are used there. Settings defined here should not be
* duplicated there so as to avoid conflict issues.
*/
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 2000000);
ini_set('session.gc_maxlifetime', 200000);
ini_set('session.save_handler', 'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags', '');

/**
* Drupal automatically generates a unique session cookie name for each site
* based on on its full domain name. If you have multiple domains pointing at
* the same Drupal site, you can either redirect them all to a single domain
* (see comment in .htaccess), or uncomment the line below and specify their
* shared base domain. Doing so assures that users remain logged in as they
* cross between your various domains.
*/
# $cookie_domain = 'example.com';

/**
* Variable overrides:
*
* To override specific entries in the 'variable' table for this site,
* set them here. You usually don't need to use this feature. This is
* useful in a configuration file for a vhost or directory, rather than
* the default settings.php. Any configuration setting from the 'variable'
* table can be given a new value.
*
* Remove the leading hash signs to enable.
*/
# $conf = array(
# 'site_name' => 'My Drupal site',
# 'theme_default' => 'minnelli',
# 'anonymous' => 'Visitor',
# );

-----------------------------------------------------

En la seccion:

* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* 'sequences' => 'shared_',
* );

estos como veras aparecen con asteriscos al comenzar la linea, y mi pregunta es si es necesario quitar esos asteriscos?

Otra preguntita es si hay mas valores en el sites/default/settings.php que deba cambiar aparte de los prefijos de las tablas, como por ej veo:

$db_url = 'mysql://username:password@localhost/databasename';
$db_prefix = '';
----------------------

# $base_url = 'http://www.example.com'; // NO trailing slash!

---------------------

Si puedes pon todo el codigo como deberia quedar en el setting.php, suponiendo que el drupal principal "www.dominio.com"su prefijo es "home_" y mi subdominio en español "www.espanol.dominio.com" su prefijo es: "es_", como deberia quedar el setting.php????????

Pregunto por que no lo se, ojala me ayudes, y se que varios drupaleros novatos como yo te lo agradeceran!!!

Disculpa las molestias, es que soy muy pregunton, sera para aprender

Saludos cordiales

hasta pronto.

os comento que el problema

os comento que el problema de UPDATE ya fue solucionado internamente.
aquí les dejo la solución:
según en anterior comentario sobre el prefijo home_ para el dominio y es_ para el subdominio:
estos cambio son para el archivo settings.php del subdominio
(en el settings.php del dominio no hay cambios)

// buscar siguiente

* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* 'sequences' => 'shared_',
* );

//remplazar por
*/
$db_prefix = array(
'default' => 'es_',
'users' => 'home_',
'sessions' => 'es_',
'role' => 'es_',
'authmap' => 'es_',
'sequences' => 'es_',
);
/*

//buscar siguiente y eliminar
$db_prefix = '';

//enjoy ;)

----------------------------
atte. Marcio Angel Medina webmaster@marcioangel.com
Webmaster - www.tarmacity.com (Tarma-Perú)

Si, gracias por tu ayuda. La

Si, gracias por tu ayuda. La solucion ya fue explicada.

bye

Ayuda a las victimas del terremoto