Перенос CMS Drupal в облачную платформу Windows Azure WebSites

Время чтения
меньше чем
1 минута
Прочитано

Перенос CMS Drupal в облачную платформу Windows Azure WebSites

ноября 07, 2012 - 23:03
0 комментариев

Сегодня облачные технологии очень быстро вытесняют традиционные виды виртуального и VPS-хостинга за счет масштабируемости веб-приложений и высоконадежности сохранения данных.  Для проектов, построенных на CMS Drupal 7, это является важным критерием для обеспечения надежности данных и высоких нагрузок Интернет-проекта.

Мы рассмотрим порядок действий переноса готового сайта Drupal на локальной машине в облачную платформу Azure. Сервис Windows Azure Web Sites поддерживает PHP и MySQL, поэтому процесс миграции проходит не слишком сложно.

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

Каждый зарегистрированный пользователь сервиса Windows Azure имеет возможность бесплатно использовать платформу в течение 90 дней (http://www.windowsazure.com/ru-ru/), которая включает создание 10 веб-сайтов и 35 ГБ хранилище с  50 000 000 транзакциями.  Пошаговое руководство по созданию стандартного веб-сайта в Windows Azure с применением GIT рассмотрено здесь: http://www.windowsazure.com/en-us/develop/php/tutorials/website-w-mysql-and-git. Следуя всем инструкциям, указанным по ссылке, необходимо убедиться, чтобы у вас получилось удаленное подключение к MySQL, так как в дальнейшем это будет необходимо для успешного импорта базы данных. После того, как вы создали новый сайт с базой данных MySQL, сохранили информацию о соединении и создали удаленный репозиторий GIT, вы готовы к копированию вашей базы данных MySQL  в Windows Azure Web Sites.

Создание веб-сайта в Windows Azure

2. Копирование базы данных MySQL в Windows Azure Web Sites

Для копирования базы данных можно использовать стандартный инструмент mysqldump, который выполняется в командной строке на локальной машине и имеет такой код:

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

Вы должны указать имя пользователя (local_username) и пароль существующей базы данных CMS Drupal (local_password). Во второй части кода указывается имя хоста (remote_host), имя пользователя (remote_username), пароль (remote_password) и имя базы данных MySQL (remote_db_name) созданных в Windows Azure Web Sites.

Таким образом, строка подключения должна выглядеть так:

Database=remote_db_name; Data Source=remote_host; User Id=remote_username; Password=remote_password

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

3. Изменение соединения с базой данных в файле settings.php

Теперь, когда наша база данных хранится в Windows Azure, необходимо сделать изменения в конфигурационных файлах CMS Drupal, согласно вашим настройкам. Для этого в файле /sites/default/setting.php требуется указать новые параметры подключения (имя базы данных, имя пользователя, пароль и хост):

$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'remote_db_name', 'username' => 'remote_username', 'password' => 'remote_password', 'host' => 'remote_host', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );

Указываем наши настройки, сохраняем файл и переходим к следующему шагу.

4. Развертывание СMS Drupal с помощью Git или FTP

После того, как ваш сайт готов, его можно переносить в облачную платформу Windows Azure. У пользователей есть два варианта – закачивать файлы через протокол передачи файлов ftp или использовать удаленный репозиторий Git.

Для переноса через FTP вам необходимо наличие удобного ftp-клиента (например, Filezilla или Total commander), имя пользователя и пароля из панели управления Windows  Azure.

Если вы используете Git, вы должны установить Git репозиторий в Windows Azure Web Sites. Кроме того, на локальной машине у вас должен установлен также Git.  После создания репозитория, следуйте инструкциям, указанные в скриншоте:

Настройки GIT в Windows Azure

После развертывания CMS Drupal в Windows Azure Web Site, вы можете убедиться, что сайт полностью работает  и сохраняя настройки продолжить работать с проектом с помощью Git или FTP.

В дальнейшей работе вы можете использовать специализированный модуль Windows Azure Integration, который обеспечивает тесную интеграцию с Blob Storage Azure: позволяет хранить файлы, изображения и мультимедиа на масштабируемой и территориально распределенной платформе для хранения файлов в Azure.