Начальная страница

Николай Жарких (Киев)

Персональный сайт

?

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

Смерека хорошо вооружена для поддержки нескольких сайтов, но для этого надо принять определенные решения относительно конфигурации системы и провести их в жизнь.

Мультисайтингом мы будем называть систему, в которой функционирует несколько [виртуальных] хостов и все они обслуживаются одним экземпляром базового кода Смереки.

Рассмотрим некоторые варианты конфигурации.

Один сайт – один каталог – одна база данных

Эта система является самой простой в развертывании: для каждого нового виртуального хоста создается свой персональный корневой каталог веб-документов, в него копируются установочные файлы Смереки, создается новая БД, выполняется ее начальная загрузка и в файл customsettings.php записываются параметры БД.

Преимуществом такой конфигурации является полная независимость сайта от других сайтов системы. Это может быть очень существенным, когда нужно предоставить заказчику сайта права глобального администратора (эти права действуют в пределах одной БД Смереки).

Недостатки такой конфигурации – в сложности поддержки: 1), обновление программного кода Смереки часто предусматривает и обновление метаинформации в БД; это обновление надо выполнять для каждой БД в системе; 2), персональный инсталляционный каталог Смереки занимает около 1 Мб, и эти файлы нужно копировать в каждый персональный каталог сайта (кстати, эти наборы файлов тоже могут иногда обновляться); 3), персональные каталоги и особенно базы данных являются ценными ресурсами, количество которых в конкретных условиях хостинга ограничено.

Несколько сайтов – несколько каталогов – одна база данных

При такой конфигурации все сайты из данной группы используют одну базу данных и, соответственно, глобальные администраторы имеют к ним равный доступ.

Преимуществом такой конфигурации является один экземпляр метаинформации и возможность администрирования несколькими сайтами с использованием одной учетной записи глобального администратора.

Недостатком такой конфигурации является дублирование персональных каталогов, которое обсуждался выше.

Несколько сайтов – один каталог – одна база данных

При такой конфигурации все сайты данной группы используют одну базу данных и один персональный каталог, чем достигается максимальная экономия этих ценных ресурсов. Устраняется также дублирование стандартных наборов файлов в нескольких персональных каталогах.

Недостатком такой конфигурации является необходимость модификации файла customsettings.php, который приобретает черты описания виртуального хоста в Apache. Пример такой модификации может выглядеть так:

switch ($_SERVER['HTTP_HOST']) {
	case 'example.com':
	case 'www.example.com':
		$HostName = 'example.com';
		$Languages = array ( 'uk', 'ru', 'en');
		$PostProcessing = 'custom / postproc.php';
		break;

	case 'shop.biz':
	case 'www.shop.biz':
		$HostName = 'shop.biz';
		$Languages = array ( 'en');
		$PostProcessing ='';
		break;
 / * other sites as need… * /
}

В этом примере предполагается мультисайтинг сайтов example.com и shop.biz, которые имеют разные наборы языков и различные настройки пост-обработки. Конечно, список этих персональных настроек можно расширять.

Определенным недостатком такой конфигурации является необходимость соблюдения дисциплины в использовании каталога files в персональном каталоге сайтов, где могут происходить конфликты имен в стандартных каталогах Смереки (таких, как files/css.

Недостатком является также возможность каждому сайту из семейства обращаться (в HTML коде своих страниц) к любому файлу, в том числе «чужому» – это автоматически вытекает из использования общего корневого каталога документов сайта.