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ón, File 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.
Comentarios
Estimado Instale drupal 7
Estimado
Hola Hernando, Yo nunca he
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