↑ Drupal 7, Управление | ||||
Урок - Мультисайтинг Drupal 7 | ||||
← Предыдущий урок Урок - Итог
|
Следующий урок → Урок - Модули Drupal7
|
- Мультисайтинг Drupal7 2 на 1. Общая база, общий движок.
- Мультисайтинг Drupal7 2 в 1. Общая авторизация.
Мультисайтинг Drupal7 2 на 1
Имеем два домена: d7.local и news.d7.local
Пример настройки хостов для локальной версии (apache 2.2):
<VirtualHost d7.local>
ServerName d7.local
DocumentRoot "d:/_vhost/d7.local/"
CustomLog "d:/_vhost/d7.local.log" combined
ErrorLog "d:/_vhost/d7.local.err"
php_value display_startup_errors 1
php_value display_errors 1
</VirtualHost>
<VirtualHost news.d7.local>
ServerName news.d7.local
DocumentRoot "d:/_vhost/d7.local/"
CustomLog "d:/_vhost/d7.local.log" combined
ErrorLog "d:/_vhost/d7.local.err"
php_value display_startup_errors 1
php_value display_errors 1
</VirtualHost>
Добавляем записи в файл hosts:
127.0.0.1 d7.local
127.0.0.1 news.d7.local
- Копируем исходники Drupal 7 в d:/_vhost/d7.local/
- Создаем папку ./sites/news.d7.local
- Переходим на страницу http://news.d7.local/ и устанавливаем drupal для http://news.d7.local/ Для базы данных укажите: d7-local Для префикса: news__
- Создаем папку ./sites/d7.local
- Переходим на страницу http://d7.local/ и устанавливаем drupal для http://d7.local/ Для базы данных укажите: d7-local Для префикса: master__
- Перейдите на страницу http://news.d7.local/admin/appearance/settings/bartik и иизмените цвет заголовка. Это действие поможет визуально различать версию сайта с которой мы будем работать.
В итоге имеем:
- Одну версию исходников.
- Одну базу.
- Два работающих сайта.
Мультисайтинг Drupal7 2 в 1
Конечно здорово экономить на версии, обновляя все модули и ядро сразу. Но мы идем дальше и делаем общую авторизацию.
Сначала объединим таблицы пользователей. Это позволит пользователям регистрироваться, авторизовываться на любом из сайтов (d7.local или news.d7.local)
- Отредактируйте файл ./sites/news.d7.local/settings.php
найдите:
'prefix' => 'news__',
замените на:
'prefix' => array( 'default' => 'news__', 'authmap' => 'master__', 'role' => 'master__', 'sessions' => 'master__', 'users' => 'master__', ),
- Переименуйте (удалите) таблицы в базе данных: news__authmap, news__role, news__sessions, news__users.
RENAME TABLE `d7-local`.`news__authmap` TO `d7-local`.`-news__authmap` ; RENAME TABLE `d7-local`.`news__role` TO `d7-local`.`-news__role` ; RENAME TABLE `d7-local`.`news__sessions` TO `d7-local`.`-news__sessions` ; RENAME TABLE `d7-local`.`news__users` TO `d7-local`.`-news__users` ;
- Отредактируйте файл ./sites/d7.local/settings.php
найдите:
# $cookie_domain = 'example.com';
замените на:
# $cookie_domain = 'example.com'; $cookie_domain = '.d7.local';
- Отредактируйте файл ./sites/news.d7.local/settings.php
найдите:
# $cookie_domain = 'example.com';
замените на:
# $cookie_domain = 'example.com'; $cookie_domain = '.d7.local';
Авторизируйтсь на news.d7.local и вы автоматически будете авторизованы на d7.local.
В итоге имеем:
- Одну версию Drupal 7.
- Одну базу.
- Два работающих сайта.
- Общая авторизация.
Разделение robots.txt
На данный момент файл robots.txt для каждого из сайтов d7.local и news.d7.local будет один и тот же - ./robots.txt.
Для того, что бы для d7.local отображался свой файл robots.txt, а для news.d7.local свой, можно воспользоваться модулем robots.txt
После установки модуля, на страницах http://d7.local/admin/config/search/robotstxt и http://news.d7.local/admin/config/search/robotstxt доступно редактирование содержимого локальных версий robots.txt.
Последний шаг: удалите (или переименуйте) файл ./robots.txt
Проверяем и убеждаемся, что содержимое различно:
- Откройте страницу http://d7.local/robots.txt
- Откройте страницу http://news.d7.local/robots.txt
↑ Drupal 7, Управление | ||||
Урок - Мультисайтинг Drupal 7 | ||||
← Предыдущий урок Урок - Итог
|
Следующий урок → Урок - Модули Drupal7
|