Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Створення многоузловой установки Drupal

  1. Основні міркування
  2. Установка многоузловой конфігурації Drupal
  3. Установка першого вузла
  4. головний домен
  5. Створення підпапок і файлів
  6. Малюнок 1. Ієрархія папок / sites
  7. створення Мультисайт
  8. Малюнок 2. Ваш новий Web-сайт в Drupal
  9. Малюнок 3. Створення Мультисайт з субдоменів
  10. Створення символічного посилання
  11. Налаштування .htaccess
  12. Мультисайт на локальному хості Ubuntu
  13. Створення нової папки хостів
  14. Редагування файлу hosts
  15. Редагування наявних сайтів
  16. Лістинг 1. Додавання нового сайту в папку існуючих сайтів
  17. Створення папок дочірніх сайтів
  18. Запуск установки підсайту
  19. багатовузловий модулі
  20. Модулі Domain Access
  21. Модуль Multisite Manager
  22. Висновок
  23. Ресурси для скачування

Створення декількох сайтів Drupal з єдиною базою коду і різними базами даних

Існує безліч причин, за якими системний адміністратор або розробник може віддати перевагу розміщення декількох вузлів на одному і тому ж сервері у вигляді многоузловой конфігурації. Наприклад, така конфігурація:

  • дозволяє створити ефективну середу розробки;
  • забезпечує можливість створення і тестування сайту до його публікації;
  • дозволяє виконувати різний ПО на одному і тому ж сайті;
  • допускає спільне використання однієї і тієї ж бази коду на декількох сайтах;
  • спрощує віртуальний хостинг;
  • дозволяє виконувати на одному і тому ж сервері аналогічні захищені (HTTP поверх Secure Sockets Layer [HTTPS]) і стандартні (HTTP) сайти;
  • полегшує адміністрування сервера.

Однак не всі з цих завдання найкраще вирішувати за допомогою многоузловой установки Drupal. У цій статті розглядається тільки одна стратегія: як використовувати вбудовану багатовузлових підтримку Drupal для створення та обслуговування декількох сайтів з одного примірника Drupal.

Основні міркування

Використання системи управління інформацією (Content Management System - CMS) Drupal для створення многоузловой конфігурації дає кілька переваг, одне з яких - граничне спрощення налаштування і підтримки. Інша перевага полягає в тому, що дублювання даних зводиться до мінімуму, оскільки Drupal встановлюється тільки в одному місці на сервері. Нарешті, в Drupal є безліч допоміжних модулів, які можна використовувати для спрощення управління декількома сайтами, застосовуючи розширені можливості до всіх сайтів установки одночасно. Поєднання додаткових функцій зі спрощеним адмініструванням - благо для всіх, кому доводиться налаштовувати і адмініструвати багатовузловий установки. Проте, у такій конфігурації є кілька недоліків, два з яких заслуговують на особливу згадку: безпека і узагальнення.

Сайти многоузловой установки поділяють один і той же код і, отже, одні і ті ж файли. В результаті будь-який, хто отримує доступ до файлової системи сервера для одного сайту, може звертатися до всіх файлів, що використовуються всіма сайтами цієї многоузловой установки. Таким чином, в тих випадках, коли в рамках установки різні люди керують різними сайтами, вона може бути не цілком безпечною. Якщо безпеку між сайтами - важлива проблема, або якщо різними сайтами керують різні люди, то вбудована в Drupal функціональність многоузловой підтримки може виявитися не кращим рішенням. Замість цього розгляньте можливість виділення для кожного сайту свого власного примірника Drupal. Переваги спрощеного адміністрування, що забезпечуються многоузловой конфігурацією губляться, зате ваші сайти будуть краще захищені від зловживань.

Друга проблема - узагальнення - пов'язана з доступом до бази даних. Багатовузловий установки Drupal поділяють один і той же вихідний код, але не одну і ту ж базу даних. Так що вузли, користувачі і коментарі на одному сайті за замовчуванням недоступні з інших сайтів. Це можна розглядати і як благо, але в тих ситуаціях, коли адміністратору може знадобитися, щоб всі сайти поділяли одну і ту ж інформацію, це може виявитися перешкодою при проектуванні многоузловой установки Drupal. Проте, яскравою плямою вбудованої многоузловой підтримки Drupal є те, що модулі, теми і навіть в деякій мірі завантажені файли можна зробити загальними для всіх сайтів. Крім того, однакові або спеціальні файли можна зберігати в різних папках, що відповідають різним сайтам конфігурації. Якщо важливо, щоб вся інформація була спільною, рекомендується використовувати функцію багатодоменному (multidomain) підтримки, яка легко забезпечується модулем з таким же ім'ям.

Установка многоузловой конфігурації Drupal

Після завантаження архіву Drupal (див. Розділ ресурси ) Розпакуйте файл і скопіюйте отриману папку в кореневій каталог документів свого Web-сервера. Це неважко зробити за допомогою відповідного FTP-клієнта; а при наявності доступу Secure Shell (SSH) до сервера завдання спрощується ще більше. Досить виконати команду wget, щоб завантажити файл архіву зі сховища і розпакувати його, отримавши папку установки Drupal. (Для локального середовища розробки можливі додаткові варіанти: див. Нижче.) Назвіть папку установки / goodsite.

Для цього прикладу ми створимо три різних сайту; таким чином, будуть потрібні три різних бази даних - по одній для кожного сайту. Це завдання легко вирішується за допомогою функції phpMyadmin панелі Cpanel сервера. Потім встановіть середу. Однак перед використанням Web-браузера для запуску програми установки потрібно вирішити два завдання:

  • надати Drupal необхідну інформацію про сайти, які ви збираєтеся запускати;
  • передати дані про конфігурацію сайтів з Drupal в усі сайти.

Для вирішення першого завдання створимо спеціальний каталог для кожного сайту. Потім помістимо в кожен каталог файл параметрів. Мета полягає в тому, щоб створити одну основну установку з двома Підвузли. Кожен подузел поділяє спільні файли з основним вузлом, але має свій власний URL-адресу та окрему базу даних. Ось URL-адреси створюваних сайтів:

  • основний сайт: http://goodsite.com;
  • подузел 1: http://bettersite.com;
  • подузел 2: http://bestsite.com.

Установка першого вузла

Після розміщення вихідного коду Drupal в кореневому каталозі документів і створення баз даних MySQL приступаємо до установки першого сайту і головного домену.

головний домен

Іменем головного домену буде URL-адресу, через який доступний основний сайт (в цій статті: http://goodsite.com). Основне завдання головного домену - розміщення базової установки Drupal. Незалежно від того, чи використовується цей домен в якості одного з ваших сайтів, в разі відмови будь-яких дочірніх вузлів їх URL-адреси будуть за замовчуванням присвоєно головному домену; таким чином, корисно, щоб цей сайт містив інформацію, що відноситься до дочірніх сайтів, таку як контактні дані.

Як уже згадувалося, для кожного підвузли в основній папці Drupal потрібно створити підпапку. Те, що багато хто вважає найскладнішим завданням в многоузловой установці Drupal, насправді вирішується дуже просто: вкажіть Drupal, які сайти ви хочете розмістити, і просто створіть для цих сайтів вкладені папки в папці / sites.

Головна коренева папка Drupal - це каталог з ім'ям / sites. Ті, хто вже администрировал Drupal, знає, що весь некорневой код повинен знаходитися в цій папці. В установці Drupal типову теку / sites містить два каталогу. У першому, all /, розміщуються завантажені теми і модулі. Каталог all / - це сховище інформації, загальною для всіх сайтів. Друга папка, default /, містить файли конфігурації, а також неосновні та спеціальні теми і модулі. Зазвичай, якщо не вказано інше, Drupal шукає відомості про конфігурацію сайту в каталозі default /. Зауважимо, однак, що це припущення для звичайного, одновузлового сайту - для многоузловой установки воно може не дотримуватися.

Створення підпапок і файлів

Важливою підказкою для побудови многоузловой конфігурації Drupal є те, що крім папок all / і default / можна створювати інші папки / sites, і Drupal присвоїть їм особливого значення. Конкретніше, Drupal передбачає, що всі інші каталоги, розташовані в папці / sites, являють собою ім'я хоста або шаблон імені хоста.

Ви створюєте вкладену папку в шаблоні / goodsite / sites / <sub-site> в папці / sites для всіх Підсайти, підставляючи замість імені кожної папки підсайту свій передбачуваний URL. Дочірні сайти для цього прикладу показані на малюнку 1.

  • Sub-site1: / goodsite / sites / bettersite
  • Sub-site2: / goodsite / sites / bestsite
Малюнок 1. Ієрархія папок / sites
Створення декількох сайтів Drupal з єдиною базою коду і різними базами даних   Існує безліч причин, за якими системний адміністратор або розробник може віддати перевагу розміщення декількох вузлів на одному і тому ж сервері у вигляді многоузловой конфігурації

Для кожного дочірнього вузла виконаєте наступні дії:

  1. Скопіюйте файл default.settings.php з каталогу sites / default в кожен підкаталог і перейменуйте його в settings.php.
  2. За допомогою команди CHMOD встановіть код допуску settings.php рівним 644, якщо це не поточне значення коду допуску.
  3. Для установки Drupal версії 6 створіть папку з ім'ям files для кожного сайту і за допомогою CHMOD змініть код допуску на 755.

    Це папка, в яку Drupal може записувати інформацію - як правило, завантажені файли, ескізи зображень, агреговані каскадні таблиці стилів (CSS) і файли JavaScript. Ці файли зберігаються не в базі даних, а, скоріше, в файлової системі, так що потрібно мати каталог, в якому вони можуть розміщуватися.

    За замовчуванням Drupal переглядає підкаталог з ім'ям files / в каталозі кожного сайту. В установці Drupal за замовчуванням це папка sites / default / files /.

  4. Для кожного підсайту створіть папку modules.

    Це папка, в якій знаходяться всі модулі, специфічні для цього підсайту. Будь-які модулі, які будуть використовуватися всіма сайтами, повинні перебувати в папці sites / all / modules.

  5. Для кожного підсайту створіть папку themes.

    Тут розміщуються теми, унікальні для даного підсайту. Будь-які теми, які будуть використовувати всі сайти, повинні розміщуватися в папці sites / all / themes.

Тепер вкажіть URL-адреси дочірніх сайтів на Web-сервері, якщо вони не перебувають у віданні однієї і тієї ж хостингової компанії. Якщо для різних сайтів використовуються різні хости, потрібно змінити інформацію системи доменних імен (DNS - як це зробити, підкажуть реєстратори і хостингові компанії). Після цього потрібно «припаркувати» цей домен поверх свого основного домену - в даному випадку, goodsite.com. Тепер у вас є кілька альтернатив, найбільш важка з яких передбачає використання так званої символічної посилання (symlink). Однак парковка набагато простіше; так що виберіть в Cpanel пункт Parked Domains. Додайте bettersite.com і bestsite.com в поле New Domain Name (Нове доменне ім'я), потім натисніть кнопку (Додати домен).

створення Мультисайт

Є кілька способів рухатися далі, але знову ж таки, ми виберемо найпростіший: безпосередню завантаження в кожен дочірній вузол бази даних з таблицями, створеними в процесі установки головного сайту. Для цього необхідно створити дамп таблиці бази даних з установки головного сайту і зберегти його локально. Потім - або завантажити цей файл за допомогою phpMyadmin, або відкрити його в редакторі. Щоб використовувати другий варіант, виконайте в phpMyadmin наступні дії:

  1. Перейдіть в базу даних, створену для підсайту.
  2. Перейдіть в SQL і вставте туди весь код з дампа структурованого мови запитів (SQL).
  3. Натисніть кнопку Go.

Ця процедура відтворює таблиці бази даних головного сайту в базі даних підсайту.

Далі, для кожного дочірнього вузла відкрийте файл settings.php і знайдіть наступний рядок:

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

Змініть цей рядок підключення до бази даних з урахуванням параметрів бази даних підсайту (ім'я користувача, пароль, ім'я хоста, ім'я бази даних). Тепер, якщо зайти на bettersite.com, ви повинні отримати стандартну сторінку "Welcome to your new Drupal website" (Ласкаво просимо на ваш новий сайт Drupal), як показано на малюнку 2. Повторіть ці дії для всіх додаткових сайтів.

Малюнок 2. Ваш новий Web-сайт в Drupal

Створення Мультисайт з субдоменів

Є ще один спосіб швидкого створення Мультисайт з їх попередніми описом як піддоменів в Cpanel. При цьому методі, однак, необхідно спочатку створити папки для кожного сайту в каталозі / goodsite / sites, але на цей раз - з використанням наступної угоди (див. Малюнок 3):

  • Sub-site1: / www / goodsite / sites / bettersite.com;
  • Sub-site2: / www / goodsite / sites / bestsite.com
Малюнок 3. Створення Мультисайт з субдоменів

Зверніть увагу, що в папки субдоменів повинні мати ті ж імена, що й самі субдомени. Як і раніше, помістіть в кожну папку субдомена копію файлу default.settings.php, змініть ім'я файлу на settings.php і подайте команду CHMOD, щоб змінити код допуску на 644.

Тепер поверніться в Cpanel і створіть два поддомена:

  • bettersite.goodsite.com
  • bestsite.goodsite.com

Створення символічного посилання

Символічна посилання (symlink) - це файл, що містить посилання на інший файл або папку у вигляді абсолютного або відносного шляху, який сприяє вирішенню імен шляху. За допомогою будь-якого редактора коду створіть файл symlink.php і додайте код, аналогічний наступного:

<? Php symlink ( '/ home / Cpanel_User_Name / public_html /', 'sub-domain'); ?>

В даному випадку файл буде виглядати приблизно так:

<? Php symlink ( '/ home / myuserdirectory / goodsite /', 'bettersite'); symlink ( '/ home / myuserdirectory / goodsite /', 'bestsite'); ?>

Помістіть цю символічну посилання в основний каталог головного сайту і запустіть її з URL-адреси http://goodsite.com/symlink.php. Якщо синтаксис коду правильний, ви повинні побачити порожню сторінку; в іншому випадку буде виведено повідомлення про помилку. Налаштуйте код цього файлу так, щоб він працював правильно.

Налаштування .htaccess

Тепер відкрийте файл .htaccess в будь-якому редакторі коду. Знайдіть наступний рядок:

# RewriteBase /

Видаліть знак "решітка" (#) і додайте наступний рядок, а потім збережіть зміни:

RedirectMatch 301 ^ / sub-domain /(.*)$ http://sub-domain.yoursite.com $ 1

Ось як в результаті повинен виглядати файл .htaccess:

RewriteBase / RedirectMatch 301 ^ / bettersite /(.*)$ http://bettersite.goodsite.com/$1 RedirectMatch 301 ^ / bestsite / (. *) $ Http: //bestsite.goodsite.com/$1

Ця переадресація дозволяє перенаправити http://goodsite.com/bettersite і http://bettersite.goodsite.com на один і той же сайт. Якщо все зроблено правильно, то при зверненні по URL-адресами Підсайти http://bettersite.goodsite.com і http://bestsite.goodsite.com ви будете переадресовані на сторінку установки.

Коли всі сайти встановлені, з сайтом http://bettersite.goodsite.com легко зв'язатися з Cpanel за допомогою переадресації по URL-адресою http://bettersite.com.

Мультисайт на локальному хості Ubuntu

Виконати багатовузлових установку на Ubuntu трохи складніше, ніж те, що ми вже виконали для віддаленого хостингу. Таку багатовузлових установку легко налаштувати за допомогою методу, описаного в наступних розділах.

Створення нової папки хостів

Спочатку необхідно створити папку goodsite в своїй домашній папці, використовуючи наступний код:

>> filesystem / home / <your ubuntu login name> /

Результат повинен виглядати так: -> / home / <your ubuntu login name> / goodsite.

Тепер скопіюйте в цю папку всі свої файли Drupal.

Редагування файлу hosts

Відредагуйте файл hosts, відкривши вікно терміналу за допомогою наступної команди:

sudo gedit / etc / hosts '

Потім можна додати будь-яке ім'я сайту в форматі 127.0.0.1 mysite.com. Для даного прикладу додайте наступні рядки:

127.0.0.1 goodsite.com 127.0.0.1 bettersite.com 127.0.0.1 bestsite.com

Редагування наявних сайтів

Тепер перейдіть в папку наявних сайтів і створіть файл назвою goodsite.com за допомогою наступних команд:

cd / etc / apache2 / sites-available sudo cp default goodsite.com sudo gedit goodsite.com

Перша команда виконує перехід в папку доступних сайтів; друга копіює файл за умовчанням і перейменовує його в goodsite.com. Третя команда відкриває файл goodsite.com для редагування. Додайте в файл код, наведений у лістингу 1.

Лістинг 1. Додавання нового сайту в папку існуючих сайтів

<VirtualHost *: 80> ServerAdmin webmaster @ localhost ServerName goodsite.com DocumentRoot / home / <your ubuntu login name> / goodsite <Directory /> Options FollowSymLinks AllowOverride All </ Directory> </ VirtualHost>

Збережіть goodsite.com, увімкніть його і перезавантажте Apache за допомогою наступних команд:

sudo a2ensite mysite.com sudo /etc/init.d/apache2 reload

Створення папок дочірніх сайтів

Створіть свій підсайт в папці / sites folder / home / [ваш логін ubuntu] /goodsite/sites/bettersite.com, а потім додайте в нову папку файл settings.php. Якщо ви вже перейшли в sites / directory, скопіюйте файл settings.php за допомогою наступної команди:

$ Cp default / default.settings.php bettersite.com/settings.php $ chmod 777 bettersite.com/settings.php

Запуск установки підсайту

Відкрийте браузер і наберіть: http://bettersite.com. Ви повинні побачити сторінку настройки установки. Знову зробіть файл settings.php доступним тільки для читання, щоб уникнути повідомлень безпеки, потім виконайте установку підсайту.

Далі, створіть папку сайту і виконайте установку bestsite.com, а також будь-яких інших Підсайти, зазначених в конфігурації хостів.

багатовузловий модулі

Модулі використовуються для розширення функціональності базової установки Drupal і можуть бути різних категорій, від адміністративних до функціональних, фактично підвищують продуктивність. Кілька модулів можуть допомогти в створенні Мультисайт або аналогічних конфігурацій. Детальна інформація про те, як використовувати ці модулі, міститься в документації по установці кожного модуля.

Модулі Domain Access

Модулі Domain Access (див. Розділ ресурси ) Дозволяють створити Мультисайт, використовуючи єдину базу коду, загальну базу даних користувачів і спільний вхід, але різні інформаційні бази даних. Така конфігурація відрізняється від того, що ми зробили в цій статті. Domain Access - це насправді набір модулів, які полегшують керування групою сайтів з використанням єдиного базового коду Drupal, встановленого всередині єдиної загальної бази даних. Ці модулі дозволяють всім сайтам розділяти користувачів, контент і параметри, якщо вони вже налаштовані на таку роботу. Щоб визначити, яка інформація повинна відображатися на кожному сайті в многоузловой середовищі, модулі Domain Access використовують систему Drupal Node Access System. На відміну від інших багатодоменному модулів, ці модулі також контролюють доступ користувачів на основі активного домену, який переглядає користувач, а не на основі групи або сайту, до яких цей користувач належить.

Модуль Multisite Manager

Multisite Manager (див. Розділ ресурси ) - це допоміжний модуль, який дозволяє створювати нові сайти Drupal з базового сайту - без необхідності звертатися до бази даних установки. За замовчуванням новий сайт встановлюється в тій же базі даних, що і основна установка, але з іншим префіксом. В іншому випадку, якщо у поточного користувача є права на створення бази даних, установку можна виконати в цій базі даних.

Висновок

Ця стаття вчитись создания многоузловой конфігурації с помощью Drupal як базова CMS. Ми встановили головний сайт і в його структурі каталогів розташували підсайти. Читач дізнався, як виконувати багатовузловий установки на віддаленому сервері за допомогою засобів адміністрування, що надаються хостингової компанією. Він також дізнався, як створити багатовузлових установку на локальному комп'ютері - зокрема, на комп'ютері під керуванням Ubuntu Linux ®. Ця стаття також знайомить читача з двома модулями Drupal, які допомагають створювати багатовузловий і багатодоменному конфігурації.

Ресурси для скачування

Схожі тими

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Php symlink ( '/ home / Cpanel_User_Name / public_html /', 'sub-domain'); ?
Php symlink ( '/ home / myuserdirectory / goodsite /', 'bettersite'); symlink ( '/ home / myuserdirectory / goodsite /', 'bestsite'); ?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.