Drupal 8 Multisitio

La siguiente guía resaltará los pasos manuales necesarios para configurar un multisitio Drupal 8. Esta guía es un trabajo en progreso con solo algunas configuraciones de ejemplo presentadas. Hay otras opciones disponibles, como HTTPS, otros servidores web y bases de datos, y configuraciones de host virtual más refinadas, etc.

Sin embargo, debe tenerse en cuenta que se prefiere usar el sistema de alojamiento Aegir. Hace todo el trabajo pesado por usted utilizando las mejores prácticas seguras, incluida la configuración automática de hosts virtuales tanto para Apache como para Nginx, agregando soporte HTTPS, ejecutando comandos de Composer, etc. Consulte la documentación para configurar una "plataforma", Aegir-speak para un código base multisitio.
Descripción general del proceso:

    Instale una instancia de Drupal 8 que actuará como el sitio raíz de nuestra instancia multisitio. En nuestro ejemplo, el sitio raíz se llamará d8multisite, estará disponible en d8multisite.com y se instalará en / var / www / d8multisite
    Configure un sitio dentro del sitio múltiple llamado sitio1 al que se puede acceder en sitio1.d8multisite.com
    Configure el sitio1 para que tenga sus propios módulos fuera del sitio raíz.

Paso 1: crear una instancia del sitio maestro

Para comenzar el proceso, instale una copia de Drupal 8 en su servidor. Lea los documentos sobre la instalación de Drupal 8 si no está familiarizado.

En este ejemplo, instalamos Drupal con los siguientes pasos:

1.1: Cree una base de datos para el sitio raíz multisitio, por ejemplo: d8multisite.

1.2: Descargue y extraiga una copia de Drupal 8 en su directorio web.

1.3: Crear una definición de host virtual para el sitio raíz. Lea sobre las configuraciones de host virtual. Un ejemplo de una configuración de host virtual Apache es el siguiente. Para Nginx, vea la receta oficial.

<VirtualHost *: 80> # configuración de host virtual para el sitio raíz multisitio de Drupal 8 ServerAdmin me@domain.com DocumentRoot / var / www / d8multisite ServerName d8multisite.com ServerAlias ​​www.d8multisite.com <Directorio /> Opciones FollowSymLinks AllowOverride Ninguno </ Directorio > <Directorio / var / www / d8multisite> Opciones Índices FollowSymLinks MultiViews Permitir anular Permitir todos los pedidos permitir, denegar Permitir de todos </Directory> ErrorLog $ {APACHE_LOG_DIR} /d8multisite_error.log LogLevel warn CustomLog $ {APACHE_LOG_DIR} /access._ulti / log_multis VirtualHost>

1.4: Instale Drupal visitando d8multisite.com y siguiendo la interfaz de usuario de instalación.
Paso 2: configure el primer sitio para el sitio múltiple

Ahora que tenemos configurado el sitio raíz, podemos comenzar a configurar nuestro primer sitio llamado sitio1. Estos son los pasos en este proceso:

2.1: Cree una carpeta para el sitio1 en su multisitio: /d8multisite/sites/site1.d8multisite.com

2.1: Crear una base de datos para el sitio1, por ejemplo: d8multisite-site1

2.3: Haga una copia de /d8multisite/sites/example.sites.php llamada /d8multisite/sites/sites.php

2.4: Edite sites.php para que el final del archivo se vea así:

# informar al sitio raíz de drupal de site1: $ sites ['site1.d8multisite.com'] = 'site1.d8multisite.com';

2.5: Crear un host virtual para el sitio1. Tenga en cuenta que este host virtual debe apuntar al sitio raíz, no al subdirectorio del sitio. Tenga en cuenta que también puede renunciar a crear una nueva configuración de host virtual para este sitio y solo el nuevo sitio como ServerAlias ​​para el sitio raíz. Sin embargo, en este ejemplo de Apache, crearemos un host virtual separado para el sitio1:

<VirtualHost *: 80> ServerAdmin me@domain.com DocumentRoot / var / www / d8multisite ServerName site1.d8multisite.com <Directorio /> Opciones FollowSymLinks AllowOverride Ninguno </Directory> <Directorio / var / www / d8multisite> Opciones Índices FollowSymLinks MultiViews AllowOverride All Order allow, deny Allow from all </Directory> ErrorLog $ {APACHE_LOG_DIR} /site1-d8multisite_error.log LogLevel warn CustomLog $ {APACHE_LOG_DIR} /site1-d8multisite_error.log combinado </VirtualHost>

2.6: Copie /d8multisite/sites/default/default.settings.php en el directorio del nuevo sitio como settings.php:

#desde la carpeta raíz de drupal cp sites / default / default.settings.php sites / site1.d8multisite.com / settings.php

2.7: Finalice el proceso de instalación de Drupal para el sitio 1 visitando el dominio del sitio.

Puede repetir estos pasos cada vez que desee crear un sitio en su sitio múltiple. También puede usar dominios como example.com y site1.anotherdomain.com. Más detalles sobre dominios, URL y nombres de subdirectorios de sitios.
Paso 3: habilite los módulos por sitio

En algunos casos, es posible que desee que uno de sus sitios dentro de su sitio múltiple tenga sus propios módulos. Para habilitar esto, simplemente necesita crear las carpetas apropiadas dentro de la carpeta del sitio de destino. Consulte Estructura de carpetas multisitio en Drupal 8.

En este ejemplo, habilitaremos el sitio1 para que tenga sus propios módulos:

    Cree una carpeta de "módulos" en el subdirectorio del sitio1: /d8multisite/sites/site1.d8multisite.com/modules
    Otorgue acceso de escritura apache a esta carpeta con chown www-data /d8multisite/sites/site1.d8multisite.com/modules
    Pruébalo:
        Salga del subdirectorio del sitio1 (es decir, en el sitio raíz) e instale el módulo Pathauto con drush drush dl pathauto
        Vaya al subdirectorio del sitio1 e instale el módulo ds con drush drush dl ds

Etiquetas