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).
В первом случаем вам предоставляется готовый сервис с установленным веб-сервером 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 из коллекции веб-приложений
Чтобы создать быстро сайт в Microsoft Azure WebSites вам необходимо иметь собственный аккаунт в почтовой системе outlook.com. После этого нужно зайти в портал Microsoft Azure по адресу manage.windowsazure.com и в нижней части экрана нажать Создать –> Веб-сайт -> Из коллекции.
На ваш выбор предлагается 3 вида готовых приложений – сборка Acquia Drupal 7, сборка электронного магазина Drupal Commerce Kickstart и сборка, основанная на открытых данных NuData DKAN.
После выбора версии CMS Drupal необходимо придумать название сайта (доменное_имя.azurewebsites.net) и выбрать базу данных из перечня:
- База данных MySQL (20 Mb бесплатно сервиса ClearDb)
- Бесплатная база данных SQL (20Mb)
- База данных SQL (из плана размещения)
И выбрать регион размещения базы данных.
Для настройки базы данных MySQL необходимо указать имя и регион размещения.
После этого, начнется процесс автоматической установки и настройки сайта.
После мы переходим на созданный домен и нажимаем «Далее» до пункта «Информации о сайте». Здесь заполняем следующие пункты:
- 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
Установка Drush в Windows Azure Websites
Drush (Drupal Shell) - инструмент для работы с CMS Drupal через командную строку.
Процесс установки:
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
В настройках приложения портала 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> (включить модуль)