Мультисайтинг на Drupal
<br/>Как я писал в прошлой заметке Drupal лучше всего под подходит для мультисайтинга. Используется модель 1 ядро, много сатйтов. Это означает, что все файлы хранятся только для главного сайта, а для остальных используются лишь конфиг файлы. Так же возможно использовать частично общие базы данных, что бы хранить общие для всех сайтов настройки или например базу пользователей.<br/>1. Мультисайтинг. Что за зверь и зачем?<br/>Допустим вы захотели сделать сайт игровой тематики. Можно конечно разместить все материалы на главном сайте, но это не слишком удобно пользователям. Тут и пригодится мультисайтинг. Мы делим контент на категории, например по жанру игры и размещаем все материалы на специальном сайте.<br/>Пример: сайт посвященный играм, главный сайт game.ru, сайт посвященный RT...
Как я писал в прошлой заметке Drupal лучше всего под подходит для мультисайтинга. Используется модель 1 ядро, много сатйтов. Это означает, что все файлы хранятся только для главного сайта, а для остальных используются лишь конфиг файлы. Так же возможно использовать частично общие базы данных, что бы хранить общие для всех сайтов настройки или например базу пользователей.
1. Мультисайтинг. Что за зверь и зачем?
Допустим вы захотели сделать сайт игровой тематики. Можно конечно разместить все материалы на главном сайте, но это не слишком удобно пользователям. Тут и пригодится мультисайтинг. Мы делим контент на категории, например по жанру игры и размещаем все материалы на специальном сайте.
Пример: сайт посвященный играм, главный сайт game.ru, сайт посвященный RTS rts.game.ru, fps fps.game.ru и тд.
2. Установка главного сайта.
Заливаем файлы Drupal в корень сайта и переходим game.ru/install.php, следуим инструкциям визарда, на страници подкючения базы данных останавливаемся, заполняем поля логин, пароль и имя БД, нажимаем advanced setting и вводим префикс базы данных (например all_), продолжаем установку и попадаем на свежесозданный сайт. Главный сайт создан.
3. Подготовка к установке дочерних сайтов.
Сначала необходимо настроить Ispconfig и настройки вашего доменного регистратора так, что бы все субдомены регистрировались автоматически. Для это в Ispconfig и в веб форме регистратора добавляем А запись вида домен: *.game.ru, IP: 192.168.0.1 (естественно тут ваш IP).
Теперь необходимо настроитьобщие базы данных. Если вы не будете использовать общих баз, то этот шаг пропускаете. Если же вы хотите использовать общую Бд пользователей, локализации или чего-то еще читаем дальше
Создаем текстовый файл settings.php, открываем его и вписываем код:
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'name',
'username' => 'login',
'password' => 'pass',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => array(
<Поле для вставки>
),
),
),
);
?>
В поле для вставки мы будем вставлять параметр, определяющий какой префикс будет использовать DRupal при обращении к БД Пример: 'system' => 'all_',
Префикс all_ -префикс БД главного сайта, saite1_ -1го дочернего сайта.
Те параметры которые вам необходимо сделать общими вписываем в файл и указываем префикс all_
Так как в сети не слишком много информации на эту тему тему публикую список параметров, которые могут полезны при мультисайтинге:
users, authmap, sessions *эти параметры отвечают за общую базу пользователей и аутентификацию
role *группы пользователей, например модератор, администратор и тд.
users_roles *принадлежность пользователя к группе, не включайте если хотите например сделать для разных сайтов разных модераторов
system *не очень понятно что это, но рекомендуют использовать общую БД
locales_meta, locales_source, locales_target, languages, locales *относится к локализации, включать если все сайты на 1 языке
profile_values *значения профиля пользователя, включать, если общая БД пользователей
forum *будет работать только если установлен модуль форума
default *указывает какой префикс указывать для параметра, если противное не установлено в settings.php, обязательно разный для всех сайтов
Сохраняем файл. Подготовка завершена, приступаем к установке дочернего сайта.
4. Установка
Заходим по FTP на наш сайт, переходим в корень сайта, папка sites, создаем здесь папку с названием нашего дочернего сайта (например rts.game.ru), на уровень вверх и берем из папки default файл default.settings.php, кидаем его в свежесозданную папку и переименовываем в settings.php, теперь переходим на нащ сайт, так же как и в пунке 1 следуем инструкциям визарда, на странице настройки БД вводим теже значения, только в префикс вводим другое значение, например site1_, заканчиваем установку.
Теперь проверяем что бы в файле settings.php (тот который мы создавали сами) в поле default стояло тоже значение, что мы указали при установке сайта и заменяем этим файлом файл в папке rts.game.ru. Установка закончена.
При желании можно почистить БД от записей, неиспользуемых дочерним сайтом.
Дополнение, Сейчас я использую такой конфиг файл:
'default' => 'link1_',
'users' => 'all_',
'sessions' => 'all_',
'role' => 'all_',
'authmap' => 'all_',
'system' => 'all_',
'locales_source' => 'all_',
'locales_target' => 'all_',
'languages' => 'all_',
'profile_values' => 'all_',
'role_permission' => 'all_',
'ckeditor_settings' => 'all_',
'ckeditor_input_format' => 'all_',
'drupal2phpbb' => 'all_',
'date_formats' => 'all_',
'date_format_locale' => 'all_',
'date_format_type' => 'all_',
'sequences' => 'all_',
'locales' => 'all_',
Лента материалов
Правила размещения комментариев
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Сейчас обсуждают