Varias webs en un drupal

Logo de Drupal CMS

Cada día tengo más portales web que gestionar. Y según pasa el tiempo me he encontrado un gran problema cuando hay que actualizar el drupal, módulos o themes. El problema está en que lo tengo que hacer para cada portal. Por esto me he dispuesto a aprender la posibilidad de tener varios portales a partir de un solo drupal.

En la carpeta raíz del drupal, podemos encontrar una carpeta de nombre sites. Dentro de el pondremos una carpeta para cada portal. Hay dos carpetas especiales: "default" que es donde irá a parar salvo que exista un sitio definido para ese subdominio, y "all" que es la configuración que afecta a todos los sitios definidos. El nombre de estas carpetas serán el dominio del sitio. Por ejemplo: para http://blog.intropedro.es tendríamos que tener la carpeta system.

El proceso es el siguiente:

  • Creamos una carpeta con el nombre del dominio en la carpeta sites. Por ejemplo: sites/prueba.intropedro.com)
  • Copiamos un archivo settings.php en la carpeta sites/prueba.intropedro.com/settings.php
  • Editamos el fichero settings.php y cambiamos la línea siguiente:
 # $base_url = 'http://www.example.com';  // NO trailing slash!

por esta otra:

 $base_url = 'http://prueba.intropedro.com';
  • Creamos las carpetas files, modules y themes en la carpeta sites/prueba.intropedro.com.
  • Accedemos a la url http://prueba.intropedro.com y nos aparecerá el formulario de instalación, ponemos los datos y los guardamos.
  • Accedemos otra vez a la url http://prueba.intropedro.com, creamos una cuenta para que sea la cuenta de administrador y vamos a administraciónFile system y en File system path ponemos sites/prueba.intropedro.com/files

Ya tenemos nuestro sitio construido, tendremos que hacer estos pasos cada vez que queramos crear una web.

Los módulos y themes que se encuentren en la carpeta modules de un sitio, solo los verá ese sitio, y los que estén en la carpeta sites/all o las del raíz, los verán todos los sitios. Esto solo es la punta del iceberg, ya que puedes hacer que varios sitios compartan información, por ejemplo podrían compartir los usuarios (imaginaros que vuestra introcuenta sirviera para entrar en todos portales que hiciera yo). Aunque para compartir información tendrían que compartir base de datos. Esto lo miraré otro día.

temas: 

Comentarios

Estimado

Instale drupal 7 sin ningun problema en el hosting externo que tengo contratado de modo anual
Pero lo que NO he podido hacer es instalar "multisitios"
Esto lo necesito ya que si un cliente me encarga un sitio, este puede ir viendo  los avances por ejemplo en:
www  nombredemisitio.cl/automotora
 
Antes lo hacia creando una carpeta "automotora" y alli cargaba el drupal completo...
 
Pero se supone que con multisitios, todos los archivos y el core de drupal estan bajo
public_html
Y puedo tener "ene" sitios adicionales usando los mismos recursos
 
He seguido las instrucciones paso a paso pero NO he logrado exito
Mi sitio drupal 7 esta en:
 
He creado en cpanel una Nueva base de datos (nuevo nombre, nuevo usuario y nueva pasword)
He creado dentro de la carpeta sites otra carpeta con el nombre "example.com"
Dentro de ella he copiado el archivo default.settings,php
Lo he renombrado como settings.php  
Lo he bajado al HD via FTP
He editado con D.weaver el archivo, y he escrito en el el nombre de la nueva base de datos, el user y la pasword
He salvado el archivo
Lo he vuelto a subir via FTP 
Con chmod le he dado todos los permisos
 
Voy a la siguiente direccion para proceder a instalar como se supone que deberia ser
 
www.publisearch.cl/example.com    Y ME DA EL MENSAJE PAGUNA NO ENCONTRADA
Intento con la siguiente
www.publisearch.cl/sites/example.com   Y me da el mensaje PAGINA NO ENCONTRADA
 
No he pasado de esta etapa
Que debo hacer?
Que estoy haciendo mal?
Por que me dice pagina no encontrada?
Y si llegase a encontrarla. Como va a realizar la instalacion si dentro de la carpeta example.com NO eata el archivo install.php?
 
El install.txt que viene con Drupal 7 explica todo, pero NO como proceder para que se ejecute la instalacion
me puedes ayudar?
 
Att
 
Hernando Acevedo
Santiago Chile

Hola Hernando,

Yo nunca he intentado nada así, ya que lo hago con subdominios o dominios con los que en la carpeta sites se identifican por el nombre de esta (por ejemplo para blog.intropedro.com tengo la carpeta sites/blog.intropedro.com).

Para el caso de una carpeta example.com dentro de la de sites, drupal se esperara que el dominio de la petición sea example.com, pero en tu petición www.publisearch.cl/sites/example.com el dominio es publisearch.com, por lo que supongo que no te funcionará por eso.

De todas maneras he encontrado algo que puede ayudarte. Prueba a añadir en la carpeta sites un fichero llamado sites.php con el siguiente contenido y me dices si te funciona:

     

 

Añadir nuevo comentario