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

Vagrant для веб-розробника

  1. Вступ Йтиметься про чудовому інструменті, який називається Vagrant , І про те, чим він може бути...
  2. установка VirtualBox
  3. установка Vagrant
  4. Установка плагінів Vagrant
  5. Завантаження файлу конфігурації для Vagrant
  6. Розгортання і запуск оточення
  7. демонстрація роботи
  8. Що далі?

Вступ

Йтиметься про чудовому інструменті, який називається Vagrant , І про те, чим він може бути корисний для веб-розробника.

Кожен розробник стикається з необхідністю налаштування на своєму комп'ютері оточення, необхідного для запуску веб-додатків, над якими він працює. До складу оточення можуть входити, наприклад: PHP, MySQL, nginx, а також інші СУБД, веб-сервера і т. Д.

Є різні способи управління оточеннями: хтось вручну встановлює і налаштовує в системі окремо кожен з необхідних компонентів, хтось використовує готові набори (наприклад XAMPP, Open Server в Windows або lamp-server в Linux), але у цих підходів є кілька недоліків, головний з яких полягає в труднощі підтримки різних оточень для різних проектів. Нерідко виникають ситуації, коли, наприклад, різні проекти працюють з різними версіями PHP, або їм потрібні різні настройки php.ini, або різні веб-сервера і т. Д. У таких випадках управління оточеннями стає досить трудомістким завданням, вирішити яку людині, яка не має кваліфікації сисадміна, буває досить непросто. В добавок - операційна система комп'ютера "обростає" великою кількістю різного софта, який часто потрібен тільки для того, щоб запустити локально якесь одне веб-додаток.

Я користуюся Vagrant для управління оточеннями, і ось чому:

  • Vagrant використовує віртуалізацію, а це в свою чергу дає наступні переваги:
    • Для кожного проекту розгортається індивідуальне оточення зі своєю версією PHP, своїми настройками php.ini, веб-сервером і т. Д., Тобто - повністю ізольована віртуальна машина.
    • Операційна система комп'ютера не «засмічується" різним програмним забезпеченням, яке, за великим рахунком, в ній не потрібно.
  • Vagrant на льоту синхронізує каталог проекту з каталогом всередині віртуальної машини. Не потрібно піклуватися про оновлення версій файлів всередині неї. Все відбувається автоматично і миттєво.
  • Управління оточенням проводиться за допомогою мінімального набору простих команд. У найпростішому випадку робота з Vagrant зводиться до двох команд: vagrant up (запуск) і vagrant halt (зупинка).

Vagrant є обгорткою над ПО віртуалізації і засобами управління конфігураціями, і надає спосіб легко і швидко всім цим керувати.

Встановлення та налаштування

Розглянемо по кроках процес установки Vagrant, а також розгорнемо для прикладу готовий образ (Або, як прийнято говорити в термінології Vagrant - бокс), що містить встановлене програмне забезпечення, необхідне для веб-розробки, в тому числі LAMP-стек, і запустимо в вийшов оточенні веб-додаток (візьмемо для прикладу WordPress ).

Я використовую Linux Mint, яка заснована на Ubuntu, тому всі описані маніпуляції застосовні в цих ОС. На жаль, я не знаю точно, наскільки стабільно все буде працювати в Windows, проте все описане ПО має версії для Windows, тому, мабуть, там теж все повинно працювати.

Отже, поїхали.

установка VirtualBox

Так як Vagrant оперує віртуальними машинами, то йому для роботи необхідно ПО віртуалізації. Встановимо VirtualBox, який є широко поширеним, зручним і простим у використанні прикладом такого ПО. Встановлення, користуючись інструкціями зі сторінки: https://www.virtualbox.org/wiki/Linux_Downloads

установка Vagrant

Потім встановимо сам Vagrant.

Для установки виконайте:

$ Sudo apt-get install vagrant

Або скачайте і встановіть останню версію звідси: https://www.vagrantup.com/downloads.html

Установка плагінів Vagrant

Рекомендую встановити пару корисних плагінів для Vagrant.

Плагін vbguest потрібен на той випадок, коли версії VirtualBox Guest Additions всередині віртуальної машини і на вашому комп'ютері розрізняються, цей плагін сам в автоматичному режимі дозволить дану проблему. Для установки виконаємо:

$ Vagrant plugin install vagrant-vbguest

Плагін hostmanager потрібен для того, щоб Vagrant міг керувати іменами хостів для віртуальних машин. Встановимо його:

$ Vagrant plugin install vagrant-hostmanager

Завантаження файлу конфігурації для Vagrant

Як вже говорилося вище, ми будемо розгортати вже готове сконфигурированное оточення - Scotch Box . У репозиторії Scotch Box знаходиться конфігураційний файл Vagrantfile, який містить необхідну Vagrant інформацію для розгортання і запуску оточення. Завантажити репозиторій:

$ Git clone https://github.com/scotch-io/scotch-box.git

Розгортання і запуск оточення

Для того, щоб Vagrant розгорнув і запустив оточення, необхідно виконати в каталозі проекту, тобто там, де знаходиться файл Vagrantfile, єдину команду - vagrant up.

Перейдемо в каталог, куди ми завантажили репозиторій Scotch Box і зробимо це.

$ Cd scotch-box $ vagrant up

Це насправді все, що потрібно зробити. Перший запуск зазвичай займає досить тривалий час, так як Vagrant повинен завантажити і розгорнути образ віртуальної машини, розв'язати конфлікт версій VirtualBox Guest Additions, якщо він є, а також встановити, при необхідності, різне програмне забезпечення всередині віртуальної машини. Другий і наступні запуски будуть здійснюватися за лічені секунди.

Scotch Box за замовчуванням використовує адресу http://192.168.33.10 . Після того, як виконається команда vagrant up, перейдіть в своєму браузері за цією адресою і переконайтеся, що все працює. Scotch Box за замовчуванням використовує адресу   http://192

Якщо ви хочете зупинити віртуальну машину, виконайте команду vagrant halt.

Якщо ви користуєтеся режимом глибокого сну, то перед тим, як переводити в нього комп'ютер, рекомендується виконати для запущеного оточення команду vagrant suspend, так як в противному випадку ОС може "зависнути" при переході в гібернацію. Після виходу зі сплячого режиму запустіть оточення, знову виконавши vagrant up.

Якщо відкрити GUI Virtual Box, то можна побачити, що Vagrant створив для вас звичайну віртуальну машину. Нічого не заважає вам керувати нею як будь-який інший віртуальною машиною, використовуючи засоби Virtual Box. Якщо відкрити GUI Virtual Box, то можна побачити, що Vagrant створив для вас звичайну віртуальну машину

демонстрація роботи

Як і говорилося вище, продемонструємо роботу оточення на прикладі WordPress .

Скачайте останню версію WordPress тут і розпакуйте її в каталог scotch-box / public, котрий в Scotch Box є кореневим каталогом веб-сервера. Не забудьте перед розпакуванням видалити файл index.php з каталогу public.

Тепер перейдіть за адресою http://192.168.33.10 , Ви повинні побачити перший крок установки WordPress: Тепер перейдіть за адресою   http://192

Зверніть увагу на те, що всі зміни файлової системи всередині каталогу public миттєво перенеслися всередину віртуальної машини без необхідності проводити будь-які додаткові маніпуляції. Все працює прозоро - так, ніби ніякої віртуальної машини немає взагалі: ви міняєте файли, відкриваєте url в браузері і спостерігаєте зміни.

На кроці, присвяченому налаштуванню з'єднання з базою даних, вкажіть параметри, описані на сайті Scotch Box: На кроці, присвяченому налаштуванню з'єднання з базою даних, вкажіть параметри, описані на   сайті   Scotch Box:

Після завершення всіх кроків, ви отримаєте встановлений екземпляр WordPress всередині вашої віртуальної машини. Після завершення всіх кроків, ви отримаєте встановлений екземпляр WordPress всередині вашої віртуальної машини

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

Слід згадати, що в тому випадку, якщо ви використовуєте PhpStorm, вас чекає приємний сюрприз у вигляді підтримки Vagrant всередині IDE. Відкрийте в головному меню "Tools" -> "Vagrant". Ви можете управляти оточенням для проекту прямо з PhpStorm, не заходячи в командний рядок.

Що далі?

розглянутий приклад Scotch Box - це найбільш простий з можливих варіантів використання Vagrant. Насправді Vagrant - це гнучкий і потужний інструмент, який дозволяє дуже тонко налаштовувати необхідне оточення.

Scotch Box влаштований таким чином, що сам образ віртуальної машини містить все необхідне встановлене ПЗ. Найбільш поширений такий сценарій використання Vagrant, коли береться чистий образ системи і, за допомогою конфігов, описується: що необхідно встановити туди і як все це налаштувати.

В якості непоганого більш складного прикладу можна запропонувати для вивчення файли конфігурації Vagrant, що поставляються з Yii2 Starter Kit , З ними можна ознайомитися тут .
Yii2 Starter Kit також містить готовий конфиг nginx , Який, в тому числі, використовує Vargant. З ним також буде корисно ознайомитися.

Ще кілька корисних ресурсів:

Дякую за увагу!

Що далі?


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

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

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

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

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

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

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

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

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

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