Локальний веб-сервер на Windows
На сьогодні існує безліч програмних рішень для організації робочого місця веб-розробника на локальній машині. Вони орієнтовані на різні типи встановлених на ПК ОС і мають різний склад програмного забезпечення (ПЗ). Розглянемо найвідоміші з таких засобів і наведемо необхідні відомості щодо їхнього встановлення та тестування.
Навіщо потрібен локальний сервер на домашньому або робочому ПК
Процес розробки веб-додатка, що відповідає сучасним вимогам DevOps, зазвичай займає тривалий період часу і включає низку етапів:
- Проектування;
- Розроблення окремих частин коду;
- Попереднє тестування;
- Злиття в загальній гілці розроблення;
- Подальше тестування та документування;
- Видача в продакшн і супровід.
Для можливості організації зазначеного процесу необхідна наявність обладнаних робочих місць розробників, які територіально можуть перебувати в різних точках земної кулі.
Наявність локального сервера на домашньому або робочому ПК розв'язує цю проблему і дає змогу віддалено виконувати етапи розроблення окремих частин коду застосунку та їхнє попереднє тестування безпосередньо перед відправленням до головної гілки, що дає змогу скоротити кількість помилок у коді програми. У підсумку, ефективність розробки програми може збільшитися в рази .
Найкраще ПЗ для локального сервера на Windows
До складу «комплекту» ПЗ для локального сервера зазвичай входить усе необхідне для веб-розробки, тестування та управління:
- Веб-сервер;
- Система програмування;
- Система управління базами даних (СУБД);
- Додаткове ПЗ для адміністрування та моніторингу.
Серед найбільш популярних рішень можна виділити такі:
- XAMPP;
- WampServer;
- MAMP.
Кожен із наведених наборів підтримує роботу як із 32-х, так і 64-х розрядними архітектурами ОС із підтримуваного ряду. Нижче буде розглянуто кожен із них більш детально.
Сервер на XAMPP
Це кросплатформна збірка з відкритим вихідним кодом на базі веб-сервера Apache від спільноти Apache Friends, доступна за GNU GPL ліцензією. Абревіатура збірки показує її склад і розшифровується таким чином:
X - Символ для позначення кросплатформенності збірки;
A - Веб-сервер Apache;
M - СУБД MariaDB;
P - Система програмування PHP;
P - Технологія програмування PERL.
Додатково до складу збірки можуть входити такі програмні інструменти (всі або частина):
- Криптографічна бібліотека OpenSSL;
- FTP-сервер FileZilla;
- Поштовий сервер Mercury;
- Webalizer для аналізу журналів;
- Додаток phpMyAdmin для адміністрування баз даних;
- Apache Tomcat для Java.
Попередні умови
Деякі види ПЗ можуть викликати проблеми під час розгортання сервера, зокрема, ті, які використовують 80-й порт. І тому на локальній машині слід тимчасово вимкнути такі види ПЗ:
- Брандмауер;
- Антивіруси;
- Засоби комунікації - Skype, Telegram тощо.
Завантаження останньої версії програми
Інсталятор XAMPP для Windows 8.х можна завантажити з цієї сторінки сайту розробників (див. скрін).
Встановлення
Після запуску інсталяційного файлу з'являється вітальне вікно майстра встановлення XAMPP (див. скрін).
Після натискання на кнопку продовження інсталяції може з'явитися повідомлення системи користувацького контролю UAC ОС Windows про те, що в разі встановлення програми в каталог Program Files можуть бути проблеми з роботою програми через контроль прав доступу з боку служби і тоді доведеться деактивувати UAC в msconfig. Натискаємо ОК і йдемо далі.
Після цього з'явиться вікно вибору компонентів для встановлення, в якому ми повинні вибрати необхідне. Ставимо прапорці навпроти потрібних компонентів і йдемо далі.
У наступному вікні майстер пропонує вибрати установчу директорію. Щоб надалі уникнути проблем зі службою UAC залишаємо директорію C:\xampp, запропоновану за замовчуванням. Після чого продовжуємо встановлення.
На останньому етапі може з'явитися попередження служби безпеки Windows про необхідність додавання HTTP-сервера Apache до білого списку брандмауера Windows. Ставимо прапорець навпроти опції «Private networks, such as my home or work network» для дозволу доступу до приватних, домашніх і робочих мереж, після чого натискаємо кнопку відкриття доступу Allow access у нижній частині вікна.
У вікні завершення встановлення ставимо прапорець навпроти опції дозволу запуску панелі керування XAMPP і натискаємо на кнопку Finish.
Запуск панелі керування та перевірка роботи сервера
Одразу після завершення встановлення буде автоматично завантажено панель керування XAMPP (див. скрін), яка дає змогу моніторити роботу сервера, запускати/відключати встановлені компоненти, змінювати налаштування програми.
Панель доступна за адресою: http://localhost/dashboard/ .
Панель містить такі елементи керування сервером, розміщені в правій частині головного вікна:
- Config - дає змогу налаштовувати загальні параметри сервера;
- Netstat - дає змогу переглянути всі активні TCP-підключення;
- Shell - перехід до режиму командного рядка;
- Explorer - забезпечує перехід до кореневої папки програми в середовищі Windows;
- Services - перегляд служб Windows;
- Help - допомога співтовариства Apache;
- Quit - вихід із панелі, при цьому сервер працюватиме у фоновому режимі.
Для початку роботи достатньо натиснути на кнопці Start навпроти обраного модуля, після чого з'явиться його PID і номер порту, який модуль використовує (див. скрін).
При цьому в нижній частині вікна панелі можна побачити рядок зі статусом запущеного модуля. У нашому випадку модуль Apache має статус running, тобто, активний. Так само легко можуть бути запущені/зупинені й інші модулі програми.
Для запуску програм адміністрування запущених модулів слід натиснути кнопку Admin навпроти обраного модуля, і програма одразу ж буде завантажена.
WampServer
Програма поширюється безплатно за GPML ліцензією і є реалізацією стека технологій LAMP, але тільки для ОС Windows. Відповідно до цього, до її складу входять:
- Веб-сервер Apache версій 2.4.х;
- Препроцесор PHP 8.х;
- СУБД MySQL 9.х;
- СУБД MariaDB 11.х;
- Веб-додаток PhpMyAdmin 5.х для адміністрування СУБД;
- Веб-додаток Adminer 4.8.х для адміністрування СУБД;
- Програма PhpSysInfo для моніторингу сервера.
Виконання попередніх умов
- Видалити застарілу версію програми (у разі її наявності);
- Повний шлях каталогу встановлення програми не повинен містити діакритичних знаків або пропусків і мати такий вигляд: Х:\wamp, де Х - ім'я локального диска;
- Встановлення здійснювати від імені Адміністратора;
- Перед встановленням вимкнути IIS (Internet Information Services) і заборонити використання 80-го порту;
- Необхідна наявність на локальній машині окремого диска або відформатованого розділу NTFS;
- Якщо на локальній машині розгорнута Windows 64-bit, то необхідно встановлювати Wampserver 32- та 64-bit;
- Завантажити з цього сайту й установити пакети Visual C++ - VC9-VC15. Для перевірки правильності їх встановлення скористатися програмою Checks VC++ packages installed, розміщеною на тій самій сторінці (див. скрін)
Завантаження програми
Завантажити дистрибутив на свою машину можна з сайту розробників, вибравши потрібну архітектуру ОС (див. скрін).
Під час завантаження можуть з'являтися повідомлення щодо складу компонентів, і щоб їх ігнорувати, слід клікнути на посилання download directly, яке розміщене в тому ж вікні.
Після успішного збереження файлу інсталятора на локальному диску, слід перейти до наступного етапу встановлення.
Запуск інсталятора
Одразу після запуску інсталятора вам запропонують вибрати мову системи і підтвердити свій вибір клавішею ОК.
На наступному екрані вам запропонують ознайомитися з ліцензійною угодою, і якщо ви згодні з нею, то необхідно буде ввімкнути перемикач I accept the agreement і натиснути кнопку Next у нижній частині вікна.
Далі буде запропоновано ознайомитися зі списком необхідних для роботи програми бібліотек Microsoft VC++, які мають бути встановлені на машині. Якщо всі ці бібліотеки вже присутні, то тоді можна натиснути Next і продовжити встановлення.
У вікні вибору місця встановлення слід вказати повний шлях і назву каталогу, але краще залишити рекомендовані значення і перейти до наступного кроку.
Далі вам запропонують вибрати директорію для зберігання ярлика виконуваного файлу програми або ж залишити запропоноване значення і натиснути Next.
Після цього буде виведено вікно з обраними значеннями параметрів встановлення з пропозицією запустити процес за допомогою кнопки Install.
Після її натискання програма почне розпаковувати файли на вашому ПК з відображенням перебігу цього процесу (див. скрін).
Після закінчення процесу буде виведено екран, показаний нижче.
Після натискання кнопки Next ініціюється процес розгортання програми на ПК, під час якого буде запропоновано вибрати деякі налаштування, зокрема параметри електронної пошти та браузер.
Після завершення встановлення буде виведено екран, показаний нижче, на якому слід натиснути кнопку Finish.
Перевірка правильності встановлення сервера та його роботи
Для того щоб переконатися, що встановлення сервера було виконано коректно, слід запустити його з меню робочого столу та переконатися, що значок програми в системному треї має зелений колір. Це свідчитиме про те, що сервер активний і готовий до роботи. Трей зазвичай розташований праворуч на панелі завдань Windows. Якщо ж значок програми одразу після її запуску забарвлений у червоний або помаранчевий кольори, то, найімовірніше, якийсь із компонентів не був встановлений як слід.
На наступному етапі слід протестувати роботу програми, ввівши в адресному рядку браузера її адресу:
http://localhost
Завантаження домашньої сторінки WAMP свідчитиме про повну працездатність програми.
Інсталяція MAMP
Комплект MAMP серверного ПЗ від німецького розробника має платну і безкоштовну версії (GNU GPL ліцензія). У платний комплект входить додаткове ПЗ для обробки DNS записів, мобільного тестування і хмарної інтеграції. Підтримувані версії ОС - MacOS і Windows.
Комплект має такий склад:
- Веб-сервер Apache;
- СУБД MySQL;
- Системи програмування PHP, Perl, Python.
Попередні вимоги до встановлення
На сайті розробника наведено такі обов'язкові вимоги до локальної системи:
- ОС Windows 10 і вище;
- RAM 1GB і вище;
- .NET Framework 4.0+.
Завантаження програми
Завантажити потрібну версію програми на домашній комп'ютер можна з сайту розробника (див. скрін).
Запуск установника
Для ініціалізації процесу автоматичної інсталяції програми слід двічі клацнути на завантаженому на попередньому етапі файлу інсталятора: setup_MAMP_MAMP_PRO_4.x.exe (у разі версії PRO) і дотримуватися інструкцій майстра інсталяції.
Запуск сервера і перевірка його роботи
Після завершення встановлення запустити MAMP можна за допомогою значка програми в головному меню робочого столу вашого ПК. При цьому з'явиться вікно керування програмою, наведене нижче.
Тут можна побачити три кнопки керування сервером:
- Preferences - дає змогу встановити потрібні параметри роботи сервера;
- Open start page - відкриває стартову сторінку веб-сервера;
- Start Servers / Stop Servers - запуск/зупинка служб сервера.
При виборі кнопки управління Preferences з'явиться вікно налаштувань, наведене нижче.
Вікно містить пункти меню для керування роботою локального сервера, портами, конфігурацією PHP, налаштуваннями веб-сервера і СУБД MySQL. Нижче наведено вміст кожної із закладок меню вікна Preferences.
Стартова сторінка сервера розташована за адресою : http://localhost/mamp. Для її відкриття достатньо виконати перехід за кнопкою керування Open start page вікна керування MAMP. Стартова сторінка містить такі пункти меню керування:
- Start;
- My Website;
- phpInfo;
- Tools.
Для створення / редагування баз даних слід у меню Tools вибрати інструмент адміністрування phpMyAdmin (див. скрін).
Веб-адреса інструменту : http://localhost/phpmyadmin/.
Для перегляду інформації про конфігурацію препроцесора PHP слід скористатися інструментом phpInfo, клікнувши по кнопці з однойменною назвою.
Щоб перевірити роботу веб-сервера, потрібно переконатися, що ваш локальний сайт працює коректно. Для його відкриття слід скористатися пунктом головного меню My Website. У разі використання порту 8888 його веб-адреса буде такою:
У разі використання 80-го порту сайт можна знайти за адресою http://localhost. Якщо веб-ресурс коректно відображається на екрані монітора, отже, веб-сервер налаштовано правильно.
Ручне налаштування Apache/MySQL/PHP
Встановлення компонентів окремо займає більше часу і вимагає чималого досвіду для їх налаштування. Наведемо тут короткі рекомендації з конфігурування стека технологій: Apache + PHP + MySQL для можливості їхньої спільної роботи на ОС Windows 8.1 64-bit.
Налаштування Apache
Для початку, підготуємо структуру каталогів:
D:\LocalS\ – головна директорія проекту
D:\LocalS\inst – для встановлення компонентів стека
D:\LocalS\site – для сайтів
D:\LocalS\inst\apache\
D:\LocalS\inst\php\
D:\LocalS\inst\mysql\
D:\LocalS\site\localhost\
D:\LocalS\site\localhost\public_html\
D:\LocalS\site\localhost\logs\
D:\LocalS\site\phpmyadmin\public_html\
Після цього розгорнемо архів із файлами веб-сервера в D:\LocalS\inst\apache\.
Відредагуємо конфігураційний файл httpd.conf:
# визначаємо директорію для веб-сайтів
DocumentRoot “D:/LocalS/site”
# встановлюємо дозволені формати індексних файлів
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm index.shtml
# налаштовуємо логи
ErrorLog “D:/LocalS/site/logs/error.log”
CustomLog “D:/LocalS/site/logs/access.log”
# налаштовуємо cgi
<IfModule alias_module>
ScriptAlias /cgi-bin/“D:/LocalS/inst/apache/cgi-bin/”
<Directory “D:/LocalS/inst/apache/cgi-bin”>
AllowOverride None
Options None
Require all granted
# налаштовуємо різні формати файлів
<IfModule mime_module>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# додатково включаємо httpd-файли конфігурації:
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
<IfModule headers_module>
RequestHeader unset DNT env=bad_DNT
<IfModule setenvif_module>
BrowserMatch "MSIE 10.0;" bad_DNT
Редагуємо httpd-autoindex.conf:
Alias /icons/ "d:/LocalS/inst/apache/"
<Directory "D:/LocalS/inst/apache/icons">
Options Indexes MultiViews
AllowOverride None
Require all granted
Очистимо наявний файл httpd-vhosts.conf і внесемо в нього такі налаштування:
<VirtualHost phpmyadmin:80>
DocumentRoot "D:/LocalS/site/phpmyadmin/public_html"
ServerName localhost
ErrorLog "D:/LocalS/site/phpmyadmin/logs/error.log"
CustomLog "D:/LocalS/site/phpmyadmin/logs/access.log" common
Редагуємо httpd-mpm.conf:
<IfModule !mpm_netware_module>
PidFile “D:/LocalS/inst/apache/logs/httpd.pid”
Редагуємо httpd-manual.conf:
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "D:/LocalS/inst/apache/manual$1"
<Directory "D:/LocalS/inst/apache/manual">
Основні налаштування веб-сервера виконано, однак для ввімкнення потрібних режимів роботи з препроцесором PHP додатково слід керуватися цією інструкцією від розробників.
Налаштування PHP
Для підготовки препроцесора PHP до роботи необхідно виконати вимоги до встановлення в Windows, після чого виконати такі дії:
- Розгорнути архів 64-х розрядної версії PHP у директорію D:\LocalS\inst\php\;
- У цій самій директорії створити каталоги upload і tmp;
- Перейменувати php.ini-development у php.ini;
- Відредагувати php.ini в будь-якому текстовому редакторі.
Налаштування MySQL
Послідовність дій має бути такою:
- Розгорнути скачаний ZIP-архів Windows (x86, 64-bit) у директорію D:\LocalS\inst\mysql\;
- Очистити вміст файлу D:\LocalS\inst\mysql\my-default.ini і внести до нього такі рядки:
[client]
port=3306
host=127.0.0.1
[mysqld]
port=3306
bind-address=127.0.0.1
enable-named-pipe
basedir="D:/LocalS/inst/mysql/"
datadir="D:/LocalS/inst/mysql/data/"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3. Додати до системної змінної «PATH» такі шляхи:
4. D:\LocalS\inst\apache\bin;D:\LocalS\inst\mysql\bin
5. Встановити Apache як службу, для чого в командному рядку ввести: httpd -k install;
6. Встановити MySQL як службу, для чого в командному рядку ввести: exe --install MySQL --defaults-file=" D:\LocalS\inst\mysql\my-default. ini";
7. Встановити пароль для користувача СУБД за допомогою наступних команд: NET start MySQL; mysqladmin -u root password <НовийПароль>;
Додати у файл C:\Windows\System32\Drivers\etc\hosts такі рядки:
127.0.0.1 localhost
127.0.0.1 phpmyadmin;
8. Створити в каталозі D:\LocalS\ файл запуску сервера з ім'ям start-web.bat і внести
до нього такі рядки:
@echo off
NET start Apache2.4
NET start MySQL
Перевірка роботи сервера
Для перевірки роботи сервера слід виконати такі кроки:
1.Створити в директорії D:\LocalS\site\localhost\public_html\ файл з ім'ям php і внести в нього такі рядки з подальшим збереженням файлу:
<?php echo phpinfo();
?>
- Запустити сервер, виконавши файл start-web.bat від імені адміністратора;
- В адресному рядку браузера ввести: http://localhost .
Якщо завантажилася сторінка з інформацією про версію PHP - отже, все гаразд, сервер налаштовано. Залишається тільки встановити PhpMyAdmin для керування СУБД і можна працювати.