1 минута
Перенос CMS Drupal в облачную платформу Windows Azure WebSites
Сегодня облачные технологии очень быстро вытесняют традиционные виды виртуального и 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.
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. После создания репозитория, следуйте инструкциям, указанные в скриншоте:
После развертывания CMS Drupal в Windows Azure Web Site, вы можете убедиться, что сайт полностью работает и сохраняя настройки продолжить работать с проектом с помощью Git или FTP.
В дальнейшей работе вы можете использовать специализированный модуль Windows Azure Integration, который обеспечивает тесную интеграцию с Blob Storage Azure: позволяет хранить файлы, изображения и мультимедиа на масштабируемой и территориально распределенной платформе для хранения файлов в Azure.