Как создать мультисайт с общими пользователями и узлами? [закрыто]


21

Я хочу создать мультисайт с Drupal 7: каждый сайт работает отдельно, но пользователи и узлы должны быть разделены между сайтами.

Как мне этого добиться?

Ответы:


17

Вы можете изменить параметры доступа к базе данных, содержащиеся в файле settings.php, используемом вашим сайтом Drupal, на что-то похожее на следующее (замените значения в скобках на правильные значения для вашего сайта):

$databases['default']['default'] = array(
  'driver' => '[Your database engine]',
  'database' => '[Your database name]',
  'username' => '[Your username for the access to the database engine]',
  'password' => '[The password for the access to the database]',
  'host' => 'localhost',
  'prefix' => array(
    'default'   => 'main_',
    'users'     => 'shared_',
    'sessions'  => 'shared_',
    'role'      => 'shared_',
    'authmap'   => 'shared_',
  ),
  'collation' => 'utf8_general_ci',
);

1
Если я не ошибаюсь, эта конфигурация полезна, только если у вас есть одна база данных для разных сайтов (и, следовательно, вы должны предоставить префиксы). Можно ли обмениваться пользовательскими таблицами из разных баз данных?
ccamara

2
@ CarlosCámara вы не правы, это решение использует одну и ту же базу данных для всех сайтов, но разные префиксы таблиц. Таким образом, в приведенном выше примере большинство таблиц будет иметь префикс «main_», а пользователи, сессии, роли и таблицы authmap будут иметь префикс «shared_». Для ваших дополнительных сайтов вы будете использовать другой префикс для «по умолчанию» (возможно, «site2_», «site_3» и т. Д.), Но тот же префикс «shared_». Эта информация, вероятно, должна быть свернута в ответ.
Далин

Привет, какую строку я должен изменить, чтобы получить пользователей и профиль?
Тайлер Дерден

4
Просто чтобы указать на то, что, когда Далин говорит, что Карлос неверен, Карлос совершенно прав, так как Далин заявляет точно то же самое.
leexonline

11

Модуль « Доступ к домену » предназначен для совместного использования пользователей и контента между различными доменами . По сути, это позволяет вам запускать несколько сайтов Drupal из одной базы данных и обмениваться контентом.

Когда вы устанавливаете, включаете и настраиваете модуль, на странице редактирования узла появляются новые вкладки, которые позволяют ориентировать узел на определенные домены. Он также хорошо работает с представлениями, панелями и другими модулями, которые используют правила выбора ctools.

Это решение отличается от настоящего мультисайта, который представляет собой общий набор базовых файлов и файлов contrib, но разные базы данных для разных сайтов.


Мы успешно использовали доступ к домену для нескольких проектов, в которых часть или весь контент / пользователи нуждались в обмене между различными сайтами.
drmonkeyninja

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

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

2

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.