Новости
- Вступ:
- Завантажити образ віртуального веб-сервера Debian 8 LEMP (Linux, NGINX, MySQL, PHP) для VirtualBox
- Приклад для програми SequelPro
- додаткові зміни
Розгортаємо образ VirtualBox з віртуальним веб-сервером LEMP (Linux, NGINX, MySQL, PHP) під Debian 8 на Windows / Mac / Linux.
Вступ:
Мені довелося перепробувати безліч різних збірок веб-серверів, створених для розробки і подальшого тестування на локальній машині: Денвер, XAMPP, Open Server. Так само встановлював локально весь набір для веб-сервера (apache, php, mysql), пробував деякі інші рішення, в кінцевому підсумку опинилися недостатньо зручними. Якщо на початку роботи не було ніяких нарікань, то через якийсь час була потрібна нова версія однієї або декількох частин софта, і після поновлення збірки веб-сервера доводилося стикатися з несумісністю конфігурацій, смітником в системі, перешкодами з боку ОС і встановленого ПО (наприклад , на Windows Skype займає 80-й порт). Всі рішення подібних проблем, які можна було знайти на форумах, це - «переустанови веб-сервер». А якщо щось не влаштовує в готових системах, то краще зробити самому - встановити VirtualBox і підняти свій сервер.
Запуск віртуального веб-сервера здійснюється засобами безкоштовного і доступного кожному VirtualBox'а ( virtualbox.org ). Запускати машину можна через графічний інтерфейс VB (це додає вікна, які в наслідку доведеться згортати) або через інтерфейс командного рядка (як фоновий процес).
Запускається віртуальне середовище по набору софта і конфігурацій майже повністю збігається з середовищем на production-сервері.
Завантажити образ віртуального веб-сервера Debian 8 LEMP (Linux, NGINX, MySQL, PHP) для VirtualBox
Образ містить NGINX, MySQL, PHP-fpm. У цьому рішенні не використовується Apache (LAMP), замінюючи його зв'язкою NGINX і PHP-fpm (LEMP).
Завантажити образ Debian 8 LEMP (740МБ)
Перший запуск і настройка віртуального веб-сервера
Запуск здійснюється через консоль операційної системи, командою:
VBoxManage startvm D8-lemp --type vrdp
Додатковий параметр --type змушує ядро VirtualBox використовувати інтерфейс VBoxHeadless.
Віртуальна машина запуститься в фоновому режимі, і для підключення до неї потрібно SSH-клієнт.
Підключення по SSH повинно здійснюватися на статичний IP-адресу віртуальної машини:
Пароль: "pass"
Якщо у вас інша мережа, або адреса зайнятий, то необхідно запустити один раз віртуальну машину стандартним способом через графічний інтерфейс VirtualBox і відредагуйте дані IP, маски і шлюзу в файлі:
nano / etc / network / interfaces
Зберегти зміни та виконати оновлення налаштувань:
/etc/init.d/networking reload
Потім вимкнути машину командою:
Poweroff
Тепер можна запускати машину через консоль і виконувати підключення по SSH на встановлений вами IP.
При зверненні до віртуальної машини через браузер по її IP-адресою має з'явиться вітання від NGINX.
Робота з файлами віртуальному веб-сервері
При кожної успішної авторизації по SSH на віртуальній машині буде з'являтися стандартне привітання і додаткова інформація про роботу машини, яка виглядає наступним чином:
Швидкий старт LEMP (Linux, NGINX, MySQL, PHP) на Debian 8:
- nano ~ / .hgrc - Вкажіть свої дані для доступу до Mercurial
- Всі сайти додаються в папку / home / web / або монтується папка через VB в / media / sf_ *
- Конфігурації сайтів живуть в / etc / nginx / sites-enabled /
- Перезавантаження веб-сервера відбувається по команді service nginx reload
- Перезавантаження php-fpm відбувається по команді service php5-fpm reload
- Виконання системних команд вимагає root прав, а для цього виконайте su
Пароль всюди: pass
Доступні: Mercurial і Composer.
Інструкція досить проста, але розкрию пару моментів.
Запуск тестового сайту на віртуальному веб-сервері
У віртуальній машині налаштований тестовий сайт з доменом test.web, щоб побачити його і будь-який інший віртуальний хост, який ви налаштуєте на машині, де встановлено VirtualBox, в файлі hosts, пропишіть доступ до test.web:
У Windows файл hosts знаходиться за цією адресою:
C: \ Windows \ System32 \ drivers \ etc \ hosts
У MacOS і Linux:
/ Etc / hosts
Відкриваємо його в текстовому редакторі і прописуємо в ньому доменне ім'я і IP-адреса (в даному варіанті IP-адреса віртуальної машини) для нього.
приклад:
192.168.0.121 test.web
Відкривши браузер і набравши в адресному рядку test.web, згенерує сторінка з написом "Hi!".
Додавання і запуск сайтів на віртуальному веб-сервері
Для додавання нового сайту скопіюйте файл конфігурації / etc / nginx / sites-enabled / test.
наприклад:
cp / etc / ngingx / sites-enabled / test / etc / nginx / site-enabled / mysite
Відкрийте скопійований файл і внесіть папку розташування сайту і ім'я сервера (домена).
наприклад:
server_name test.web; root / home / test;
міняємо на
server_name mysite.web; root / home / mysite;
Для застосування змін конфігурації потрібно перезапуск сервісу:
service nginx reload
Аналогічно перезапускается сервіс php5-fpm в разі, якщо змінено конфігурації, пов'язані з php:
service php5-fpm reload
Додавання бази даних в MySQL.
На віртуальній машині встановлена СУБД MySQL. Для звернення до неї і створення баз даних існує кілька варіантів. Найпростіший - використання графічного клієнта. Інший варіант - працювати з СУБД через консоль.
Приклади ПО з графічним інтерфейсом:
- Для Windows, безкоштовний SSH-клієнт heidisql .
- Для MacOS, безкоштовний SSH-клієнт SequelPro .
При використанні ПО з графічним інтерфейсом потрібне створення SSH-тунелю.
Приклад для програми SequelPro
Вибираємо створення SSH-тунелю.
- Вказуємо IP-адреса в полі Адреса SSH
- Користувач: root
- Пароль: pass
- Адреса MySQL: 127.0.0.1
- Користувач: root
- Пароль: pass
- Єднаймося з MySQL.
Встановлення додаткових пакетів і поновлення
Дана віртуальна машина є повноцінною операційною системою, тому її можна оновлювати і встановлювати будь-яке інше додаткове програмне забезпечення.
додаткові зміни
- Щоб уникнути проблем з правами у папки, в якій розташовуються файли проектів, користувач www-data доданий в додаткову групу vboxsf.
usermod -a -G vboxsf www-data - Включена авторизація для root по SSH.