Коли починаються розмови про веб-розробку, я завжди кажу: у цій сфері зручніше та продуктивніше працювати із Linux, оскільки там все під руками і працює стабільніше. Але є ситуації, коли веб-розробнику потрібно працювати у Windows. Для таких ситуацій є декілька готових збірок локальних серверів (Apache, PHP, MySQL), які, зокрема, дозволяють на ходу обрати версію PHP чи MySQL, та мають багато інших зручних фішок. Та, на жаль, працюють вони, м'яко кажучи, досить сумно повільно. Тому сьогодні ми поговоримо про те, як оранізувати працездатний локальний сервер на Windows 10 та 11 своїми руками, з нуля.
Якщо ти бажаєш швидко налаштувати локальний сервер для розробки на PHP, але налаштовувати все вручну не наважуєшся, то пропоную встановити програму Laragon, яка зробить все те саме без жодних зайвих жестів, і по швидкодії не буде надто гіршою. Як це зробити, читай тут: Laragon: швидкий локальний сервер на Windows.
Підготовка
Отже, спробуємо підняти сервер Apache 2.4.66 із декількома версіями PHP (для тесту візьмемо дві версії – 7.4.33 та 8.1.16) та сервером баз даних MySQL. Також додамо до набору phpMyAdmin для зручного керування базами даних просто із браузера.
Приготуйся, що потрібно буде редагувати вміст деяких файлів, тому мусиш мати якийсь мінімальний текстовий редактор. В якості мінімального підійде й звичайний блокнот, але я мав на увазі не настільки мінімального 😂 Підійде VS Code або, принаймні, Notepad++ – ними можна редагувати файли від імені адміністратора, а це нам буде потрібно.
Створимо папку для сервера на диску D: та назвемо її, наприклад, web. У ній створимо ще 5 папок: apache, php, tmp, log і www. Остання служитиме робочою папкою для всіх наших майбутніх проєктів.
Встановлення Apache
Офіційні збірки Apache під Windows не випускаються, збірки готують окремі організації, найактивнішою з яких є Apache Lounge. Сам Apache працює по HTTP і у Windows працює як фоновий процес, а в Linux - як демон (англ. Daemon), звідки і назва HTTPD.
Перейди на сайт https://www.apachelounge.com/download та обери найновішу збірку Apache, розархівуй звантажений архів у папку D:\web\apache, але уважно – у папку повинен потрапити лише вміст папки Apache24 з архіву, тобто у папці D:\web\apache при відкриванні повинні відображатися папки bin, cgi-bin, conf і т. д.
Відкриваємо VS Code, Notepad++ чи який ти там маєш текстовий редактор, від імені адміністратора. Це потрібно для деяких наступних дій, але підготуємося завчасно.
У редакторі відкрий файл D:\web\apache\conf\httpd.conf, знайди у ньому рядок Define SRVROOT та запиши у нього шлях до папки з Apache, тобто "D:\web\apache".
У цьому ж файлі знайди рядок #ServerName www.example.com:80 та заміни його на ServerName localhost:80.
Також додай до змінних DocumentRoot та Directory шлях "D:\web\www". Файл поки-що не закривай.
Відкриваємо у тому ж редакторі файл C:\Windows\System32\drivers\etc\hosts – тут ми прописуємо всі віртуальні адреси наших локальних сайтів. Традиційно створимо 5 тестових сайтів: test1, test2, test3, test4 та test5. Робиться це так само, як і в Linux, додаємо новий сайт у новому рядку:
127.0.0.1 test1
127.0.0.1 test2
127.0.0.1 test3
127.0.0.1 test4
127.0.0.1 test5
Зберігаємо файл. Тепер створюємо одноіменні папки у попередньо створеній папці D:\web\www: test1, test2, test3, test4 та test5. Для подальшого тестування віртуальних хостів можеш створити у кожній папці по файлу:
- index.html із вмістом <h1>test1</h1> (test1 задаємо свій номер у кожній папці, або взагалі прописуємо щось інше, головне орієнтуватися, який файл у якій папці лежить). Цей файл дозволить протестувати роботу самого Apache – якщо ти, наприклад, перейдеш у браузері за адресою http://test3/index.html, то в тебе повинен відобразитися вміст файлу index.html із папки test3.
- info.php із кодом
<?php php_info() ?>. Цей файл дозволить протестувати роботу PHP-інтерпретатора. Якщо все ок, то згодом ти побачиш на сторінках створених локальних сайтів докладну інформацію про встановлений PHP.
Повертаємося до файлу D:\web\apache\conf\httpd.conf, знаходимо у ньому рядок #Include conf/extra/httpd-vhosts.conf та розкоментовуємо його (видаляємо решітку на початку). Тепер відкриваємо даний файл у редакторі (він знаходиться за шляхом D:\web\apache\conf\extra\httpd-vhosts.conf). Додаємо у нього записи про наші віртуальні хости:
Звичайно, замість your_email@gmail.com вказуєш свою електронну адресу. Такі ж записи дублюєш для інших хостів, замінюючи значення test1 на необхідне.
Також для зручності варто додати шлях до сервера у змінну оточення Windows:
Таким чином ми зможемо викликати команди для запуску та зупинки сервера без вказування повного шляху до файлу, а просто через httpd.exe.
Встановлення PHP
Переходимо на сайт https://windows.php.net/download та звантажуємо дві версії PHP, як і домовлялися: PHP 8.1.16 (VS16 x64 Thread Safe) та PHP 7.4.33 (VC15 x64 Thread Safe). Їх розпаковуємо у папки D:\web\php\php8 та D:\web\php\php7 відповідно (не забудь попередньо створити ці папки у D:\web\php).
Повертаємося до нашого відкритого файлу D:\web\apache\conf\httpd.conf, в самому низу додаємо рядки:
Ці записи дозволять автоматично вибирати версію PHP при запуску сервера.
У цьому ж файлі знаходимо рядок
Та доповнюємо отак:
Цей крок підказуватиме серверу, що треба спочатку шукати на сайтах файл index.php, а тільки у випадку, коли він не знайдений, шукати index.html. Також для правильного розпізнавання сервером PHP-файлів варто додати в httpd.conf наступний рядок:
Також не забудь розкоментувати в кожній версії PHP необхідні тобі розширення (прибираємо крапку з комою на початку рядка):
Та вкажи повний шлях до папки з розширеннями на всяк випадок – в мене, наприклад, вони без цього не хотіли працювати:
потрібно замінити на:
Скрипти для швидкого доступу
Прийшов час для встановлення Apache. Так, ми щойно тільки налаштували його роботу, але ще не встановили. Оскільки в майбутньому нам доведеться на льоту змінювати версію PHP, то відразу пропишемо невеличкі скрипти для переключення версій. Але перед тим встановимо обидва варіанти сервера. Для цього запускаємо камандний рядок від імені адміністратора та виконуємо в ньому наступні дві команди:
Після цього в папці D:\web створюємо файл php7.cmd та прописуємо у ньому наступне:
В цьому ж місці створюємо файл php7.cmd із схожим вмістом:
Тепер створюємо ярлики для виществорених скриптів, наприклад, просто на робочому столі, і у властивостях ярликів виставляємо запуск від імені адміністратора:
Тепер при запуску відповідного скрипта запускатиметься відповідний сервер із своєю версією PHP.
Сервер MySQL
Із MySQL-сервером все набагато простіше: переходимо на офіційний сайт MySQL, звантажуємо та встановлюємо найновішу версію (я обирав повну версію, ти ж можеш обрати веб-версію, результат буде однаковим, тільки у веб-версії MySQL звантажується вже під час встановлення).
Насправді я пишу статтю, одночасно встановлюючи всі елементи сервера і перевіряючи все, тому виявилося, що MySQL встановити не так вже й просто, ящо в цьому не дуже розбираєшся – налаштувань при встановленні мільйон 😂 Тому просто подаю для прикладу картинки, роби все так само, і не помилишся.
Для роботи із MySQL після встановлення пропонується аж два варіанти замість стандартного командного рядка, але якщо ти колись захочеш попрацювати таки із стандартним командним рядком, то мусиш також додати MySQL до змінної оточення PATH. Як це робити, я вже показував вище, шлях вказуємо такий: C:\Program Files\MySQL\MySQL Server 8.0\bin.
Нагадаю, стандартно вхід в MySQL відбувається через команду
mysql -u root -p.
phpMyAdmin
Не хлібом командним рядком єдиним... Для зручної роботи з базами даних кожен не "нинішній" розробник користується відповідним софтом. Для мене досить зручним варіантом є веб-версія керування базами даних, а саме phpMyAdmin. Встановлюється дуже просто: з офіційного сайту звантажуєш архів, розпаковуєш його кудись, звідки його може "прочитати" сервер, і готово. Наприклад, я створюю для цього додатковий локальний сайт (папку C:/web/www/phpmyadmin) та маю доступ до phpMyAdmin за адресою http://phpmyadmin.
Зверни увагу – у папці C:/web/www/phpmyadmin повинен знаходитися вже розархівований список файлів та папок типу doc, examples, js і т. д., а не ще одна вкладена папка типу phpMyAdmin-5.2.1-all-languages. Уважно перевір, це бо не працюватиме. Після копіювання прописуєш домен phpmyadmin в C:\Windows\System32\drivers\etc\hosts, а також додаєш запис у файл C:\web\apache\conf\extra\httpd-vhosts.conf. Після цього не забудь перезавантажити сервер Apache.
Висновок
Встановити та налаштувати локальний сервер у Windows 10 та 11 – не такий вже й легкий процес, але якщо після всього, що тут описано, він в тебе таки запрацював – можеш гордитися собою, і я теж за тебе радий! Ми, розробники, легких шляхів не шукаємо, а шукаємо ідеальні 😉
Заходь сюди частіше, нехай мої статті приносять тобі користь!

Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.