25
Продвинутый мультисайтинг

Продвинутый мультисайтинг

Embed Size (px)

Citation preview

Page 1: Продвинутый мультисайтинг

Продвинутый мультисайтинг

Page 2: Продвинутый мультисайтинг

2

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Page 3: Продвинутый мультисайтинг

3

Обзор таблиц базы данных Таблицы, которые можно смело делать

общими Таблицы, которые можно делать общими

при необходимости и осторожно Таблицы, которые делать общими опасно Таблицы, которые НЕЛЬЗЯ делать общими

Page 4: Продвинутый мультисайтинг

4

Таблицы, которые можно смело делать общими

filters и filter_formats — форматы ввода. locales_* — строки переводов. role — роли на сайте. permission — права ролей на хуки,

предоставляемые модулями. users — пользователи сайта. users_roles — роли пользователей сайта.

Page 5: Продвинутый мультисайтинг

5

Таблицы, которые можно делать общими при необходимости

access — блокировка по IP, имени пользователя, e-mail.

authmap — таблица для внешних аутентификаций (LDAP, OpenID).

flood — ограничение количества запусков определеных участков кода.

system — данные про установленные модули и темы.

sessions — сеансы пользователей.

Page 6: Продвинутый мультисайтинг

6

Таблицы, которые делать общими опасно

comments — комментарии. files и file_revisions — файлы. node и node_* — контент сайта. term_* — термины таксономии. view_* — виды. vocabulary и vocabulary_node_types —

словари таксономии.

Page 7: Продвинутый мультисайтинг

7

Таблицы, которые НЕЛЬЗЯ делать общими (1)

blocks — таблица блоков сайта. blocks_roles — доступ ролей к блокам. boxes — текст (код) блоков. cache и cache_* — кэши. history — последние непрочитанные

сообщения (Drupal 5). menu — меню сайта (Drupal 5).

Page 8: Продвинутый мультисайтинг

8

Таблицы, которые НЕЛЬЗЯ делать общими (2)

sequences — внутренний счетчик нод, комментариев, пользователей.

url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки.

variable — переменные сайта. watchdog — журнал ошибок сайта.

Page 9: Продвинутый мультисайтинг

9

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Page 10: Продвинутый мультисайтинг

10

Методы объединения таблиц сайтов

Использовать префиксы таблиц Использовать разные базы данных

Page 11: Продвинутый мультисайтинг

Использование префиксов таблиц (1)

Для таблиц отдельного сайта задаётся свой префикс таблиц:

Для общих таблиц используется общий префикс:

site1_system

shared_users

Page 12: Продвинутый мультисайтинг

Использование префиксов таблиц (2)

Префикс задаётся в файле settings.php:

$db_prefix = array(

'default' => 'site1_',

'users' => 'shared_',

'sessions' => 'shared_',

// Перечислить все общие таблицы...

'role' => 'shared_',

);

Page 13: Продвинутый мультисайтинг

Использование разных баз данных (1)

Подключение к базе обычно задаётся в файле settings.php так:

$db_url = 'mysqli://user:password@localhost/site1';$db_prefix = '';

Page 14: Продвинутый мультисайтинг

Использование разных баз данных (2)

Вместо префикса указываем имя базы данных:

$db_url = 'mysqli://user:password@localhost/site1';

$db_prefix = array(

'default' => '',

'authmap' => 'shared.',

// Перечислить все общие таблицы...

'users' => 'shared.',

);

Page 15: Продвинутый мультисайтинг

15

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Page 16: Продвинутый мультисайтинг

16

Мультисайтинг с общими пользователями (1)

Нужно сделать общими таблицы: users sessions authmap

Если используется модуль profile - нужно сделать общими:

profile_fields profile_values

Page 17: Продвинутый мультисайтинг

17

Мультисайтинг с общими пользователями (2)

Общие пользователи, роли и права доступа: users users_roles role permission sessions url_alias url_alias_extra

Page 18: Продвинутый мультисайтинг

18

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Page 19: Продвинутый мультисайтинг

19

Общий логин (аутентификация)

Модуль Shared Sign-On(http://drupal.org/project/singlesignon)

В settings.php указать:

ini_set('session.name', 'mysite_PHPSESSID');

Page 20: Продвинутый мультисайтинг

20

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Page 21: Продвинутый мультисайтинг

21

Мультисайтинг с общим контентом

Делаем общими таблицы: comments files file_revisions history node node_*

term_* view_* vocabulary vocabulary_node_types

Page 22: Продвинутый мультисайтинг

22

План доклада

Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом

Спасибо за внимание!Спасибо за внимание!

Page 23: Продвинутый мультисайтинг

23

Полезные ссылки (1)

http://www.razgonka.ru/multisiting«Мультисайтинг — это просто»

http://drupal.ru/node/6226 «Мультисайтинг на Друпале — это круто!»

http://drupalcookbook.ru/node/335«Установка мультисайтинга с общими таблицами»

http://webdevgeeks.com/schemaspy/index.html«Схема БД Drupal 5»

Page 24: Продвинутый мультисайтинг

24

Полезные ссылки (2)

http://drupal.org/node/132361#comment-222070 «Pretty much what you had»

http://groups.drupal.org/node/11795«D5 Shared database - sharing all but theming/layout/navigation»

http://devbee.com/user_sequence_gotcha«user sequence gotcha»

http://drupal.org/node/291373«Multi-site with single codebase, different content databases, shared user database, shared sign-on»

Page 25: Продвинутый мультисайтинг

Спасибо за внимание.

Докладчик

Влад Савицкий

[email protected]