Comments 26
Прямо «с языка» тему сняли. Но у Вас тема более полная чем мой черновик.
Спасибо!
Спасибо!
В копилку вам:
Мультисайтинг
Введение в мультисайтинг
Базы данных в мультисайтинге
Модули и темы
Работа с файлами
Мультисайтинг
Введение в мультисайтинг
Базы данных в мультисайтинге
Модули и темы
Работа с файлами
Подобное может быть реализовано простым образом не только на друпале.
бравться — поправьте
Забыли добавить:
— про обновления модулей и тем. Нужно быть внимательным при обновлении модулей в папке /sites/all (обязательно запускать update.php на всех доменах, использующих эту папку).
— что будет вначале браться из /sites/all/modules или /sites/site.ru/modules
— обновления через drush
Забыли добавить:
— про обновления модулей и тем. Нужно быть внимательным при обновлении модулей в папке /sites/all (обязательно запускать update.php на всех доменах, использующих эту папку).
— что будет вначале браться из /sites/all/modules или /sites/site.ru/modules
— обновления через drush
Кстати, если сайтов довольно много, можно ли настроить 1 общий крон?
Или на каждый прописывать отдельно?
Или на каждый прописывать отдельно?
В версии 7 директории уже не нужно называть по именам доменов.
Если в 6 версии нужно было создавать:
sites/example1.com
sites/example2.com
То в семерке:
sites/example1
sites/example2
и в файле sites.php прописать:
Стало гораздо удобнее при переносе с локальной машины на хостинг или при изменении адреса, т.к. не меняются урлы файлов.
А для 6 есть патч.
Если в 6 версии нужно было создавать:
sites/example1.com
sites/example2.com
То в семерке:
sites/example1
sites/example2
и в файле sites.php прописать:
<?php
$sites = array(
'example1.com' => 'example1',
'example2.com' => 'example2',
);
?>
Стало гораздо удобнее при переносе с локальной машины на хостинг или при изменении адреса, т.к. не меняются урлы файлов.
А для 6 есть патч.
У меня вполне отлично 20 сайтов в одной БД (около 250 таблиц) — суммарный трафик не большой, но проблем вообще никаких пока. Когда вырастет нагрузка — всегда можно перенести в отдельную базу.
Опытным путем определил для себя таблицы, которые можно делать общими (Drupal 6):
default, access, actions, actions_aid, authmap, imagecache_action, imagecache_preset, filter_formats, languages, locales_source, locales_target, l10n_update_file, l10n_update_project, permission, role, sessions, term_data, term_hierarchy, term_relation, term_synonym, users, users_roles, vocabulary, watchdog, wysiwyg, wysiwyg_user.
Скорее всего какие-то из них не стоило делать общими (например, модуль Database logging, включенный по-умолчанию, ругается на watchdog — но я его выключаю — чтобы не плодить лишних таблиц). Особенно удобны переводы, настройки wysiwyg и профили imagecache. Но на практике проблем не возникает пока.
Для того, чтобы не было проблем при установке — можно устанавливать с настройками для одного префикса на все таблицы (создаст все таблицы с новым префиксом). Потом добавлять префиксы общих таблиц и удалять только что созданные, т.к. они уже заменены старыми.
Опытным путем определил для себя таблицы, которые можно делать общими (Drupal 6):
default, access, actions, actions_aid, authmap, imagecache_action, imagecache_preset, filter_formats, languages, locales_source, locales_target, l10n_update_file, l10n_update_project, permission, role, sessions, term_data, term_hierarchy, term_relation, term_synonym, users, users_roles, vocabulary, watchdog, wysiwyg, wysiwyg_user.
Скорее всего какие-то из них не стоило делать общими (например, модуль Database logging, включенный по-умолчанию, ругается на watchdog — но я его выключаю — чтобы не плодить лишних таблиц). Особенно удобны переводы, настройки wysiwyg и профили imagecache. Но на практике проблем не возникает пока.
Для того, чтобы не было проблем при установке — можно устанавливать с настройками для одного префикса на все таблицы (создаст все таблицы с новым префиксом). Потом добавлять префиксы общих таблиц и удалять только что созданные, т.к. они уже заменены старыми.
Добавлю.
Для управления контентом на мулитисайте удобно пользоваться модулем Domain Access.
Для управления контентом на мулитисайте удобно пользоваться модулем Domain Access.
давно искал внятную статью о мультисайтинге в друпал +1
Если вы используете различные темы для сайтов, то не мешало бы определить их напрямую в settings.php и настроить выполнение регулярных процедур cron.php минимум на раз в сутки.
Вам приходилось сталкиваться с проблемами с этим связанными? Чем обусловлена необходимость выполнения крона раз в сутки?
В мультисайтинге Друпала есть одно неприятное свойство — трудно переименовать «не главные» сайты. Допустим, был сайт на поддомене, надо перенсти на домен 2го уровня (example.com.ru —> example.ru) или из папки на домен (exammple.ru.subsite —>example2.ru). Эти строчки в пути (sites/example.com.ru/...) хранятся в контенте (картинки) в файлах (таблица files) и нет легкого способа их изменить. Это если mysqldump не относить к легким, но и тогда будут проблемы (google/yandex image search, например, потеряют ваши картинки). Основной сайт (default) — никаких проблем, ему вообще все равно какой у него адрес.
На этот случай хотелось бы видеть какой-то способ назначить любому сайту определенную папку, но я такого навскидку не нашел.
На этот случай хотелось бы видеть какой-то способ назначить любому сайту определенную папку, но я такого навскидку не нашел.
а если определить хранилище файлов в корне сайта /files?
можно, наверно, но это надо делать заранее, по факту уже поздно метаться.
ну и это нарушает концепцию «весь сайт в одной папке»
ну и это нарушает концепцию «весь сайт в одной папке»
Естественно заранее думать нужно :)
Если вы меняете поддомены то: в любом случае, контент у вас будет для поисковиков на другом сайте([суб]домене). Пока оно там ещё будет отзеркалено, да ещё и правильно, да ещё и будет определено главное зеркало правильно…
При создании нового сайта, лучше менять сразу папку статики и temp на что-нибудь не привязанное к имени или организовывать CDN.
Сейчас можете в папке /sites/example.com.ru убрать settings.php, а всю статику оставить. Ваша старая статика будет видна по своим старым путям. Для нового — сделайте новую и пропишите к ней путь в /admin/settings/file-system.
Можно попробовать оставить 2 домена в мультисайтинге(если нужно старое сохранить) с общими таблицами, только нужно настроить запрет создания материалов из старого поддомена (поиграть с ролями в разных доменах). Тут уж на что фантазии хватит :).
Если вы меняете поддомены то: в любом случае, контент у вас будет для поисковиков на другом сайте([суб]домене). Пока оно там ещё будет отзеркалено, да ещё и правильно, да ещё и будет определено главное зеркало правильно…
При создании нового сайта, лучше менять сразу папку статики и temp на что-нибудь не привязанное к имени или организовывать CDN.
Сейчас можете в папке /sites/example.com.ru убрать settings.php, а всю статику оставить. Ваша старая статика будет видна по своим старым путям. Для нового — сделайте новую и пропишите к ней путь в /admin/settings/file-system.
Можно попробовать оставить 2 домена в мультисайтинге(если нужно старое сохранить) с общими таблицами, только нужно настроить запрет создания материалов из старого поддомена (поиграть с ролями в разных доменах). Тут уж на что фантазии хватит :).
Есть проблема с безопасностью: если взломан один сайт (или там завёлся недобросовестный админ), через него взламываются все остальные.
Sign up to leave a comment.
Мультисайтинг в Drupal