Много хора се чудят как могат да направят множество сайтове на Джумла!, които обаче да споделят едни и същи потребителски бази, а може би и други таблици в базата данни (примерно банерите). Настоящето решение, описано по-долу, решава проблема с потребителите, но по-аналогичен начин можете две или повече инсталации на Джумла! да споделят и други таблици от базата данни (това си има и определени проблеми понякога). Тук обаче ще говорим за синхронизация на потребителите, сесиите и правата.
Какво представлява решението:
Какво не представлява решението:
Изисквания:
Стъпка по стъпка:
DROP TABLE `jos_users`
DROP TABLE `jos_session`
DROP TABLE `jos_stats_agents`
DROP TABLE `jos_core_acl_aro`
DROP TABLE `jos_core_acl_aro_groups`
DROP TABLE `jos_core_acl_aro_map`
DROP TABLE `jos_core_acl_sections`
DROP TABLE `jos_core_acl_groups_aro_map`
След което пускате отново в базата данни на site2 следните заявки, като заместите site1 с името на базата данни, която ползва site1:
CREATE VIEW jos_users AS SELECT * FROM site1.jos_users
CREATE VIEW jos_session AS SELECT * FROM site1.jos_session
CREATE VIEW jos_stats_agents AS SELECT * FROM site1.jos_stats_agents
CREATE VIEW jos_core_acl_aro AS SELECT * FROM site1.jos_core_acl_aro
CREATE VIEW jos_core_acl_aro_groups AS SELECT * FROM site1.jos_core_acl_aro_groups
CREATE VIEW jos_core_acl_aro_map AS SELECT * FROM site1.jos_core_acl_aro_map
CREATE VIEW jos_core_acl_aro_sections AS SELECT * FROM site1.jos_core_acl_aro_sections
CREATE VIEW jos_core_acl_groups_aro_map AS SELECT * FROM site1.jos_core_acl_groups_aro_map
!!!Това е всичко, двата сайта вече ще работят с едни и същи потребители (всеки регистрирал се в единия, ще бъде потребител и в другия), с едни и същи сесии (всеки логнал се в единия, ще бъде логнат и в другия).
Ако искате да направите повече сайтове свързани по този начин, то следва винаги да връзвате новите сайтове само към site1 (master) и да създавате репликации към неговата потребителска база от други сайтове (slaves). Тоест при добавяне на трети сайт, той трябва да бъде към site1, И НИКОГА КЪМ site2.
Вече съществуващи сайтове: Ако искате да свържете два вече съществуващи сайтове - ТОВА РЕШЕНИЕ НЕ Е УДАЧНО ЗА ВАС И ЩЕ СЧУПИ ПОНЕ ЕДИНИЯ. Ако искате да създадете нов сайт, който да ползва базата на вече съществуващ, минете през стъпките, като вече съществуващия е все едно site1.
ПРЕДИ ДА ПРАВИТЕ КАКВОТО И ДА Е СЪС СЪЩЕСТВУВАЩИ САЙТОВЕ, НАПРАВЕТЕ СИ БЕКЪП.
Какво ще стане при обновяване на версията на Джумла!?
Нямате проблеми за обновяване до нови версии на Джумла! 1.5, можете да го правите безпроблемно. За обновяване до 1.6, на този етап няма достатъчно стабилна версия, за да мога да преценя.
Инспирирано от тази тема. А от тук, ударете едно свежо.
От Иво Апостолов