Мультисайт. Общая база. Как подключить к сайтам общую базу?

Главные вкладки

Аватар пользователя Drupan Drupan 20 декабря 2007 в 15:07

Готовлю Мультисайт.
Будут три сайта.
Создал общую базу, только как и где указать Друпалу об этой базе?
Может уже обсуждалось, но именно эту процедуру не смог отыскать.
Помогите пожалуйста советом или ссылками. Спасибо.

Комментарии

Аватар пользователя Pozniy Pozniy 20 декабря 2007 в 18:21

В "settings.php"

$db_url = 'mysql://username:password@localhost/databasename';

одинаковое для всех (естественно Smile )

 
$db_prefix = array(
     'default'   => 'main_',
     'users'     => 'shared_',
     'sessions'  => 'shared_',
     'role'      => 'shared_',
     'authmap'   => 'shared_',
     'sequences' => 'shared_',
);

где "main_" в (" 'default' => 'main_' ") - свой префикс таблиц для каждого из сайтов (т.е. каждой settings.php). (Это для случая, когда используется общая база скриптов Друпала, общая база системных указателей "sequences", общая база юзеров и общая регистрация).

Кстати, при корректном полном заполнении settings.php, правильно организованной структуре в директории /site/ (а также корректно созданных симлинках/синонимах) инсталляционная процедура пропускает все надоедливые вопросы, просто создает базу и выходит на завершающую страницу установки. К примеру, для такой экспрес-инсталляции я пользуюсь шаблоном settings.php по этому образцу:

$db_url = 'mysql://sitedb:passworddb@localhost/sitedb';
$use_watchdog = true;
$base_url = 'http://site1.com';
$db_prefix = array(
     'default'   => 'site1_',
     'users'     => 'shared_',
     'sessions'  => 'shared_',
     'role'      => 'shared_',
     'authmap'   => 'shared_',
     'sequences' => 'shared_',
);
$conf = array(
        'file_directory_path' => 'sites/site1.com/files',
        'anonymous' => 'Guest'
 );
ini_set('arg_separator.output',     '&');
ini_set('magic_quotes_runtime',     0);
ini_set('magic_quotes_sybase',      0);
ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime',  2000000);
ini_set('session.gc_maxlifetime',   200000);
ini_set('session.save_handler',     'user');
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);
ini_set('url_rewriter.tags',        '');
ini_set('memory_limit','16M');

Для мультисайта на vBDrupal установки выглядят несколько по другому, но это - другая история...

Аватар пользователя Drupan Drupan 21 декабря 2007 в 1:16

В "settings.php" исправил по совету Pozniy, но судя по всему допустил ошибку. Сайт перестал работать.
В результате пришлось удалять содержимое www \.
Это для меня пока сложновато.
Установил модуль Multisite Manager и через него создал новый сайт, но получил вместо сайта страницу - node_1.
Может кто-то знает, как с этим модулем работать?