Перейти к основному содержанию

info@vmn.by

Microsoft Developer Tour в Минске. Доклад «Развертывание и управление CMS Drupal в Microsoft Azure»

Опубликовано arturbaranok -

21 марта 2015 года команда vmn.by приняла участие в конференции Microsoft Developer Tour, которая прошла в гостинице Renaissance Minsk Hotel.

В данной статье мы рассмотрим подробнее возможности интеграции CMS Drupal с Microsoft Azure и способы управления сайтом с помощью инструмента Drush.

Изначально с запуском Windows Azure в 2010 году CMS Drupal был внедрен в облачный сервис Azure WebSites, с помощью которого можно было создать новый сайт со стандартным комплектом модулей в несколько кликов. В настоящее время этот процесс настолько отлажен, что занимает не более 5 минут.

Сообщество Drupal.org сейчас поддерживает 2 ветки системы управления сайтом – CMS Drupal 7 (актуальная версия 7.35) и CMS Drupal 8 (актуальная версия 8.0.0-beta9), которая должна выйти в ближайшее время.

Стоит отметить, что в Microsoft Azure поддерживается как 7, так и 8 версия CMS Drupal.

Способы развертывания CMS Drupal в Microsoft Azure

Используя Microsoft Azure вы можете идти несколькими путями, а именно использовать на выбор сервис Microsoft Azure Websites (PaaS) или Microsoft Virtual Machine (IaaS).

Способы развертывания CMS drupal в Microsoft Azure

В первом случаем вам предоставляется готовый сервис с установленным веб-сервером IIS8 с возможностью использовать языки программирования .NET, Java, PHP, Node.js, Python, функцией автомасштабирования, поддержкой различных средств развертывания кода. Во втором случае, вам предоставляется инфраструктура, с помощью которой вы можете самостоятельно создать собственный сервер с установленным программным обеспечением Windows Server, Linux или Oracle.

1. Microsoft Azure Websites (PaaS)

- развертывание CMS Drupal в Azure WebSites с использованием базы данных MySQL (доменное_имя.azurewebsites.net)

- развертывание CMS Drupal в Azure WebSites с использованием базы данных MSSQL (доменное_имя.azurewebsites.net)

2. Microsoft Virtual Machine (IaaS)

- развертывание виртуальной машины с CMS Drupal с образом VMDEPOT (версии Drupal 8.0.0.beta7, Drupal 7.35)

- развертывание виртуальной машины на базе Windows Server 2012 или Linux с установкой CMS Drupal (доменное_имя.cloudapp.net)

Мы рассмотрим кратко возможности развертывания CMS Drupal с использованием каждого из сервисов.

Одним из главных преимуществ  Microsoft Azure Websites является возможность публиковать свой исходный код через различные системы контроля версий и различного ПО - Visual Studio Online, CodePlex, Git, GitHub, BitBucket, DropBox, FTP.

Быстрое создание сайта Drupal из коллекции веб-приложений

Быстрое создание сайта CMS drupal в Microsoft Azure

Чтобы создать быстро сайт в Microsoft Azure WebSites вам необходимо иметь собственный аккаунт в почтовой системе outlook.com. После этого нужно зайти в портал Microsoft Azure по адресу manage.windowsazure.com и в нижней части экрана нажать Создать –> Веб-сайт -> Из коллекции.

Сборки Drupal в Microsoft Azure

На ваш выбор предлагается 3 вида готовых приложений – сборка  Acquia Drupal 7, сборка электронного магазина Drupal Commerce Kickstart и сборка, основанная на открытых данных NuData DKAN.

Новая база данных Mysql в  Microsoft Azure

После выбора версии CMS Drupal необходимо придумать название сайта  (доменное_имя.azurewebsites.net) и выбрать базу данных из перечня:

- База данных MySQL (20 Mb бесплатно сервиса ClearDb)
- Бесплатная база данных SQL (20Mb)
- База данных SQL (из плана размещения)

И выбрать регион размещения базы данных.

Успешное создание сайта

Для настройки базы данных MySQL необходимо указать имя и регион размещения.

После этого, начнется процесс автоматической установки и настройки сайта.

Настройка параметров сайта Drupal в Windows Azure

После мы переходим на созданный домен и нажимаем «Далее» до пункта «Информации о сайте». Здесь заполняем следующие пункты:

- E-mail адрес сайта
- Имя пользователя
- Пароль
- Часовой пояс
- Автоматическое обновление модулей (уведомления)

Все, на это мы создали готовый сайт на CMS Drupal 7 в облачном сервисе Microsoft Azure WebSites

Перенос сайта CMS Drupal в Azure WebSites

Если у вас уже есть готовый сайт на локальном компьютере, то мы выполняем похожие действия:

1. Создаем новый веб-сайт Azure Web Site и базу данных MySQL

2. Импортируем базу данных в MySQL в веб-сайт Azure с помощью команды

mysqldump -u local_username --password=local_password drupal | mysql -h remote_host -u remote_username --password=remote_password remote_db_name

3. Изменяем строку подключения к базе данных

/site/wwwroot/sites/default/setting.php

4. Размещаем код Drupal с помощью Git или FTP

Git: http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/

Использование виртуальных машин для развертывания CMS Drupal

Здесь у пользователя возможностей на порядок выше, чем при использовании сервиса Azure WebSites.

1) Мы можем выбрать готовую виртуальную машину на базе Windows Server 2012 R2, Ubuntu Server 14.04 LTS, CentOS 6.5, SUSE Linux Enterprise Server, openSUSE 13.1, Oracle Linux 6.4.0.0.0

2) Использовать готовый образ виртуальной машины с предустановленным ПО (CMS Drupal 7-8, MySQL, PhpMyAdmin - https://vmdepot.msopentech.com

3) Использовать готовые виртуальные машины из сервиса Azure Marketplace (portal.azure.com):

- Drupal 7 (Ubuntu 12.10)
- Drupal Commerce Kickstart
- Drupal 7 LAMP Server on OpenLogic CentOS 6.3
- Drupal + Odata
- Linux Chef
- CiviCRM
- NuData DKAN

Сервис Kudu в Microsoft Azure

Установка Drush в Windows Azure Websites

Drush (Drupal Shell) - инструмент для работы с CMS Drupal через командную строку.

Установка Drush в Microsoft Azure

Процесс установки:

1. Копирование Drush в корневую папку проекта (http://www.drush.org/en/master/)

2. Установка инструмента Composer через специализированный сервис Kudu (https://drupal701.scm.azurewebsites.net) и обновление всех зависимостей для Drush.

Команда update composer

3. Проверка конфигурации Drush через консоль Debug Console -> CMD: drush status

Установка Drush в Microsoft Azure

В настройках приложения портала Azure ввести данные: COLUMNS с параметром 80

4. Примеры команд Drush в Azure

drush help (все команды drush)

drush pm-update drupal (обновление ядра CMS drupal)

drush cache-clear (очистка кеша)

drush vset theme_default theme_name (Установить тему по умолчанию для вашего сайта)

drush pm-update <modulename> (обновить модуль drupal)

drush archive-dump –-destination=<destination path> (сделать бэкап сайта)

drush en <modulename> (включить модуль)