Мигрирование WordPress-блога в Azure

К этой статье я шёл достаточно долго. Основными мотивирующими факторами стали желание испытать, выбрать оптимальный путь, законспектировать и поделиться опытом миграции WordPress в Azure при наличии своего домена второго уровня. Подтолкнули следующие факторы: WordPress устанавливается в Azure из коробки, в подписке MSDN (которая у меня) есть доступный лимит для использования Azure, желание пройти этот путь разными путями.
Итак, начнём.
Во-первых, зайдём в панель управления Azure ( https://manage.windowsazure.com/ ). Есть также обновлённая версия панели, но и текущей пользоваться удобно. Сам по себе блог можно установить двумя путями: 1) создать проект, залить по FTP дистрибутив, создать базу данных и подключить её. 2) Развернуть готовый WordPress проект из галереи. В чём отличия? Первый вариант более верный (можно просто скопировать все файлы и импортировать базу данных). Но хочу предупредить, что для импорта MySQL базы данных нужно установить программу MySQL Workbench, а если захотите для WordPress использовать Azure DB, то нужны Microsoft SQL Server Migration Assistant (SSMA). Сам импорт базы занимает существенное время. Второй же путь более простой в понимании, требует меньше опыта и времени, и пойдём по нему.
В панели управления создадим новый проект (соответствующая кнопка в нижнем левом углу):
Снимок1
На этом этапе перед нами встаёт следующая дилемма: в галерее есть два типа проектов WordPress — обычный и Brandoo WordPress. Что это за зверь такой Brandoo WordPress? Уже достаточно давно (пару лет назад уж точно) была создана надстройка для WordPress, которая позволяла использовать базу данных MSSQL вместо MySQL в WordPress. В итоге эта надстройка выросла в целый плагин. Готовый дистрибутив с этой надстройкой — это и есть Brandoo. В Azure базы MySQL есть только как стороннее решение с ограничением для бесплатного использование в один экземпляр объемом до 20 Мб. Использование ещё одного поставщика услуг — это ещё одно лишнее звено, поэтому мой выбор падает на Brandoo — устанавливать будем его:
Снимок2
Во время установки приложения нам понадобится указать имя проекта (здесь мы указали имя проекта imyabloga), параметры развертывания и базы данных:
Снимок3
Снимок4
После заполнения всех данных, проект начнёт разворачиваться:
Снимок5
Развёртывание завершится состоянием Выполняется:
Снимок6
Как мы видим, URL сайта в соответствии с выбранным именем проекта — imyabloga.azurewebsites.net. Теперь можно зайти на этот URL, чтобы создать учётную запись администратора сайта и выполнить настройки:
Снимок7
Ура! Теперь наш WordPress-сайт работает!
Что нас должно смутить на этом этапе — это то, что CMS работает в англоязычной версии:
Снимок8
На этом этапе лучше установить все обновления и перейти к русификации. Для русификации предварительно нужно скачать свежий дистрибутив WordPress. Мы добавим файлы локализации и укажем в файле конфигурации язык локализации. Для этого нам нужен доступ к файлам проекта по FTP. В панели управления Azure в разделе Веб-сайты выберем наш проект. В правой части найдём сводку по нашему проекту и скачаем профиль публикации:
Снимок9
В профиле публикации нас интересуют параметры доступа к FTP. publishUrl — это FTP Url, userName следующий за ним — это логин, а userPWD — пароль. Для доступа по FTP можно использовать удобный для вас менеджер. Вполне достаточно и обычного Проводника. Из дистрибутива WordPress из папки wp-content нужно скопировать подпапку languages. Также необходимо в корневом каталоге отредактировать файл wp-config.php изменив строку с параметром WLANG следующим образом:
define ('WPLANG', 'ru_RU');
Откройте страницу блога заново, при необходимости обновите (F5). Wordpress должен быть локализован Зайдите в раздел Консоль—>Обновления — вполне возможно, что будет отдельное предложение обновить локализацию.
Самое время произвести миграцию данных. К сожалению, мигрируя с обычного WordPress на Brandoo WordPress мы теряем возможность просто перенести SQL базу один к одному. Так что публикации и другие страницы сайта будем переносить с помощью средств WordPress. А изображения из галереи и прочие файлы — с помощью FTP-менеджера. Экспорт и импорт публикаций и страниц находятся в разделе Инструменты—>Импорт/Экспорт. Файлы галереи изображений находятся в папке wp-content/uploads/. Их достаточно просто перенести. Прочие настройки придётся производить вручную, а прочие файлы переносить также с помощью FTP-менеджера.
Надеюсь на этом этапе вы уже обжились и привели свой WordPress к нужному виду. Самое время привязать домен второго уровня (а-ля contoso.com), если конечно он у вас есть. Для этого нужно будет зайти на панель управления регистратора вашего домена. Покажу на примере r01.ru, услугами которого пользуюсь.
В первую очередь открыть свой личный кабинет на сайте регистратора и зайти в раздел Домены. Мы видим список своих доменов. Находим тот домен, который мы будем привязывать к WordPress-блогу, размещенному  в Azure, и кликаем а иконку карандаша напротив этого доменного имени (переходим в режим редактирования списка DNS-серверов):
Снимок10
Выбираем вариант Разместить первичный и вторичный DNS-серверы на серверах Регистратора:
Снимок11
На следующих двух шагах подтверждаем данные и ставим задание в очередь. Задание выполнится через несколько минут.
Возвращаемся в раздел Домены. Теперь мы будем добавлять CNAME и A записи к нашему домену. Для этого напротив домена кликнем на иконку MX.
Снимок12
Вверху есть меню для добавления записей различных типов. А мы пока разберемся какие записи нужно добавить. Вернёмся в панель управления Azure, в раздел Веб-сайты непосредственно к нашему сайту. Удостоверимся в разделе Масштаб, что у нас выбран режим размещения веб-сайта не бесплатный (бесплатный режим не даёт возможности привязать домен). Переходим в раздел Настроить и находим подраздел Имена доменов и жмём на кнопку Управление доменами. Здесь мы видим, что мы должны создать CNAME запись  имяпроектавazure.azurewebsites.net. для хоста www.yourdomain.com и/или awverify.имяпроектавazure.azurewebsites.net. для хоста awverify.www.yourdomain.com . Обратите внимание, что в CNAME записи в самом конце ставится точка. Вот пример:
Снимок13
Также из панели управления Azure мы возьмём IP адрес для настройки записи A.
В итоге список добавленных записей будет выглядеть так (привязываем проект polly.azurewebsites.net к домену wpug.ru):
Снимок14
Теперь нужно подождать, когда обновленная информация попадет на DNS серверы и будет распространена. Могут уйти часы. Идём обратно в панель Azure. Остаёмся в том же разделе настройки пользовательских доменов. Именно в нём происходит проверка наличия соответствующей CNAME записи. И до тех пор, пока запись не будет распространена, невозможно будет добавить домен. Как только сможете добавить основной домен, то не забудьте добавить и поддомен www. Конечный результат будет выглядеть так (для описанных исходных адресов):
Снимок15
Можно проверить в браузере, что вашему домену соответствует ваш проект в Azure. Но нужно выполнить ещё одну настройку в WordPress. В общих настройках нужно указать в качестве адреса WordPress и сайта имя домена:
Снимок16
Теперь всё готово!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *