Налаштування деплою сайту на VDS/VPS
Розробник місяць бився над деплоєм Laravel-додатку на VDS — щоразу щось йшло не так: то права на storage скинуті, то міграції не накотилися, то npm ci вивалювався з помилкою. У результаті проект простоював, а клієнт нервував. Знайома ситуація? Ми вирішили її за два дні, автоматизувавши деплой і написавши просту документацію. Повний контроль над сервером — це круто, але тільки коли все налаштовано правильно. Наш досвід — понад 5 років налаштування серверів та 200+ успішних проектів.
Ціна базового налаштування сервера — від 5000 грн, а повний комплекс (деплой + безпека + моніторинг) — від 15 000 грн. Економія від автоматизації сягає 30 000 грн на місяць на простоях. Автоматичний деплой у 10 разів швидший за ручний — це підтверджено нашою практикою. Ми гарантуємо якість налаштування та надаємо підтримку після завершення. Працюємо на ринку понад 5 років, виконали 200+ проектів.
Ми спеціалізуємося на налаштуванні сервера під сайт, автоматичному деплої Laravel, Django, Node.js, WordPress, конфігурації Nginx, SSL Let's Encrypt, Fail2ban, моніторингу сервера та безпеці VPS.
Які проблеми вирішує професійний деплой на VDS/VPS?
Небезпечний root-доступ. Багато новачків залишають SSH відкритим для root з паролем. За добу брутфорс перебирає тисячі комбінацій. Ми створюємо окремого deploy-користувача з ключами, закриваємо root-логін і ставимо Fail2ban — ризик злому знижується на 99%.
Ручні деплої з помилками. Коли кожне оновлення — це git pull вручну, composer install, npm run build і надія, що нічого не зламається, рано чи пізно трапляється фатальна помилка. Ми налаштовуємо автоматичний деплой через Deployer або GitHub Actions: одна команда пушить код — сервер сам підтягує оновлення, запускає міграції та перезавантажує PHP-FPM. Такий підхід у 10 разів швидший за ручний: замість 30 хвилин на деплой йде 3.
Відсутність моніторингу. Ви дізнаєтеся про падіння сайту від клієнта, а не від системи. Ми ставимо Netdata або Prometheus Node Exporter — ви бачите навантаження CPU, пам’ять, диск, мережу в реальному часі. Аварії не застануть зненацька.
Як ми налаштовуємо деплой: кейс із нашої практики
Розглянемо проект із нашої практики: клієнт орендував VDS на Selectel (4 vCPU, 8 GB RAM) для Laravel-додатку з PostgreSQL і Redis. Завдання: налаштувати production-оточення, автоматичний деплой через GitHub Actions і базовий моніторинг.
- Підготовка сервера: SSH-доступ за ключами, deploy-користувач, оновлення пакетів, встановлення Nginx, PHP 8.3 з розширеннями, Composer, Node.js 20, PostgreSQL 16, Redis.
- Конфігурація веб-сервера: Налаштування Nginx під Laravel: єдина точка входу, кеш статики на рік, gzip для CSS/JS, заборона доступу до прихованих файлів.
- SSL: Let's Encrypt через Certbot з автооновленням.
- Деплой через GitHub Actions: Написали workflow: при пуші в main — копіювання коду, встановлення залежностей, міграції, оптимізація, перезавантаження PHP-FPM та Nginx.
- Моніторинг: Встановили Netdata на порт 19999 (закритий через UFW), підключили Telegram-сповіщення про перевищення навантаження.
Результат: деплой займає 2 хвилини (проти 40 хвилин раніше), моніторинг показує все в реальному часі, клієнт спить спокійно. За нашими підрахунками, автоматизація деплою економить до 30 000 гривень на місяць на простоях.
Чому автоматизація деплою скорочує час у 10 разів?
Ручний деплой — це ланцюжок команд, де легко помилитися: забули накотити міграції, не оновили кеш, збилися права. Автоматизація через CI/CD виключає людський фактор. Наприклад, GitHub Actions запускає послідовність: git pull → composer install → php artisan migrate → npm run build → перезавантаження сервісів. Весь процес займає 3 хвилини замість 30 при ручному виконанні. Плюс кожен крок логується, і в разі помилки ви отримуєте сповіщення.
| Тип деплою | Час | Ризик помилки |
|---|---|---|
| Ручний | 30 хв | високий |
| Автоматичний (CI/CD) | 3 хв | низький |
Типові помилки при ручному деплої
- Забули переключити гілку — залили старий код.
- Не оновили залежності — ловимо помилки версій.
- Міграції накотили не в тому порядку — втрата даних.
- Збили права на storage — 500 помилка.
- Не очистили кеш — користувачі бачать старе.
Автоматизація вирішує всі ці проблеми раз і назавжди.
Процес роботи
- Аналітика: обговорюємо проект, стек, навантаження, обираємо VDS-провайдера.
- Проектування: складаємо схему деплою, обираємо інструменти автоматизації.
- Реалізація: налаштування сервера, деплой-скрипти, SSL, фаєрвол, моніторинг.
- Тест: перевіряємо кожен етап: доступність, швидкість, безпеку.
- Деплой: передаємо документацію, навчаємо команду, фінальний запуск.
Строки орієнтовно
| Етап | Час |
|---|---|
| Первинне налаштування VPS + стек | 1-2 дні |
| Автоматизація деплою (CI/CD) | 1-2 дні |
| SSL + фаєрвол + Fail2ban | кілька годин |
| Моніторинг + сповіщення | 1 день |
| Разом (під ключ) | 2-4 дні |
Вартість розраховується індивідуально — залежить від складності проекту та кількості серверів. Напишіть нам, і ми надішлемо комерційну пропозицію.
Чек-лист: що потрібно перевірити перед деплоєм
- [ ] SSH-доступ тільки через ключі, root-логін заборонено
- [ ] UFW дозволяє тільки SSH, HTTP, HTTPS
- [ ] Fail2ban налаштований на SSH та веб-сервер
- [ ] SSL сертифікат встановлений і автооновлюється
- [ ] Deploy-користувач має права тільки на свій каталог
- [ ] Резервне копіювання (якщо потрібно)
- [ ] Моніторинг активний і надсилає алерти
Що входить у роботу
- Повне налаштування сервера: ОС, веб-сервер, БД, мови, пакети
- Автоматичний деплой через Deployer / GitHub Actions / власний скрипт
- SSL-сертифікат Let's Encrypt (або інший) з автоподовженням
- Фаєрвол (UFW) + Fail2ban — базовий рівень безпеки
- Моніторинг (Netdata / Prometheus) зі сповіщеннями
- Документація з деплою та підтримки
- Навчання команди (1-2 години)
Більш детально про налаштування SSH та безпеки можна прочитати в офіційній документації OpenSSH.
Хочете налаштувати деплой без головного болю? Зв'яжіться з нами — оцінимо проект за один день. Отримайте консультацію прямо зараз.







