Понятие мультисайтинга

В контексте тематики Drupal термин мультисайтинг означает установку нескольких сайтов на один экземпляр движка Drupal. При обновлении ядра Drupal обновляются все сайты данной системы.Также могут быть (но не обязаны) общими дополнительные модули и темы оформления.

Плюсы мультисайтинга на Друпал:

  • Экономия (копеечная) места на хостинге
  • Экономия времени за счет одновременной установки обновлений сразу на всех сайтах системы

Минусы мультисайтинга на Друпал:

  • Неудачное обновление рушит сразу все сайты

Установка

В панели управления хостингом при добавлении очередного домена в качестве домашнего каталога для сайта указывают один и тот же каталог - папку, в которую установлен Drupal.

В корне инсталяции Drupal каталог sites, в котором располагают каталоги каждого сайта. В простом случае имена каталогов для каждого сайта соответствуют именам доменов. В Drupal 7 имена каталогов можно сделать произвольными. Для этого переименуйте (а лучше - скопируйте) файл sites/example.sites.php в sites/sites.php и вконце файла раскоментируйте и исправьте строки, указывающие соответствие между именами каталогов и доменов для ваших сайтов.

В каждом подкаталоге сайта должен быть файл settings.php с параметрами конфиуграции данного сайта. Например, конфигурация для www.example.com должна быть в 'sites/example.com/settings.php' (обратите внимание, что 'www.' должно быть опущено если пользователи могут получать доступ к сайту через http://example.com/).

Сайты могут иметь как различные домены, так и один и тот же домен. Вы можете использовать поддомены и подкаталоги для сайтов Drupal. Например, example.com, sub.example.com и
sub.example.com/site3 могут быть определены, как независимые сайты Drupal. Настройки конфигурации для этих сайтов будут в следующих файлах:

sites/default/settings.php<br />
  sites/example.com/settings.php<br />
  sites/sub.example.com/settings.php<br />
  sites/sub.example.com.site3/settings.php

При поиске конфигурации (например для www.sub.example.com/site3),
Drupal будет искать конфигурационный файл в следующем порядке (используя первый из найденных):

sites/www.sub.example.com.site3/settings.php<br />
sites/sub.example.com.site3/settings.php<br />
sites/example.com.site3/settings.php<br />
sites/www.sub.example.com/settings.php<br />
sites/sub.example.com/settings.php<br />
sites/example.com/settings.php<br />
sites/default/settings.php

Если вы установили нестандартный порт, то номер порта рассматривается как поддомен. Например: http://www.example.com:8080/ должен быть загружен из sites/8080.www.example.com/. Номер порта будет удален согласно приведенному выше шаблону если не будет найдена конфигурация, специфичная для данного порта, как для реального поддомена.

Рядом с ним файлом settings.php создаются каталоги themes, modules, files, специфичные для данного сайта. Например, если sub.example.com темы оформления и модули, которые не должны быть доступны для других сайтов то конфигурация должна выглядеть так:

sites/sub.example.com/settings.php<br />
                      themes/custom_theme<br />
                      modules/custom_module

Итак, модули ядра лежат в каталоге modules (от корня Drupal). Сюда НЕ нужно класть ни свои модули, ни contrib-модули. Этот каталог обновляется вместе с ядром Drupal.
Модули для всех сайтов данной мультисайтинговой установки лежат в sites/all/modules.Модули, специфичные для одного сайта (например, sub.example.com) лежат в его каталоге sites/sub.example.com/modules.

Аналогично обстоят дела с темами оформления:
- themes
- sites/all/themes
- sites/sub.example.com/themes

Рядом с каталогами themes и modules для каждого сайта
можно создать каталог files для загружаемых на сайт файлов.

P.S.: Данный материал не претендует на уникатьность. Все это написано в сопроводительной документации.

 

Ярлыки: