Рубрики
Журнал

Размножение сайтов на Drupal 7

Случилась нетривиальная задача — размножить один сайт на CMS Drupal 7 натрое, сделать отдельные копии для филиалов организации.

Задача осложнилась тем, что по тарифу хостинга полагалась только одна база данных MySQL, поэтому все три копии будут жить и работать вместе, разделенные разными префиксами в названиях таблиц.

Применялись: доступ на сервер по ssh, магия dush, кофе.

Журнал:

1. Находясь в папке исходного сайта (/sites/default, если он был единственный) выполняем команду.

# drush sql-dump >/path/to/file/drupal.sql

Сейчас можно сделать резервную копию базы, не помешает.
Заменяем в полученном дампе все вхождения старого пути. Добавляем префикс в таблицы.
С минусом — что искать, с плюсами — на что менять.

--- TABLE IF EXISTS `
+++ TABLE IF EXISTS `prefix_

--- TABLE `
+++ TABLE `prefix_

--- TABLES `
+++ TABLES `prefix_

--- INTO `
+++ INTO `prefix_

--- sites/default/
+++ sites/newdomain.ru/

Файл подготовлен.
В той же папке изначального "прототипа" выполняем еще одну команду, которая просто выполняет команду SQL, а с параметром --file берет команды из нашего подготовленного дампа.

# drush sqlq --file=/path/to/file/drupal.sql

Делаем новый сайт. Сделаем копию каталога /sites/default → /sites/newdomain.ru

Дописываем префикс в настройки соединения с базой данных в файле /sites/newdomain.ru/settings.php

--- 'prefix' => '',
+++ 'prefix' => 'prefix_',

Все, теперь в панели управления хостингом добавляем алиас для исходного домена.

Приступаем ко второму "отпрыску". Дамп делать больше не требуется, просто нужно заменить prefix_ на prefix2_ и домен на домен.

Дальше можно работать через интерфейс Drupal — сменить названия, реквизиты, адреса и т.п.

У хранения нескольких сайтов в одной БД есть свои плюсы. По желанию можно обобщить некоторые таблички (пользователи, роли). Проще делать резервное копирование.

2 ответа к “Размножение сайтов на Drupal 7”

Насколько я помню, это для одного сайта с разныи мордами. Тут сайты администрируются независимо, в будущем вообще могут разъехаться по своим хостам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *