<
  • Главная
Статьи

Microsoft Azure для бородатих адмінів. Ставимо Linux і наживляємо WordPress в хмару

  1. Зміст статті Всього кілька років тому фраза «розгорнути виртуалку Linux всередині хмари Microsoft»...
  2. Підготовчі роботи
  3. Видавці, пропозиції, номера SKU та інше
  4. Створення віртуальної машини
  5. Налаштування віртуальної машини
  6. установка WordPress
  7. WWW

Зміст статті

Всього кілька років тому фраза «розгорнути виртуалку Linux всередині хмари Microsoft» здалася б мені оксюмороном. Сьогодні ж це - абсолютно нормальна робоча задача. У цій статті ми покажемо адмінам Linux, як всередині хмари від Microsoft можна розгорнути звичну нам операційну.

Чому Azure?

Microsoft Azure - це відкрита і гнучка платформа, що дозволяє створювати, впроваджувати, масштабувати додатки і управляти ними. Про цю платформі вже багато чого було написано, і особливо не хочеться повторюватися. Все-таки стаття повинна бути практичною, а обговорення переваг та недоліків платформи залишу теоретикам. Якщо коротко, то можна виділити наступні переваги:

  • Надійність і стійкість - платформа відмовостійкості, SLA становить 99,95%, і гарантується безпечне підключення до платформи з будь-якої точки світу.
  • Гнучкість і простота - як побачиш, створити і налаштувати будь-яку кількість віртуальних машин для розробки і тестування додатків в хмарі дуже просто.
  • Економія коштів - ти платиш тільки за реально використовувані ресурси (далі буде наведено лінк на те, як розшифровувати рахунки Azure).
  • Економія часу - тобі не треба чекати поставок обладнання. Потрібні ресурси стануть доступні відразу після оплати.
  • Вибір типу операційки - не варто думати, що раз Azure - рішення від Microsoft, то тобі будуть доступні тільки виртуалки під управлінням Windows. Як буде показано далі, можна з легкістю створити Linux-виртуалку.

Всі ці переваги важливі для великих проектів. Так, Azure - платне рішення, але в підсумку воно економить твої гроші. Уяви, що ти орендуєш фізичний виділений сервер. Поки проект розвивається, ти платиш за ресурси, що не використовуєш. Коли ж проект розростеться і, наприклад, закінчиться місце на дисках, тобі доведеться чекати поставки нового обладнання, його налаштування і так далі. В результаті буде вимушений простій (хоча якщо адмін кмітливий і заздалегідь передбачить цю ситуацію, то простий виявиться невеликим). А великі проекти можуть втратити багато грошей і, що ще більш важливо, постійних і нових користувачів.

Підготовчі роботи

А тепер перейдемо до практики. Щоб продовжити, тобі знадобиться Azure CLI і учетка Azure . Учетка коштує грошей, але безкоштовно можна отримати тріал, щоб зрозуміти, чи потрібно тобі все це взагалі.

Насамперед потрібно створити учетку - а раптом більше кулі не буде? 🙂 Тому перш, ніж іти далі, треба переконатися, що учетка створена. Повністю анонімну учетку створити буде складно, так як при реєстрації вказується твій мобільний номер і дані кредитки - знімати гроші не будуть, картка потрібна, тільки щоб переконатися, що ти не бот. Досить дивний спосіб, але все ж.

Після того, як ти придбав учетку, потрібно встановити Azure CLI - командний рядок Azure. Цей процес описувати не буду, є детальний мануал, до того ж російською .

Azure CLI можна встановити в Windows, Linux і OS X. Іншими словами, з твого Мака можна управляти хмарними віртуалкою Linux.

Видавці, пропозиції, номера SKU та інше

На сайті Microsoft я знайшов один цікавий мануал по створенню віртуальної машини за допомогою команди azure vm quick-create. Здавалося б, все просто: вводиш команду, вона запитує додаткові відомості, і вуаля - виртуалка створена. Але не тут-то було. Потрібно спочатку розібратися, що вводити в відповідь на питання цієї команди.

Насамперед потрібно визначитися з образом виртуалки, який ти будеш завантажувати в Azure. Можна вибрати один з рекомендованих Microsoft образів або ж завантажити свій, так званий нерекомендовані образ. Про це розповідається тут .

У Azure підтримуються дистрибутиви на базі CentOS, а також дистрибутиви Debian, RHEL, openSUSE і SLES, Oracle Linux, Ubuntu. Може бути, про завантаження нерекомендовані образів ми поговоримо в наступних статтях, а поки будемо розбиратися з використанням рекомендованих образів. Кожному способу відповідає номенклатурний номер, або SKU, що представляє собою унікальний системний ідентифікатор для кожного ресурсу Azure. Наприклад, дистрибутива CentOS відповідає номер 7. Але SKU - це не завжди число. Наприклад, для Ubuntu Server цілком може бути SKU виду 14.04.2-LTS.

Детально про SKU і інших незрозумілих словах можна прочитати тут . Також там описано, як розшифрувати твої рахунки Azure, коли ти почнеш користуватися «Азур» всерйоз.

Переглянути образи (які ти будеш використовувати з командою azure vm quick-create) можна за допомогою команди azure vm image list. Цій команді потрібно передати регіон, ім'я видавця і пропозиція (якщо ти знаєш, як воно називається).

Хмарний сервіс Azure доступний в 22 регіонах і, як написано на сайті Microsoft, скоро стане доступний ще в восьми. Вибрати потрібний тобі регіон можна тут . Видавець - це ім'я видавця образу, наприклад Canonical, якщо ти хочеш використовувати образ Ubuntu. Пропозиція - назва групи образів, наприклад UbuntuServer. Втім, пропозиція можна і не вводити, тоді команда виведе всі образи від заданого видавця.
приклад:

azure vm image list westus canonical ubuntuserver

Тут ми вибираємо пропозиції UbuntuServer (реєстр не враховується) від видавця Canonical в сонячній Каліфорнії (регіон westus).

Висновок буде таким, як показано на рис. 1. Як бачиш, тобі на вибір запропоновані кілька (а саме вісім) образів.

Як бачиш, тобі на вибір запропоновані кілька (а саме вісім) образів

Мал. 1. Висновок команди `azure vm image list westus canonical ubuntuserver`

Проаналізуємо висновок. Найбільше нас цікавлять стовпці Sku і Urn. Цікаво, але виявляється, що Sku - не такий вже і унікальний номер (хоча в Microsoft запевняють в зворотному). Перейди за раніше наведеною посиланням, і ти побачиш: хоча нас намагаються переконати, що Sku унікальний, але по факту це виявляється не так (рис. 2). Втім, можна не забивати собі цим голову. А ось в стовпці Urn знаходиться рядок, яку можна передати в команду azure vm quick-create для створення віртуальної машини.

Мал. 2. Фрагмент сторінки https://azure.microsoft.com/ru-ru/documentation/articles/billing-understand-your-bill

Зверни увагу: в попередній команді ми знали назву видавця, але воно не завжди нам знайоме. Припустимо, не подобається тобі Ubuntu і ти хочеш Debian . Але як дізнатися, хто буде видавцем для Debian або для того ж CentOS? Для цього потрібно ввести команду

azure vm image list-publishers

Список видавців дуже довгий, тому на рис. 3 наводиться лише фрагмент виведення команди.

Мал. 3. Список видавців

Отримавши список видавців і їх розташування (регіони), можна з'ясувати список пропозицій. Для цього введи команду

azure vm image list-offers

Далі тебе попросять вказати видавця і регіон, після чого ти побачиш список пропозицій (рис. 4). Він також може бути досить довгим.

Мал. 4. Список пропозицій

Отримати ідентифікатори SKU можна командою

azure vm image list-skus

Тебе попросять вказати регіон, видавця і пропозиція. В результаті ти отримаєш список образів і зможеш вибрати потрібний тобі образ (рис. 5).

Мал. 5. Фрагмент виведення команди `azure vm image list-skus`

Створення віртуальної машини

Ось тепер ти готовий відповісти на всі питання команди azure vm quick-create. Введи її:

azure vm quick-create

Далі команда попросить тебе вказати різну інфу - назва групи ресурсів, назва віртуальної машини, регіон, тип ОС, URN образу, ім'я користувача віртуальної машини і пароль:

info: Executing command vm quick-create Resource group name: myVMGroup Virtual machine name: ubuntuvm Location name: westus Operating system Type [Windows, Linux]: Linux ImageURN (in the format of "publisherName: offer: skus: version"): Canonical : UbuntuServer: 14.04.4-LTS: latest User name: den Password: ******************* Confirm password: ************ *******

Весь висновок тут показувати не стану, оскільки він досить довгий. Найкорисніша частина цього висновку - практично найостанніша:

data: Network Profile: data: Network Interfaces: data: Network Interface # 1: data: Primary: true data: MAC Address: 00-0D-3A-33-4C-B2 data: Provisioning State: Succeeded data: Name: ubunt- westu-3894891836-nic data: Location: westus data: Public IP address: 104.40.24.124 data: FQDN: ubunt-westu-3894891836- pip.westus.cloudapp.azure.com ... info: vm quick-create command OK

Розберемося, що є що. Тут наводиться інфа про мережевий адаптер створеної віртуальної машини: MAC-адресу адаптера, публічний IP-адресу, ім'я вузла, а висновок всієї команди завершує рядок з OK в кінці, яка свідчить про те, що виконання команди пройшло успішно.

Налаштування віртуальної машини

Що робити далі? А далі потрібно підключитися до віртуальної машини по SSH: ssh <зовнішній IP>.

Зовнішній IP-адреса виводиться при створенні віртуальної машини. Введи ім'я користувача і пароль, вказані при створенні віртуальної машини, і можеш приступати до налаштування Linux. Що саме налаштовувати, залежить від поставленого завдання. Можна, наприклад, встановити панель управління (ту ж VestaCP), можна розгорнути фреймворк PHP разом з веб-сервером і сервером БД - все це добро буде використано для розгортання якогось складного веб-додатки.

Далі буде показаний приклад налаштування звичайного веб-сервера з підтримкою PHP і MySQL.

Насамперед оновлюємо apt-get (рис. 6):

sudo apt-get upgrade sudo apt-get upgrade   Мал Мал. 6. Команда `sudo apt-get upgrade`

Після цього можна приступити до установки софта. Ставимо Apache, потім MySQL і PHP:

sudo apt-get install apache2 sudo apt-get install mysql-server php5-mysql sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt sudo apt-get install apache2 sudo apt-get install mysql-server php5-mysql sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt   Мал Мал. 7. Установка Apache
Мал. 8. Встановлення MySQL і PHP

Третя команда встановлює додаткові пакунки пов'язані з PHP, зокрема пакет, що забезпечує підтримку PHP веб-сервером Apache (libapache2-mod-php5). Цілком можливо, що доведеться встановити додаткові бібліотеки на зразок GD (пакет php5-gd), але все це залежить від твого додатки.

При установці сервера MySQL тебе попросять ввести пароль користувача root. Це користувач MySQL, а не системний користувач, але все одно постарайся придумати складний пароль і не забути його.

Після цього налаштуємо MySQL. Перша команда створює структуру каталогів бази даних, а друга робить налаштування сервера БД безпечнішими:

sudo mysql_install_db sudo mysql_secure_installation sudo mysql_install_db sudo mysql_secure_installation   Мал Мал. 9. Налаштування MySQL

Залишилося запустити Apache і MySQL:

sudo service apache2 restart sudo service mysql restart sudo service apache2 restart sudo service mysql restart   Мал Мал. 10. Перезапуск серверів Apache / MySQL

Ну от і все. У тебе є готовий веб-сервер, який ти можеш використовувати для розгортання власних додатків.

установка WordPress

Я обіцяв розглянути приклад установки веб-додатки, а саме WordPress. Що ж, поїхали. Насамперед скачати сам WordPress:

wget https://ru.wordpress.org/wordpress-4.5.1-ru_RU.zip

Для розпаковування архіву встановимо unzip і виконаємо його розпакування в каталог / var / www / html:

sudo apt-get install unzip unzip wordpress-4.5.1-ru_RU.zip cd wordpress sudo cp -R * / var / www / html sudo rm /var/www/html/index.html sudo apt-get install unzip unzip wordpress-4 Мал. 11. Завантаження WordPress

Перша команда встановлює unzip, друга розпаковує архів, третя змінює поточний каталог, а четверта копіює вміст папки wordpress в / var / www / html - це DocumentRoot для конфігурації Apache за замовчуванням. П'ята команда видаляє index.html - це стандартний файл, створений при установці Apache. Після того як всі настроїш, не забудь видалити папку wordpress!

Підготуємо WordPress до запуску:

cd / var / www / html sudo cp wp-config-sample.php wp-config.php sudo nano wp-config.php

Остання команда запускає редагування файлу wp-config.php. У ньому потрібно прописати ім'я користувача MySQL, пароль і ім'я бази даних. Ось тільки одна невдача: ми забули створити базу даних і користувача. Зараз ми це виправимо. Введи команди:

mysql -u root -p mysql> CREATE DATABASE wp;

Першу команду ти вводиш в консолі Linux (після чого потрібно вказати пароль root), а другу - вже в запрошенні програми mysql (це клієнт для MySQL). Друга команда створює базу даних з ім'ям wp.

Тепер потрібно ввести ось таку довгу команду:

mysql> GRANT ALL PRIVILEGES ON wp. * TO wpuser @ localhost IDENTIFIED BY '123';

Ми створюємо нового користувача - wpuser з паролем 123 і надаємо йому повне право для роботи з БД wp. Для виходу з утиліти mysql введи команду quit:

mysql> quit mysql> quit   Мал Мал. 12. Налаштування MySQL
Мал. 13. Редагування wp-config.php. Так, з кодуванням не склалося!

Тепер ти знаєш, що прописати в wp-config.php. Після редагування файлу конфігурації WordPress відкрий браузер і введи в нього URL http: //імя_віртуальной_машіни/wp-admin/install.php (рис. 14).

14)

Мал. 14. Установка WordPress

Далі все просто: потрібно ввести назву блогу, задати ім'я користувача (адміністратора блогу), ввести пароль і так далі. Думаю, з установкою WordPress ти впораєшся сам, а якщо немає, то Google тобі в допомогу. Після установки WordPress зайди на свій сайт по URL http: // імя_віртуальной_машіни / (рис. 16).

Мал. 15. Блог встановлений
Мал Мал. 16. WordPress готовий до використання!

Власне, на цьому все. Ти тільки що створив віртуальну машину і розгорнув в ній веб-додаток .

WWW


Зацікавився надаю посилання на додаткові мануали:

перше посилання - настройка віртуальної машини з нуля
Друге посилання - розгортання віртуальних машин і управління ними за допомогою шаблонів диспетчера ресурсів Azure

Спецпроект з компанією Microsoft

Чому Azure?
Насамперед потрібно створити учетку - а раптом більше кулі не буде?
Але як дізнатися, хто буде видавцем для Debian або для того ж CentOS?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью