Глобальный переезд или ваш собственный хостинг в Microsoft Azure

Сегодня я полностью закончил все работы по переезду своего блога с бесплатного хостинга wordpress.com на свой собственный. Процесс был длительным, и тянулся на протяжении 4-х недель. Столь длительный период объясняется повышенной нагрузкой на работе, а также подготовкой и участием в SWIT 2014.

Я долго думал о теме первой статьи после столь длительного перерыва. И чисто случайно, в разговоре с Дмитрием Кагарлицким, прозвучала идея о написании статьи как был осуществлен переезд. Данная статья не претендует на техническое совершенство, так как некоторые нюансы выходят за мою компетенцию (например, конфигурирование Linux системы). Но все же, у меня получилось значит опыт спешный и заслуживает на жизнь:)

Microsoft Azure

Причиной срыва с насиженного места на wordpress.com, в первую очередь, можно назвать очень большие ограничение платформы. Не возможность управления всевозможными плагинами, а также настройками по CEO оптимизации контента тому являются явными подтверждениями. Поэтому, собственно, возникла идея миграции на внешний хостинг, которым в последствии стал Microsoft Azure.

Изначально планировался перенос блога на Azure Web Sites Конечный интерфейс управления вебсайтами уже располагает к использованию. Наличие галереи с самыми популярными CMS как на PHP так и .NET платформах, простата развертывания а так же нативная интеграция со средствами разработки Visual Studio и Web Matrix, делают это решение еще «вкуснее» Но к сожалению, этот вариант мне не подошел, причиной стал тот факт что базы данных MySQL не входят в состав подписки Azure и покупаются отдельно у внешнего провайдера. Конечно бесплатно можно получить базу данных на 10 МБ, и в 70 процентах такого объема будет вполне достаточно, все же было решено отказаться от подобного размещения в пользу полного рукотворного хостинга.

Совсем не давно, в пределах недели, Microsoft сделал заявление о будущем переименовании своего облака Azure с Windows Azure в Microsoft Azure. Причина, по которой сделано подобное весьма проста появление поддержки продуктов сторонних производителей Oracle, Red Hat. Это означает, что теперь стало возможным развертывания решений на базе Linux системы с гарантией их корректной работы.

Если в наличии имеется подписка на Microsoft Azure, пол дела сделано, в противном случае всегда можно зарегистрировать пробную подписку перейдя по следующей ссылке.

Для регистрации требуется лишь microsoft account и 1$ на банковской карточке для ее проверки. Из опыта стоит сказать, что регистрация не мгновенная. В некоторых случаях время зачисления этого одного доллара может составлять несколько часов. В это время в состоянии регистрации будет отображена информация с ошибкой. Скорее всего причиной случит некоторая задержка прохождения денежных средств в банковской системе.

Для создания новой виртуальной машины необходимо зайти в портал управления подпиской https://manage.windowsazure.com и перейти в раздел Виртуальные машины.

 

В нижней панели правления будет кнопка “Создать”, это нам и нужно.

 

Мастер открылся на создании новой виртуальной машины, и далее нужно выбрать создание из галереи.

 

В открывшемся списке доступных образов для развертывания, необходимо перейти в раздел CentOS. Там будет представлена версия системы 6.5 которая уже подготовленная к использованию в Azure. Это означает, что в ней присутствуют средства интеграции с платформой служащие для снятия статистики и управления.

 

На следующем шаге, необходимо выполнить преконфигурацию в виде задания имени, размера а так же логина и пароля администратора для входа по SSH.

 

Далее, будет возможность задать какие порты будут проброшены на виртуальную машину с белого IP адреса, который будет ей присвоен. В моем случае конфигурация портов видна на скриншоте. Стоит лишь упомянуть, что я дополнительно пробросил кастомный порт 10000 по протоколу tcp. Это будет необходимо, так как в последствии на OS будет установлено веб средство управления Webmin, но об этом чуть далее.

 

Через несколько минут машина будет создана и станет возможным ее последующая конфигурация через SSH.

 

Для того чтобы подключится по SSH можно использовать доменное имя облавной службы созданной под машину имеющее вид имя.cloudapp.net либо посмотреть присвоенный IP адрес свойствах виртуальной машины.

На этом шаге, будущий сервер создан, далее необходимо закончить конфигурацию уже по SSH.

 

Подготовка сервера

Коротко очертим фронт работ. В первую очередь необходимо доставить последние обновления системы а так же установить средство управления Webmin. Далее перейти к непосредственной установке панели управления хостингом.

В качестве последней, будет использоваться продукт ZPanel. Главная особенность этого продукта перед аналогами будет в поддержке не только *nix систем на и WIndows.

Упомянутый Webmin будет служить как прекрасное средство управления сервером без применения подключения по SSH.  Обладая веб интерфейсом, это средство позволит 70 процентов задач по администрированию сервера и давай доступ к множеству настроек.

 

 

Приступая к настройке подключившись к серверу необходимо переключится в режим супер пользователя. Для этого необходимо выполнить:

sudo su

После этого все последующие команды будут выполнятся от имени пользователя root, который обладает наивысшими правами в системе. Следующим шагом доставим последние обновления в систему командой.

yum update

После обновления возможно потребуется перезагрузка. Особенностью размещения *.nix систем будет то, что репозитории с обновлениями и пакетами размещены в пределах сети Azure и прописаны в системах. Это означает, что скачивание их будет максимально быстрым, правда иногда наблюдается временная недоступность:)

 

Далее приступим к установке Webmin, для этого перейдем в домашнею директорию выполнив.

cd

Далее необходимо скачать установочный пакет используя утилиту wget.

wget http://sunet.dl.sourceforge.net/sourceforge/webadmin/webmin-1.480-1.noarch.rpm

Следующим шагом выполним установку менеджером пакетов rpm скаченный пакет.

rpm -U webmin-1.480-1.noarch.rpm

 

Установка завершена успешно, и для доступа к Webmin будет использоваться стандартный порт 10000 по протоколу tcp. Прежде чем пытаться подключится, необходимо сделать исключение в брандмауэре, для этого откроем псевдографический редактор выполнив

system-config-firewall-tui

 

По умолчанию, единственная учетная запись в системе обладающая правами для входа в Webmin это root. В последствии можно это перенастроить, но первоначальный вход всеже необходимо сделать, для этого зададим пароль root, для этого выполним

passwd

 

После входа, будет доступна базовая информация о системе, состоянии обновлений а так же многое другое. В настройках Webmin есть возможность поменять локаль консоли.

 

Установка Zpanel

Процесс установки хостинг панели очень прост и описан на официальном сайте  http://docs.zpanelcp.com/?node=24 Ниже представлена весьма полная пошаговая инструкция к установке.

1) Log to your server as root user:

sudo -i

2) Ensure you are in your home directory:
cd

3) download the installer
wget -O installer-10-1-0-centos-64.sh.x https://github.com/zpanel/zpanelx/releases/download/10.1.0_orig/installer-10-1-0-centos-64.sh.x

If wget error, install wget:  yum install wget then redo wget and continue with install.

4) Make the installer executable
chmod +x installer-10-1-0-centos-64.sh.x

5) Install pre-required packages
yum install ld-linux.so.2 curl

6) Run the installer
./installer-10-1-0-centos-64.sh.x

7) Follow the on screen instructions during the installation.
(See also About Installer questions)

8) Return to user lever
exit

Во время установки будут создан ряд учетных данных, например администратор хостинга и пароли к серверу баз данных и почтовому серверу. Файл с этими данными будет находится в домашнем каталоге пользователя root.

 

Создание сайта

После первого входа в хостинг панель, для создания сайта необходимо будет создать обслуживаемый домен. Задача весьма знакомая администраторам аналогичных решений. Во время создания домена, будет создан каталог под будущий сайт по пути

/var/zpanel/hostdata/zadmin/public_html/Домен_вашего_сайта

По умолчанию, автоматически по этому каталогу будут размещен сайт-заглушка.

Для создания нового домена, необходимо перейти в раздел Domains и указать имя будущего домена.

 

Для работы сайта, необходима база данных MySQL. Средства по управлению и обслуживанию баз данных интегрированы в панель и нет необходимости прибегать к интерфейсу командного шелла.

Для начала, создадим новую базу перейдя в раздел MySQL Database. Зададим переменную часть имени новой базы, постоянная же часть будет именем учетной записи пользователя панели.

 

Следующим шагом, будет создание нового пользователя и предоставление ему исключительных прав на ранее созданную базу данных. Для этого перейдем в MySQL Users.

 

Для того, чтобы подготовить сайт для установки, в первую очередь необходимо поместить сайт на веб сервер. Для этого создадим FTP аккант, задав нужные разрешения а так же каталоги к которым будут они применяться. Это возможно выполнить с вкладки FTP Accounts.

 

Создание сайта завершено, теперь лишь осталось произвести установку самого WordPress. Предварительно через FTP были залита русская версия CMS и после перехода на созданный домен, откроется мастер установки.

 

Выводы

В этой статье, был показан весь процесс создания настоящего веб хостинга, который может использоваться как в домашних, так и в продакшин средах.

7 thoughts on “Глобальный переезд или ваш собственный хостинг в Microsoft Azure

    • Alexander Tkachenko 02.07.2015 at 09:21 - Reply

      Скорее всего ссылка умерла по причине давности написания статьи. Вот вам другое решение:

      nano /etc/yum.repos.d/webmin.repo

      Файл должен содержать следующие строки:

      [Webmin]
      name=Webmin Distribution Neutral
      #baseurl=http://download.webmin.com/download/yum
      mirrorlist=http://download.webmin.com/download/yum/mirrorlist
      enabled=1

      Затем необходимо импортировать GPG ключ:

      wget http://www.webmin.com/jcameron-key.asc
      rpm –import jcameron-key.asc

      Теперь можно установить Webmin:

      yum -y install webmin

      Вы по сути добавите репозиторий вебмина и сможете с него скачать последнею версию.

  1. Я наверное, что-то не так понял… Могли бы вы по подробнее рассказать о wget . По какой-то причине, она не хочет ничего скачивать.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.