- Контакты ООО «Техническая документация»

Заказать услуги ООО «Техническая документация» можно по эл. почте admin @ tdocs . su (без пробелов), по тел. 8-910-468-09-28 или в форме Контакты.

Мультисайтинг на Drupal, или...

  • Выложена пошаговая инструкция по организации мультисайтинга на Drupal 6;
  • Разъяснена «физика» содеянного;
  • Приведены количественные, качественные и эфемерные преимущества мультисайтинга;
  • Поведано о трагической судьбе председателя в условиях суровой социалистической действительности...

Редакция от 14.09.2014.

Создан 19.01.2011 23:56:50

- Откуда взялось это название - «Drupal»?

- От немецкого «zu tropfen» - «капать»...

© Ответ считающего себя «гуру»

- Как Я убил председателя...

О мультисайтинге на Drupal поисковики выдают массу информации, но при ближайшем ее рассмотрении выясняется, что большая чать выдачи является «информационной пургой», поскольку вопросов по мультисайтингу у почтеннейшей публики остается множество, ибо пертинентность всегда конфликтовала с информационной потребностью:

  • статьям по мультисайтингуDrupal'у в целом) свойственна многозначительная недосказанность... Спасибо авторам - они старались, тратили свое личное время, но каждый ли способен:
    • так же отлично расписать то, что он отлично умеет делать?
    • без потерь довести до любопытствующих до слез понятные, очевидные, привычные для себя детали?
  • у признанных «гуру» просто отсутствует время для ответов на «идиотские» вопросы в форумах;
  • у тех, кто считает себя «гуру», на любые вопросы всегда находится лаконичный и исчерпывающий ответ: «cck + views». Любопытно проанализировать семантику Drupal'овских форумов на процентное вхождение этой фразы, претендующей на «крылатость» - Ржунимагу! (смайл);
  • те, кто справился самостоятельно, чаще всего на радостях бегут за «Клиническим» - им уже не до помощи прочим смертным...

Что ж, спасение утопающих - дело рук самих утопающих - В темных очках Автор, от души «набарахтавшись» в мутных водах Интернета, contra spem пришел к истине, ради собратьев по несчастью пренебрег пивом и решил:

  • написать пошаговую инструкцию по организации мультисайтинга на Drupal, сберегающую умственные усилия и гарантирующую положительный результат - методика разработки подобных инструкций изложена в статье «Как описать графический интерфейс пользователя?»;
  • разъяснить счастливейшему (Я - СДЕЛАЛ - ЭТО!!!) обладателю новенького мультисайтинга, не успевшему окончательно и бесповоротно улететь в нирвану, физику произошедшего;
  • рассказать о ряде преимуществ мультисайтинга по сравнению с типовой установкой Drupal;
  • поведать об убийстве председателя (чтобы жизнь малиной не казалась).

Примечание - Все, о чем рассказано ниже, тестировалось только для Drupal 6 и только на it-patrol.

Смотрите:
Установка мультисайтинга на Drupal: исходные данные
Создание алиаса (синонима) домена на хостиге Drupal
Подготовка к установке Drupal для синонима домена
Установка Drupal для синонима домена
Установка мультисайтинга на Drupal: ДО и ПОСЛЕ
Мультисайтинг на Drupal: преимущества через сравнительный анализ
... как Я убил председателя

Установка мультисайтинга на Drupal: исходные данные

- Я тут было подумала...

- А ты не думай, тебе это не идет...

© Из разговора блонды и брюнетки

Как и принято в этой стране - сначала делаем, потом думаем - Подмигиваю (смайл). Имеем:

  • сайт domain.ru на движке Drupal, установленный ранее на it-patrol. Имя базы данных - uXXXX_domain, префиксы таблиц БД - dm_, имя пользователя (администратора БД) - uXXXX_admin;
  • доменное имя alias.ru, припаркованное к хостингу it-patrol.

Задача - организовать мультисайтинг:

  • на котором alias.ru будет являться синонимом domain.ru;
  • с общей файловой системой;
  • с единой базой данных uXXXX_domain, в которой:
    • часть таблиц, относящихся к зарегистрированным пользователям, является общей для обоих сайтов;
    • прочие таблицы БД у каждого сайта - свои собственные.
  • с «квазиобщим» содержимым, хранящимся в файловой системе (без применения общих таблиц БД).

Теперь, как и обещано, все по шагам, сухим, черствым и формальным языком, как регламентировано ГОСТ 2.105...

Создание алиаса (синонима) домена на хостиге Drupal

- Что вы все «слайды» да «слайды»?!

Есть же прекрасное русское слово - «диапозитив»...

© Житейская мудрость

Для создания алиаса... простите, синонима (alias.ru) существующего домена (domain.ru) следует:

  • открыть страницу http://it-patrol.ru/rp/parkdomains/add, см. рисунок ниже;

    - Создание алиаса существующего домена
  • в поле Park Domain name ввести название синонима - alias.ru;
  • из выпадающего списка Доменное имя выбрать существующий домен domain.ru;
  • значение IP в соответствующем поле оставить по умолчанию (*);
  • нажать кнопку Add park domain. Результат показан на рисунке ниже;

    - Создание алиаса существующего домена 2

Стоит поинтересоваться, какие изменения произошли в корневом каталоге файловой системы хостинга. На рисунке ниже отчетливо виден линк вновь созданного синонима домена domain.ru:

- Синоним домена создан

Итак, синоним домена создан, можно начинать подготовку к установке Drupal для синонима домена.

Подготовка к установке Drupal для синонима домена

При подготовке к установке Drupal для синонима домена следует:

  • войти в каталог /domains/domain.ru/sites, см. рисунок ниже;

    - Каталог /domains/domain.ru/sites
  • создать в нем подкаталог alias.ru, см. рисунок ниже;

    - Каталог /domains/domain.ru/sites/alias.ru
  • проверить работу синонима домена. Для этого в адресной строке браузера следует набрать http://alias.ru - браузер, не обнаружив ничего нового и интересного в пустом каталоге alias.ru, откроет ссылку http://domain.ru - синоним домена можно считать работоспособным;
  • из каталога /default скопировать на локальный компьютер файл default.settings.php;
  • открыть его в любом текстовом редакторе;
  • внести в файл изменения, как изображено на рисунке ниже;

    - Файл settings.php
  • сохранить файл с именем settings.php;
  • загрузить его в каталог /alias.ru.

Теперь можно приступать к «установке» Drupal для синонима домена.

Установка Drupal для синонима домена

Установка Drupal для синонима домена занимает всего пару минут: не зря в предыдущем подразделе слово «установка» было взято в кавычки. Итак, для установки Drupal для alias.ru следует:

  • в адресной строке браузера набрать http://alias.ru (иногда может потребоваться полный ввод - http://alias.ru/install.php). Браузер откроет страницу, изображенную на рисунке ниже;

    - Установка Drupal 1
  • выбрать язык установки (русский присутствует потому, что ранее был установлен для сайта domain.ru);
  • нажать кнопку Select language, установка Drupal перейдет к странице конфигурирования, на которой надо заполнить соответствующие текстовые поля, см. рисунок ниже;

    - Конфигурирование Drupal
  • по заполнении соответствующих полей нажать кнопку Сохранить и продолжить.

Итак, синоним домена установлен. Стоит обратить внимание на то, что при установке мультисайтинга Drupal даже не спросил имя базы данных, префиксы таблиц, имя пользователя (администратора БД) и т.д. - дело в том, что все это уже прописано в файле settings.php.

После «пяти минут неба» можно приступить к настройке нового сайта - Ржунимагу! (смайл) Теперь - но только для любознательных! - о «физике» свершившегося.

Установка мультисайтинга на Drupal: ДО и ПОСЛЕ

Рассмотрим структуры данных ДО и ПОСЛЕ установки мультисайтинга на Drupal. Сначала, разумеется, ДО - см. рисунок ниже.

- Первоначальная структура данных Drupal

Данные размещались в двух хранилищах, а именно:

Реляционная база данных включала в себя связанный набор таблиц, в которых хранились как материалы (страницы) сайта, так и настройки модулей Drupal. Файловое хранилище представляло собой структуру каталогов, каждый из которых содержал определенный набор файлов и подкаталогов, к примеру:

  • в каталоге /modules размещались модули Drupal (после первоначальной установки в нем размещаются модули ядра Drupal);
  • в каталоге /themes размещались темы оформления Drupal, при первоначальной установке в нем содержалась одна-единственная тема с названием garland;
  • и, наконец, в каталоге /sites/default хранился файл settings.php - файл глобальных настроек Drupal для сайта domain.ru.

Теперь посмотрим, что изменилось ПОСЛЕ установки мультисайтинга, см. рисунок ниже. Речь пойдет только об изменениях.

- Структура данных Drupal после установки мультисайтинга

Теперь в базе данных образовалось три набора таблиц. Восемь общих таблиц (см. крайний рисунок в подразделе Подготовка...), содержащих данные о пользователях, энное количество исходных таблиц domain.ru с префиксом dm_, а также эмное количество новых таблиц с префиксом al_, которые образовались в результате установки Drupal на сайт alias.ru.

Файловая система принципиально не изменилась. Вновь появившиеся на рисунке каталоги показаны условно, они могли иметь место и после первоначальной установки Drupal для domains.ru. Зачем так нарисовано - станет понятно далее.

Мультисайтинг на Drupal: преимущества через сравнительный анализ

Проведем сравнительный анализ установок Drupal до и после мультисайтинга. Начнем с баз данных. Итак, теперь у нас применяется одна база данных для двух сайтов. Преимущества:

  • экономия памяти носителя данных - это очевидно, да и работать в phpMyAdmin с одной базой проще, чем с двумя;
  • экономия на количестве баз данных - хостинг-провайдеры в своих тарифных планах ограничивают максимальное число БД, а также доменов и их синонимов;
  • при использовании синонима домена в качестве отладочного сайта - модели или макета - можно творить на нем все, что угодно, не опасаясь фатальных последствий. Можно полностью «завалить» alias.ru, но на функционирование domain.ru сей факт не окажет ни малейшего влияния;
  • для восстановления убитого alias.ru достаточно будет очистить или удалить с помощью phpMyAdmin таблицы базы данных с префиксами al_, после чего заново запустить установку Drupal, как описано в Установка Drupal для синонима домена.

Теперь о файловой системе Drupal. Модули ядра движка лежат в корневом каталоге /domains/domain.ru/modules, и лучше не добавлять в него дополнительные модули - для этого имеется каталог /domains/domain.ru/sites/all/modules, из которого дополнительные модули будут доступны как для domain.ru, так и для alias.ru. Все сказанное справедливо и для тем оформления. Если валить все в одну кучу, т.е. в каталоги /domains/domain.ru/modules и /domains/domain.ru/themes, то при неосторожном удалении ненужных дополнительных модулей или тем существует риск удаления и модулей ядра, что приведет к непредсказуемым последствиям.

Если заглянуть в каталог /domains/domain.ru/sites/alias.ru, то в нем, кроме settings.php, практически ничего больше нет, на оба сайта работает одна копия (установка) Drupal. Преимущества:

  • почти двукратная экономия дискового пространства;
  • снижение риска завалить оба сайта одновременно;
  • возможность одновременного обновления как модулей ядра, так и тем оформления и дополнительных модулей сайтов - экономия времени и трафика (но следует учесть то, что скрипт обновления БД update.php должен запускаться для каждого сайта отдельно).

В каталоге /domains/domain.ru/sites/all/content можно хранить квазиобщий контент domain.ru и alias.ru. Необходимость такого контента станет понятна после просмотра статьи «CMS Drupal + AuthorIT против CMS Drupal + FCKeditor». Преимущества: надежность хранения и экономия дискового пространства. Если рухнет база, то контент останется как в файловой системе Drupal, так и на локальном компьютере редактора. И еще: даже пустые таблицы базы данных занимают определенное дисковое пространство, размер таблиц с частично незаполненными полями тоже вполне определен - если для поля выделен некоторый объем памяти, то таблица зарезервирует этот объем даже при пустых полях. Выгода, но эфемерная.

Отдельно об отладке. Многие предпочитают отлаживать установки Drupal на локальных компьютерах. Бесспорно, это очень удобно - все «летает», все прекрасно получается - отличный полигон для исследовательских и доводочных испытаний. Но при переносе отлаженной установки на реальный хостинг у многих все куда-то «слетает». И это объяснимо: кто-то работает на денвере, кто-то на мандриве, кто-то на убунту, а многие - так вообще на винде... Реальный же хостинг всегда предусматривает определенные ограничения, поэтому отлаживаться лучше в боевых условиях, на домене или его синониме, а готовые рабочие настройки модулей просто вопроизводить на синониме или домене. Тогда результат будет ожидаемым.

Еще одно уточнение, касаемое it-patrol: на этом хостинге можно припарковать домен и, пока он паркуется, проверить его работоспособность с помощью технического синонима вида username.servername.vps-private.net. Намек, надеюсь, понятен - Подмигиваю (смайл)

Подытожим. Итак, преимущества (приоритетность для каждого своя):

  • существенная экономия дискового пространства;
  • сокращение числа БД, доменов и синонимов;
  • упрощение процедур обслуживания и обновления;
  • удобство и возможность отладки в боевых условиях;
  • экономия трафика;
  • снижение риска потерь информации при неосторожных действиях;
  • повышенная надежность хранения информации;
  • наверное, есть еще какие-то явные или скрытые преимущества, о которых не упомянуто...

И, наконец, кошмарное видео о председателе...

... как Я убил председателя

- Контакты ООО «Техническая документация»

Заказать услуги ООО «Техническая документация» можно по эл. почте admin @ tdocs . su (без пробелов), по тел. 8-910-468-09-28 или в форме Контакты.

Copyright © ООО «Техническая документация» 2016. Заимствуйте наши материалы с блеском!
При цитировании на своих ресурсах наших материалов используйте активные ссылки на них.