Alojar varios sitios módulos de Drupal

Si 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 instalación de Drupal (código del núcleo incluyendo, módulos y temas contribuido) entre varios sitios.

Esto es particularmente útil para la gestión del código ya que cada actualización sólo hay que hacer una vez. Cada sitio tiene su propia base de datos y sus propios valores de configuración, por lo que cada sitio tiene su propio contenido, configuración, los módulos habilitados, y el tema habilitado. Sin embargo, los sitios comparten una raíz de base de código y documentos web, lo que puede haber problemas de seguridad con varios administradores. (Consulte la sección "Problemas de seguridad" para obtener más información).

hospedaje

Descripción general del proceso

Para crear un nuevo sitio con una base de código compartido Drupal debe realizar los siguientes pasos:

  1. Crear una nueva base de datos para el sitio (si ya existe una base de datos existente, también puede utilizar esto definiendo un prefijo en el procedimiento de instalación).
  2. Crear un nuevo subdirectorio del directorio 'sitios' con el nombre de su nuevo sitio. Véase más abajo o los comentarios en el archivo default.settings.php para obtener información sobre cómo nombrar el subdirectorio.
  3. Copiar el archivo de sitios / default / default.settings.php en el subdirectorio que ha creado en el paso anterior. Cambie el nombre del archivo nuevo a settings.php.
  4. Para Drupal 8 solamente: Permite activar la función de múltiples sitios mediante la copia (y el cambio de nombre) los sitios de archivos / example.sites.php a sitios / sites.php. No hay necesidad de editar el archivo a menos que necesite alias sitio. aplica las reglas de selección de sitios normales.
  5. Ajustar los permisos del directorio nuevo sitio, y otorgar permisos de escritura en el fichero de configuración (settings.php).
  6. Si está utilizando un subdirectorio como example.com/subdir y no un subdominio como subd.example.com es probable que tenga que crear un enlace simbólico para cada sitio. Vea la sección de múltiples sitios subdirectorio abajo para más detalles.
  7. En un navegador Web, vaya a la dirección URL del sitio nuevo y continuar con el procedimiento estándar de instalación de Drupal (si se obtiene un bucle de redireccionamiento infinito, comprobar si el archivo install.php existe la raíz del documento).

También puede ser necesario modificar el archivo de configuración del servidor web (httpd.conf menudo llamado para Apache) para permitir Drupal para anular la configuración de Apache. Esto es cierto para todas las instalaciones de Drupal y no es específico de la multi-sitio de instalación. Información adicional está disponible en las mejores prácticas: Configuración de Apache y PHP para Drupal en una sección ambiente compartido de la guía de instalación.

Alojar varios sitios módulos de Drupal de cada sitio, lo consideran

Detalles del proceso de

Dominios, direcciones URL y sitios de nombre de subdirectorio

El nuevo subdirectorio del directorio de sitios tiene un nombre que se construye a partir de la URL del sitio. Por ejemplo, la configuración para www.example.com estaría en sitios / example.com / settings.php. No es necesario incluir 'www' como parte del nombre del directorio.

Drupal utilizará los mismos sitios / directorio example.com para cualquier subdominio de example.com. incluyendo www, a menos que haya una alternativa, igualando los sitios subdominio subdirectorio. Por ejemplo, sub.example.com URL se sirve de los sitios / sub.example.com. si es que existe.

Para una URL subdirectorio, como example.com/subdir. nombrar el subdirectorio sitios de la siguiente manera: sitios / example.com.subdir - y lea la sección de abajo en conseguir subdirectorio de trabajo multi-sitio.

Si va a instalar en un puerto no estándar, el número de puerto se considera como la primera parte del subdominio. Por ejemplo, www.example.com:8080 se podría cargar desde los sitios / 8080.example.com. Si no existe ese directorio, Drupal sería entonces buscar sitios / example.com. al igual que un subdominio real.

módulos y temas específicos del sitio

La configuración de cada sitio puede tener sus propios módulos y temas específicos del lugar, además de los instalados en los 'módulos' estándar y directorios 'temas'. Para utilizar módulos o temas específicos del sitio, basta con crear una 'módulos' o directorio 'temas' dentro del directorio de configuración del sitio. Por ejemplo, si sub.example.com tiene un tema personalizado y un módulo personalizado que no debe ser accesible a otros sitios, la configuración se vería así:

raíz del documento

Un área de confusión frecuente es que en una instalación de múltiples sitios Drupal la raíz de documentos del servidor web es el mismo para todos los sitios. Por ejemplo, con los tres sitios siguientes: example.com, sub.example.com y example.com/site3 habrá un único directorio de Drupal y todos los sitios se llama el mismo archivo index.php.

Algunos servicios de alojamiento web crear automáticamente un nuevo directorio (es decir, example.com) al crear un nuevo dominio o subdominio. En este caso es necesario convertirlo en un enlace simbólico al directorio principal de Drupal, o mejor aún, al crear el dominio o subdominio, configurarlo para que utilice la misma raíz de documentos como el sitio donde ha instalado Drupal.

Subdirectorio de múltiples sitios

Si usted está tratando de conseguir Drupal múltiples sitios de trabajo utilizando URLs subdirectorio en lugar de subdominio o dominio de diferentes URL, puede encontrar problemas. Vamos a empezar por hacer un directorio como sitios / example.com.subdir. y poniendo un archivo settings.php allí. Si esto funciona para usted, grande! Pero probablemente no lo hará.

alias localhost para estación de trabajo local

En muchos sistemas, es posible crear entradas en un archivo "hosts" para crear alias para el nombre de host local para una estación de trabajo local. Al crear alias para localhost es posible crear nombres como localdev1.example.com y localdev2.example.com, tanto para el equipo local.

Si por el contrario se utiliza subdirectorios en su web raíz local, cree un enlace simbólico de esta manera:

y el nombre de su localhost.subdir carpeta del sitio.

cambios de nombre de dominio

Una vez que un sitio está en producción en un subdirectorio particular bajo el directorio de sitios, el subdirectorio no debería denominarse, incluso si cambia la URL del sitio Web. Esto se debe a varias tablas de bases de datos (por ejemplo: sistema y archivos) incluyen referencias a "sitios / www.midominio.com en". En lugar de cambiar el nombre del directorio de sitios, se puede crear un enlace a la nueva URL de la anterior. Navegue hasta el directorio de sitios y luego usar el siguiente comando:
$ Ln -s /path/to/drupal/sites/old.domainname.com new.domainname.com

Preocupaciones de seguridad

Es posible que desee reconsiderar el uso de la configuración multi-sitio de Drupal, en situaciones en que los administradores de todos los sitios que se extienden desde la misma base de código no son ya sea la misma persona o un pequeño grupo con un alto nivel de confianza mutua. La razón es que cualquier persona con privilegios administrativos completos en un sitio de Drupal puede ejecutar código PHP de su elección en ese sitio a través de diversos medios (incluso sin acceso FTP al sitio), y que código PHP arbitrario podría ser utilizado de un sitio a afectar a otro sitio, si los dos sitios se encuentran en la misma raíz de documentos HTTP y compartir el mismo código de Drupal.

Por lo tanto, a menos que confíe por completo todos los administradores de los sitios que usted está considerando que va desde la misma base de código de Drupal a estar bien, con cuidado, y no malicioso, es posible que desee considerar la instalación de sus sitios Drupal en zonas completamente separadas del servidor web que no son capaces de afectar a entre sí a través de scripting PHP.

De vez en cuando, Drupal está sujeta a las vulnerabilidades de seguridad. errores que permiten un acceso de usuarios no autorizados a código del núcleo de Drupal. Una vez que un hacker tiene acceso a su código del núcleo, tienen acceso a todos sus multi-sitio a través de un ataque. Los no requieren multisite ataques separados, que pueden ofrecer tiempo suficiente para que la vulnerabilidad puede asegurar.

Cuando a múltiples sitios

Como regla general sobre la conveniencia de utilizar las instalaciones de múltiples sitios o no se puede decir:

  • Si los sitios son para el mismo cliente y es simplificar el alcance de cada sitio, considerarlo.
  • Si los sitios son similares en funcionalidad, utilizar los mismos módulos o utilizar la misma distribución de Drupal, considerarlo.
  • Si usted ha limitado los recursos / personal, pero un montón de sitios para administrar y mantener, sin duda considerarlo.
  • Si la funcionalidad o el alcance son diferentes, no utilice múltiples sitios.
  • Si está gestionando múltiples distribuciones, no utilice múltiples sitios.
  • Si los clientes son diferentes, no utilice múltiples sitios.

El DrupalCon Austin (2014) conversación / debate sobre varios sitios donde los pros, los contras, y algunas sugerencias son discutidos por una amplia audiencia de perspectivas del usuario está disponible en youtube.

Multisitio es popular cuando desea que sus sitios se mantienen lo más al día posible con respecto a las actualizaciones de seguridad del módulo de Drupal, pero cuando se tiene una funcionalidad diferente, esto es más difícil de hacer, ya que se necesita un mayor tiempo para probar cada sitio independiente. Si usted está haciendo múltiples sitios, la actualización debe ejecutarse al mismo tiempo para todos los sitios que no siempre es posible. Si esto es una preocupación o si tiene una muy grande para varios sitios, pero todavía favorecen el enfoque, es posible que desee considerar la exploración de una llamada DSLM drush plugin que trata la gestión de múltiples sitios un poco diferente pero con las mismas ventajas.

Los sitios con diferente funcionalidad generalmente terminan siendo actualizado en momentos diferentes debido a que cada necesita ser probado y copia de seguridad. actualizaciones del sitio y copias de seguridad pueden ser automatizadas con drush con o sin multisitio aunque el objetivo @sites disponible para drush simplifica aplicación grueso de comandos para multisitios.

Los detalles de configuración para varios sitios recomendados

Estas no son reglas duras y rápidas, pero sin duda ayudará a evitar que la pintura usted mismo en una esquina con múltiples sitios.

Utilice Drush a gestionar las actualizaciones de despliegue / sitio

Drush es un potente CLI que permite comandos de procesos contra los sitios Drupal. Cuando se combina con multi-sitio, se vuelven mucho más fáciles de manejar a escala. Drush alias (que permiten hacer referencia a agrupaciones de sitios / objetivos con comandos individuales) son fundamentales para gestionar con éxito grandes implementaciones en varios sitios. Por ejemplo, muchas instituciones educativas corren multi-sitio con bastante más de 100 a 1000 sitios corriendo un único múltiples sitios.

Utilice sites.php para administrar sitios

Utilizar los incluidos sitios / sites.php (Drupal 7.x) o sitios / sites.example.php (Drupal 8.x.x) para hacer referencia a sitios múltiples sitios en un lugar de la dirección en base. Esto le permitirá migrar entre los despliegues (por ejemplo., Dev, prod fase) con mayor facilidad. configuración de múltiples sitios tradicionales tendría que crear directorios como sitios / my.new.domain.address / settings.php pero usted no necesitará utilizar el dominio que el nombre de la carpeta para que funcione. En sites.php se puede hacer una referencia como => 'my.new.domain.address' 'proyecto / version1'. De esta manera, se hace posible el uso de asignaciones sites.php en dev que se parezca más a our.dev.address y todavía tiene que apuntar a proyectar / version1 como su objetivo.

¡Mira este video!

Artículos relacionados

Alojar varios sitios sitios DrupalHay 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: ...
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 ...
Alojar varios sitios DrupalHay 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: ...
Instalar abierta publicar en alojamiento DrupalIntroducción Drupal es un software de código abierto sistema de gestión de contenido libre (CMS) que permite a los individuos o comunidades de usuarios publicar fácilmente, gestionar y organizar una amplia variedad de contenido ...
Alojar varios sitios tutorial DrupalMutlisite función de Drupal suena como el Santo Grial para cada vez que desee ejecutar múltiples sitios Drupal. Sin embargo, la respuesta a "¿Debo usar MÚLTIPLES?" es mejor descubierto por saber qué ...