Мультисайтинг на Drupal8

31 Окт 2018

Несколько веб-проектов, особенно, что касается реализации под­до­ме­нов, пре­крас­но ужи­ва­ю­тся под од­ной кры­шей, ес­ли это сис­те­ма уп­рав­ле­ния сай­та­ми Dru­pal. За­тра­ты на со­дер­жа­ние и уп­рав­ле­ние мож­но ми­ни­ми­зи­ро­вать, раз­ме­с­тив в од­ной сре­де ряд ре­сур­сов. Их в муль­ти­сай­тинге и об­нов­лять лег­ко — по­тре­бу­ет­ся всего од­на ус­та­нов­ка Dru­pal, вклю­чая ос­нов­ной код, на­бор до­пол­ни­тель­ных мо­ду­лей и раз­лич­ные те­мы для каж­дого сайта.

Это особенно полезно для управления кодом, поскольку любое обновление Drupal будет иметь для всех ресурсов данной мультисайтовой структуры. И это несмотря на то, что каждый сайт может иметь собственную базу данных, свои собственные параметры конфигурации, свой собственный контент, настройки, подключенные модули и темы оформления. Тем не менее, мультисайтинг предполагает использование общей кодовой базы и единого корневого каталога для всех представленных веб-страниц. Это минорный вопрос, создающий проблемы с безопасностью в случае, если каждый сайт управляется своим администратором.

Чтобы задействовать мультисайтинг с использованием общей базы данных Drupal, необходимо придерживаться следующих правил:

  1. Создайте для каждого сайта свою собственную базу данных (обычно, для этого используется функ­ци­о­наль­ность phpMyAdmin)
  2. Создайте новый подкаталог в каталоге «sites» с именем вашего нового сайта. Лучше всего для этого ис­поль­зо­вать URL, например, в нашем случае это uefi.composter.com.ua
  3. Скопируйте в созданный каталог файл /usr/local/www/drupal8/sites/default/default.settings.php
  4. Переименуйте скопированный файл в settings.php
  5. Отрегулируйте разрешения для нового каталога и содержащегося там файла, чтобы предоставить веб-серверу права на запись (www:www) в файл конфигурации settings.php
  6. Создайте в каталоге /usr/local/etc/apache24/Includes/ конфигурационный файлы тех виртуальных хостингов, которые будет обслуживать данный мультисайтинг
  7. В веб-браузере перейдите к URL-адресу нового сайта и запустите стандартную процедуру установки Drupal (если вы получите бесконечный цикл перенаправления, проверьте, существует ли в корневом каталоге файл install.php)

Настройки доверенного хоста

Когда мультисайтовая структура готова, самое время позаботиться о ее безопасности. Для это нужно выполнить на­ст­рой­ки всех доверенных хостов, представленных в Drupal. К этому же призывает и отчет о состоянии, си­г­на­ли­зи­ру­ю­щий про обнаруженные ошибки. После корректной инсталляции их всего одна:

Ошибка в «Отчете о состоянии» административной панели Drupal 8, сигнализирующая об отсутствии установок доверенного хоста

Для CMS Drupal подтверждением доверенного хоста является запись в конфигурационном файле settings.php, созданном при активизации мультисайтовой поддержки. Поэтому для каждого интернет-проекта требуется откорректировать содержимое этого файла, прямо указав URL-адрес в заданном php-правилами формате:

Для CMS Drupal подтверждением доверенного хоста является запись в конфигурационном файле settings.php

Завершаем процедуру Trusted Host Settings повторным визитом в «Отчет о состоянии» административной панели Drupal 8.

Процедура Trusted Host Settings выполнена корректно

Если ошибок нет, можем приступать к настройке тем оформления, расширению функциональности и другим ра­бо­там на каждом из веб-ресурсов, составляющих единую мультисайтовую структуру. Главное — не забывать об­нов­лять­ся, но для этого служит иная опция админки, которая так и называется «Доступные обновления», но об этом в дру­гой раз.

Теги: