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

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

Upload: inna-tuyeva

Post on 16-Jun-2015

483 views

Category:

Documents


2 download

TRANSCRIPT

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]