Últimos artículos
Loading...
viernes, 2 de noviembre de 2012

Todo lo que necesitas saber sobre multisitios en Drupal

viernes, noviembre 02, 2012
Atención que todas las pruebas estan sobre la versión 7 de Drupal.

Quizas esta es una parte muy confusa para los que recién se inician en Drupal o los que se inician trabajando con multisites en Drupal.

Primero las ventajas que podemos obtener al usar un multisite:

1. Con una sola instalación de Drupal podemos mostrar todos los sitios que queramos. Solo con dirigir cualquier dominio a nuestra instalación podemos mostrar el sitio usando el mismo core, podemos usar la DB default, o la que corresponde a nuestro site nuevo.

2. Si necesitamos hacer una actualización, solo con actualizar el Core o los modules que estan en default podemos hacerlo, podemos tener en cada multisite diferente versión del mismo modulo.

Empezamos:

Suponiendo que ya tenemos nuestro virtualhost con los dominios apuntando a la misma instalación, si no saben configurar un virtualhost es momento de aprender a hacerlo, obviamente si tienen ya el dominio de producción no hace falta hacerlo, solo basta que que este apuntando al mismo lugar.

Ejemplo:
www.misitio1.com ---- DNS deben apuntar al sitio donde tenemos nuestros archivos
www.misitio2.com ---- DNS deben apuntar al mismo sitio donde tenemos nuestros archivos

Suponiendo que ya tiene su virtualhost configurado en local o servidor de desarrollo, pasamos a entender un poco como funciona.

Suponiendo que tenemos ya nuestros dominio de desarrollo en local:

misitio1.dev apuntando al directorio /var/www/drupal
misitio2.dev apuntando al directorio /var/www/drupal

acá viene la magia, drupal busca y "rutea" de manera automatica el sitio, en caso de no encontrar ningun sitio dentro de /sites pasa a mostrar el default. (Ojo: Yo tengo mi virtualhost de desarrollo apuntando a mi carpeta personal)


 Dentro de misite1.dev y misite2.dev podemos tener la misma estructura que default:

/sites/misitio1.dev/settings.php
--------------------/modules/
--------------------/files
--------------------/themes 

Bien ahora solo con ir a misite1.dev nos debería aparecer el asistente de instalación, lo mismo con misite2.dev, hay que seguir la instalación de manera normal, no debería tener mayores problemas.

Bien ahora que sucede si queremos trabajar en local con el nombre del dominio en producción o cualquier otro nombre que queramos:


Para eso Drupal nos da el archivo sites.php (renombrar example.sites.php a sites.php) La descripción o ayuda del archivo es bastante comprensible, solo debemos modificar la ultima parte del contenido del archivo:

/**
* Multi-site directory aliasing:
*
* Edit the lines below to define directory aliases. Remove the leading hash
* signs to enable.
*/
# $sites['devexample.com'] = 'example.com';
# $sites['localhost.example'] = 'example.com';
#$sites['misitio1.com'] = 'carpeta';
$sites['misitio2.dev'] = 'paginaenproduccion.com';

Con esto hacemos la redirección y podemos trabajar en local sin preocuparnos por como quedara en el sitio en producción.

Otro detalle, para subir archivos, por default Drupal nos va a tomar la ruta de nuestro site:

/admin/config/media/file-system

Public file system path
sites/paginaenproduccion.com/files

Esto seria un problema si luego decidimos cambiar el nombre del dominio, solamente modificamos la ubicación de nuestra carpeta files, para esto Drupal es muy permisivo, podemos guardarlo en donde queramos siempre que sea una carpeta publica.

Si trabajamos con Drush solamente poniendo el argumento -l sitio podemos trabajar en cualquier site:

Ejm:
$drush -l paginaenproduccion.com dl webform
$drush -l paginaenproduccion.com en webform -y

Como ven es bastante simple, espero que este post ayude a entender las ventajas y como empezar a usar esta potente feature de nuestro CMS favorito.

Be happy ;)

Actualización: Debido a una pregunta que me hicieron de manera privada, aunque no la respondí directamente voy a aclarar a que me refiero con "el dominio debe apuntar a la misma instalación".

Supongamos que tenemos comprado nuestro segundo dominio dominiox.com ingresamos al panel del registrador del dominio y apuntamos las DNS como lo hacemos habitualmente a nuestro servidor donde estaría alojado nuestros website.

Con esto no es suficiente ya que nuestro servidor no podrá resolver la dirección, así que lo configuramos, en CPanel se llama "dominio apuntado", esto seria apuntar cualquier dominio a la carpeta del dominio original. Les muestro un print de como seria:


Con esto es suficiente, cuando las DNS se propaguen y quieran entrar a www.dominiox.com nos va a mostrar el formulario de instalación, en caso de haber hecho los pasos anteriores, de lo contrario dará un error de negación de acceso a la DB.

Cualquier consulta por favor háganla en los comentarios, no respondo emails privados.

Be Happy :)


2 Comentarios:

  1. Estimado estoy tratando de hacer un multisitio en un hosting que contrate, lei toda su expluicacion y no me resulta me tira esto en la barra de navegacion: http://molino.santamariacolegio.tk/install.php ----- y ----- esto me muestra :La página no está redirigiendo adecuadamente.La operación superó el tiempo de espera al intentar conectar con http://molino.santamariacolegio.tk/install.php.
    Este problema puede ser causado a veces por desactivar o rechazar cookies.
    Estoy trabajando con un dominio y cree un subdominio, pero no me resulta, esperando una pronta respuesta me despido gracias.

    ResponderEliminar
    Respuestas
    1. Hola, la verdad no se que decirte si seguiste los pasos al pie de la letra supongo que se debe al tipo de dominio que estas usando, nunca lo probe con un TK, es la unica respuesta que puedo darte, quizas ese sea el problema.

      Eliminar

 
Toggle Footer