Alojar varios sitios Drupal

Hay muchas razones por las que un administrador de sistemas o desarrollador puede elegir para alojar múltiples sitios en el mismo servidor en una configuración de múltiples sitios. Por ejemplo, una configuración de este tipo podría:

  • que permitirá construir un entorno de desarrollo eficiente
  • Permitirá escenario y probar un sitio antes de que se hace pública
  • Le permite ejecutar el software diferente en el mismo sitio
  • Habilitar el uso compartido de una única base de código a través de varios sitios
  • El apalancamiento de alojamiento compartido
  • Permite llevar a cabo sitios similares segura (HTTP a través de Secure Sockets Layer [HTTPS]) y estándar (HTTP) en el mismo servidor
  • Facilidad de administración del servidor

No todas estas razones, sin embargo, se tratan mejor con la función de múltiples sitios de Drupal. En este artículo se centra en una sola estrategia: cómo utilizar de Drupal soporte incorporado para varios sitios para crear y servir a varios sitios de una instancia de Drupal.

Alojar varios sitios Drupal base de datos, la instalación podría

consideraciones básicas

Utilizando el sistema de gestión de contenidos Drupal (CMS) para crear una configuración de múltiples sitios tiene varias ventajas, una de las cuales es que es probablemente la configuración más sencilla de configurar y mantener. Otra es que la duplicación de datos se reduce al mínimo porque Drupal se instala en un solo lugar en el servidor. Por último, Drupal tiene una gran cantidad de módulos de terceros que pueden ser utilizados para aumentar el manejo de múltiples sitios, que ofrecen capacidades avanzadas a todos los sitios de la disposición. La combinación de características añadidas y administración simplificada sería una gran ayuda para cualquiera que desee configurar y administrar un arreglo de múltiples sitios. Sin embargo, hay algunas desventajas a usar una configuración de este tipo, y dos en particular merecen mención clara: la seguridad y el compartir.

Los sitios en una instalación de múltiples sitios comparten el mismo código y por lo tanto los mismos archivos. Como resultado, cualquier persona que tenga acceso al sistema de archivos del servidor de un sitio también tiene acceso a todos los archivos que se utilizan para todos los sitios en que la instalación de múltiples sitios. Por lo tanto, en los casos en que diferentes personas están manejando diferentes sitios dentro de la disposición, que puede no ser muy seguro. Si la seguridad entre los sitios es un tema principal, o si diferentes personas a gestionar los diversos sitios, la funcionalidad de múltiples sitios incorporados de Drupal puede no ser la mejor solución. En su lugar, considere la posibilidad de cada sitio su propia instancia de Drupal distinta. A pesar de las ventajas de la administración más fácil que se perderán los múltiples sitios de disposición permite, sus sitios estarán mejor protegidos contra accidentes.

La segunda preocupación - compartir - se centra en el acceso de base de datos. A pesar de multi-sitio de Drupal comparten el mismo código fuente, que no comparten los mismos datos de bases de datos. Por lo tanto, los nodos, usuarios y los comentarios en un sitio no son accesibles por defecto de otros sitios. Este comportamiento puede realmente ser considerado como algo bueno, pero en situaciones en las que el administrador puede requerir que todos los sitios de compartir información, puede ser una limitación para el diseño de la función de múltiples sitios de Drupal. Sin embargo, el punto dulce para el soporte integrado para varios sitios de Drupal es que los módulos, temas, e, incluso, hasta cierto punto, archivos subidos, se pueden compartir a través de todos los sitios. Además, los mismos o personalizado archivos pueden ser retenidos en diferentes carpetas correspondientes a los diferentes sitios de la configuración. Si es importante que todo el contenido se comparte, considerar el uso de una característica multidominio, que es fácilmente proporcionada por un módulo del mismo nombre.

hospedaje

La instalación de Drupal para el uso de múltiples sitios

Después de descargar el archivo de Drupal (ver temas relacionados para obtener un enlace), extraer el archivo y copiar la carpeta resultante a la raíz de documentos de su servidor web. Esta tarea no es difícil con un cliente FTP adecuado; con acceso Secure Shell (SSH) para su servidor, la tarea es aún más fácil. Basta con ejecutar un comando wget para descargar el archivo de almacenamiento desde el repositorio, y extraerlo para producir la carpeta de instalación de Drupal. (Si su entorno de desarrollo es local, en espera de más opciones.) Nombre de la carpeta de instalación / goodsite.

Tres sitios diferentes serán creadas para este ejercicio; Por lo tanto, se necesitan tres bases de datos diferentes - uno para cada sitio. Usando phpMyadmin desde el Cpanel de su servidor, esta tarea se logra fácilmente. A continuación, instale el marco. Dos tareas deben llevarse a cabo, sin embargo, antes de utilizar el navegador web para ejecutar el instalador:

  • Proporcionar Drupal con la información que necesita sobre los sitios que desea ejecutar.
  • Pasar los datos de configuración específicos del sitio de Drupal para todos los sitios.

Para lograr la primera tarea, crear un directorio especial para cada sitio. Para el segundo, localizar un archivo de configuración en cada directorio. El objetivo es configurar la instalación principal con dos sub-sitios. Cada sub-sitio comparte los mismos archivos que el núcleo, pero cada uno tendrá su propia URL y base de datos independiente. Las URL de los sitios que se creen son:

Instalación del primer anfitrión

Después de colocar el código fuente de Drupal en la raíz del documento y haber creado las bases de datos MySQL, inicie la instalación del primer sitio y el dominio principal.

El dominio maestro

El nombre de dominio maestro es la URL desde la que se accede al sitio principal (en este artículo, goodsite.com). El propósito principal del dominio principal es de acoger la instalación base Drupal. Independientemente de que este dominio se utiliza como uno de sus sitios, si falla alguna sub-sitios, sus direcciones URL de forma predeterminada el dominio maestro; Por lo tanto, es una buena idea de que este sitio contiene información relevante para los sub-sitios, tales como información de contacto.

Como se ha mencionado, una subcarpeta debe ser creado dentro de la carpeta principal de Drupal para cada sub-sitio. Lo que muchos se imagina la tarea más difícil en la instalación de múltiples sitios de Drupal es simplemente rutina: Que Drupal sabe qué sitios desea alojar, y simplemente crear subcarpetas para aquellos sitios en la carpeta / sitios.

En la carpeta raíz principal Drupal es un directorio llamado / sitios. Si ha administrado Drupal antes, usted sabe todo el código no subyacente debe residir dentro de esta carpeta. En la instalación de Drupal por defecto, la carpeta / sitios contiene dos directorios. El primero, llamado a todos /, es donde debes poner temas y módulos descargados. El / directorio de todo es la ubicación de la información compartida en todos los sitios. La segunda carpeta, denominado default /, es donde deben guardarse los archivos de configuración, así como no básicos y personalizados temas y módulos. Drupal normalmente busca en el directorio / directorio por defecto para la información de configuración del sitio a menos que se indique lo contrario. Tenga en cuenta, sin embargo, que estos son los supuestos para un sitio genérico único host - no necesariamente para una instalación de múltiples sitios.

La creación de las subcarpetas y archivos

Un gran consejo para la construcción de varios sitios Drupal es que, aparte del todo / y el default / carpetas, otras carpetas se pueden crear en / sitios, y Drupal se les asigna un significado especial. Más específicamente, Drupal supone que todos los otros directorios que se encuentran en los sitios / carpeta representan un nombre de host o un patrón de nombre de host.

Se crea una subcarpeta en el patrón / goodsite / sites / Bajo el directorio / carpeta de sitios para todos los sub-sitios, sustituyendo su URL destinado al nombre de cada carpeta de sub-sitio. En este ejemplo, tiene las siguientes sub-sitios, como se muestra en la Figura 1.

Para cada sub-sitio, completar los pasos siguientes:

  1. Copiar el archivo desde default.settings.php sites / default a cada carpeta sub-sitio, y cambiarle el nombre settings.php.
  2. Utilizar chmod para establecer el permiso de settings.php a 644, si no es el permiso actual.
  3. Para una instalación de Drupal, Versión 6, cree una carpeta llamada archivos en cada sub-sitio, y utilizar chmod para cambiar los permisos a 755.

Se trata de una carpeta dentro de la cual Drupal es capaz de escribir el contenido - por lo general, archivos, imágenes en miniatura, Cascading Style Sheet agregada (CSS) y archivos JavaScript subido. Estos archivos no se almacenan en la base de datos, sino más bien en el sistema de archivos, por lo que debe tener un directorio en el que estos archivos pueden residir.

Por defecto, Drupal busca un subdirectorio llamado archivos / dentro del directorio de cada sitio. En una instalación de Drupal por defecto, esta carpeta estaría en sites / default / files /.

  • Crear una carpeta llamada módulos para cada sub-sitio.

    Esta es la carpeta en la que residen los módulos específicos para ese sub-sitio. Cualquier módulo que todos los sitios van a utilizar debe residir en el directorio / carpeta de sitios all / modules.

  • Crear una carpeta llamada temas para cada sub-sitio.

    Aquí es donde se colocan los temas únicos para ese sub-sitio. Cualquier tema que todos los sitios usarán debe residir en sites / all / themes.

    Ahora, señalar las direcciones URL sub-sitio en el servidor web, si no son administrados por la misma empresa de alojamiento. Si utiliza diferentes anfitriones para los distintos sitios, tendrá que cambiar la información del sistema de nombres de dominio (DNS) (tanto los registradores y las empresas de alojamiento deben ser capaces de decirle cómo hacerlo). A partir de entonces, tendrá que "aparcar" ese dominio en la parte superior de su dominio principal - en este caso, goodsite.com. A partir de este punto, usted tiene algunas alternativas, la más difícil de lo que implica el uso de lo que se llama un enlace simbólico. El aparcamiento es mucho más simple, sin embargo; por lo que en su cPanel, haga clic en dominios aparcados. Añadir bettersite.com y bestsite.com en Nuevo nombre de dominio. y luego haga clic en Agregar dominio.

    La creación de los multi-sitio

    Hay varias maneras de ir de aquí, pero de nuevo, vamos a tomar el camino más fácil: cargar directamente la base de datos para cada sub-sitio con las tablas creadas en la instalación de sitio principal. Para ello, es necesario crear un volcado de las tablas de la base de la instalación de sitio principal y guardarlo localmente. Entonces, o subir este archivo con phpMyadmin o abrirlo con un editor de código. Para utilizar la segunda opción, realizar estas tareas dentro de phpMyadmin:

    1. Ir a la base de datos creada para la sub-sitio.
    2. Ir a SQL. y luego pegar todo el código del lenguaje de consulta estructurado (SQL) volcar allí.
    3. Haga clic en Ir.
    4. Este procedimiento se reproducen las tablas de bases de datos de sitios maestros en la base de datos de sub-sitio.

      A continuación, abra el archivo settings.php para cada sub-sitio, y buscar la siguiente línea:

      Cambiar esta base de datos de la conexión de cadena para reflejar los parámetros de la base de datos de sub-sitio (nombre de usuario, contraseña, nombre de host, el nombre de base de datos). Ahora bien, si usted va a bettersite.com, usted debe conseguir el estándar de "Bienvenido a tu nuevo sitio Drupal" página, como se muestra en la Figura 2. Repita estos pasos para todos los sitios adicionales.

      Creación de multisitios de subdominios

      Hay otra manera de crear rápidamente multi-sitio por primera detallando como subdominios desde el Cpanel. En este método, sin embargo, debe crear inicialmente carpetas para cada sitio bajo / goodsite / sitios, esta vez utilizando la siguiente clasificación (ver Figura 3):

      Tenga en cuenta que las carpetas de sub-dominios deben tener los mismos nombres que los propios subdominios. Al igual que antes, poner una copia de default.settings.php en cada carpeta de sub-dominio, cambie el nombre del archivo para settings.php. y emisión CHMOD para cambiar el permiso para 644.

      Ahora, regresa a Cpanel y crear dos subdominios:

      Crea un enlace simbólico

      Un enlace simbólico es un archivo que contiene una referencia a otro archivo o carpeta en la forma de una ruta absoluta o relativa y se crea para afectar a la resolución de nombres camino. Utilizar cualquier editor de código para crear un archivo llamado symlink.php. y luego añadir un código similar al siguiente:

      En este caso, el archivo se vería algo como esto:

      Poner este enlace simbólico en el directorio principal del sitio principal, y ejecutarlo desde el goodsite.com/symlink.php URL. Si la sintaxis del código es bueno, debería ver una página en blanco; de lo contrario, se muestran mensajes de error. Modificar el código en este archivo hasta que salga correctamente.

      configurar .htaccess

      Ahora abre el archivo .htaccess en cualquier editor de código. Buscar la siguiente línea:

      Retire la almohadilla (#), y añadir la siguiente línea antes de guardar los cambios:

      Esto es lo que debe ser similar a .htaccess cuando haya terminado:

      Esta redirección hace posible que tanto goodsite.com/bettersite y bettersite.goodsite.com a ser redirigido a la misma página. Si todo se ha hecho correctamente, se le dirigirá a la página de instalación cuando se accede al sub-sitio URL bettersite.goodsite.com y bestsite.goodsite.com.

      Con todos los sitios instalados, es fácil desde el Cpanel para asociar el bettersite.goodsite.com sitio usando una redirección a la URL bettersite.com.

      MultiSite en un host local con Ubuntu

      Ejecución de una instalación de múltiples sitios en Ubuntu es un poco más complicado que lo que ha hecho hasta ahora para el alojamiento remoto. Una instalación de múltiples sitios se puede configurar fácilmente utilizando el método descrito en las siguientes secciones.

      Crear una nueva carpeta anfitriones

      Comience por crear una carpeta llamada goodsite en la carpeta de inicio usando el siguiente código:

      El resultado debe ser -> / home // Goodsite.

      Ahora copiar todos los archivos de Drupal en esta carpeta.

      Editar el archivo hosts

      Editar el archivo hosts mediante la apertura de una ventana de terminal con el siguiente comando:

      A continuación, puede añadir cualquier nombre del sitio en el formato mysite.com 127.0.0.1. Para este ejemplo, agregue las siguientes líneas:

      Editar los sitios disponibles

      Ahora ve a la carpeta sites-available para crear un archivo llamado goodsite.com usando los siguientes comandos:

      El primer comando va a la carpeta sites-available; El segundo comando copia el archivo por defecto y cambia el nombre que goodsite.com. El tercer comando abre el archivo goodsite.com para su edición. Agregue el código que se muestra en el Listado 1 al archivo.

      Guardar goodsite.com, habilitarlo y, a continuación, volver a cargar Apache usando los siguientes comandos:

      Crear carpetas sub-sitio

      Crear su sub-sitio en la carpeta / sites / home / [su nombre de usuario ubuntu] /goodsite/sites/bettersite.com, y luego añadir settings.php a la nueva carpeta. Si ya ha navegado a los sitios / directorio, copiar el archivo settings.php con el siguiente comando:

      Ejecutar la instalación de sub-sitio

      Abra su navegador y escriba bettersite.com. Debería ver la página de configuración de la instalación. Hacer que el archivo settings.php de sólo lectura de nuevo para evitar los mensajes de seguridad, a continuación, ejecute la instalación de sub-sitio.

      A continuación, cree una carpeta de sitio y ejecutar la instalación para bestsite.com, así como cualquier otro sub-sitios mencionados en la configuración de anfitriones.

      módulos para varios sitios

      Los módulos se utilizan para ampliar la funcionalidad de una instalación básica Drupal y vienen en diferentes categorías, desde administrativo a funcionalidades reales de mejora del rendimiento. Varios módulos pueden ayudar en la creación de una configuración de múltiples sitios o similar. Para más detalles sobre cómo utilizar estos módulos, consulte la documentación de instalación para cada módulo.

      Los módulos de acceso de dominio

      Los módulos de acceso de dominio (ver temas relacionados para obtener un enlace) permiten la creación de un multisitio utilizando una única base de código, una base de datos de usuario compartida, y las diferentes bases de datos de contenido de sesión, pero con compartidos. Tal configuración es diferente de lo que hemos hecho en este artículo. El acceso de dominio es en realidad describe como un conjunto de módulos que facilitan que ejecutan un grupo de sitios mediante el uso de un código básico de Drupal instalado dentro de una única base de datos compartida. Estos módulos permiten a todos los sitios para compartir los usuarios, el contenido y la configuración de si han sido preconfiguradas para operar de tal manera. Los módulos de acceso al dominio emplean Sistema Nodo de Acceso de Drupal para establecer qué contenido debe estar disponible en cada sitio en la disposición de múltiples sitios. Los módulos, a diferencia de otros módulos multidominio, también controlan el acceso del usuario sobre la base del dominio activo el usuario está viendo, no sobre la base del grupo o sitio al que pertenece el usuario.

      El módulo Administrador de múltiples sitios

      El Administrador de varios sitios (ver temas relacionados para obtener un enlace) es un módulo contribuido que permite la creación de nuevos sitios Drupal Drupal desde un sitio de base sin la necesidad de acceder a la base de datos de instalación. Por defecto, el nuevo sitio está instalado en la misma base de datos como la instalación base, pero con un prefijo diferente. De lo contrario, si el usuario actual tiene permiso de acceso para crear una base de datos, la instalación podría ser hecho en esa base de datos.

      Conclusión

      Este artículo explora cómo crear una configuración multi-sitio con Drupal como la base de la CMS. Instaló el sitio maestro y localizó la sub-sitios dentro de su estructura de directorios. Ha aprendido a ejecutar instalaciones de múltiples sitios en un servidor remoto mediante el uso de las instalaciones administrativas de su empresa de alojamiento ofrece. También ha aprendido cómo crear una instalación de múltiples sitios en una máquina local - en concreto, en un equipo con Ubuntu Linux. En este artículo también presentó dos módulos de Drupal que le puede ayudar en la creación de las dos configuraciones de múltiples sitios y multidominio.

      Artículos relacionados

      múltiples sitios de alojamiento DrupalSi está ejecutando más de un sitio de Drupal, puede simplificar la gestión y puede actualizar sus sitios utilizando la función multi-sitio. Multi-sitio le permite compartir una única Drupal ...
      Hosting dos sitios de WordPress en un servidorfunción de múltiples sitios Si desea que varios blogs a través de WordPress, uso de características múltiples sitios para crear lo que se conoce como una red de sitios. Esta característica se implementa mediante la fusión de WordPressMU ...
      páginas impresora amistosa de alojamiento DrupalDrupal es un robusto sistema de gestión de contenido que se ejecuta en un servidor LAMP. El servidor LAMP utiliza MySQL por defecto, pero PostgreSQL también se puede utilizar con Drupal. Puede alojar blogs, foros y una ...
      Todos los de alojamiento módulos de Drupal31 de de enero de, 2017 que había comenzado esta serie con un post sobre lo que serán evaluados características hora de seleccionar las soluciones de alojamiento de bricolaje Drupal. Vamos a empezar con el más simple y más temprano ...
      Drupal alojamiento de sitios múltiplesHola y bienvenido. Estoy corriendo varios sitios que utilizan función de múltiples sitios de Drupal, y se dio cuenta de la ausencia de un grupo para discutir los diversos temas y tutoriales relacionados con hacer esto. Si alguien tiene ...