Цей перелік допоможе безпечно запустити сайт чи невеликий онлайн-сервіс на власному VPS без зайвої технічної складності.
Кроки підходять для популярних Linux-дистрибутивів (Debian/Ubuntu, AlmaLinux/Rocky).
Як користуватися: спочатку прочитайте коротке пояснення кроку, а потім, за потреби, відкрийте “Приклад/де це зробити” у розділі нижче.
Якщо щось складно — зверніться до підтримки провайдера або вашого адміністратора.
1. Отримайте доступ до сервера
Після оплати збережіть IP-адресу, логін і спосіб входу (SSH/панель). Не передавайте їх третім особам.
Приклад / де це зробити:
У листі від провайдера або в Особистому кабінеті. Для Windows — відкрийте PuTTY, у поле Host Name введіть IP, натисніть Open.
2. Оновіть систему
Оновлення закривають відомі вразливості та готують сервер до встановлення програм.
Приклад / безпечна команда:
# Для Debian/Ubuntu:
sudo apt update && sudo apt upgrade -y
# Для AlmaLinux/Rocky:
sudo dnf upgrade -y
3. Створіть окремого адміністративного користувача
Не працюйте постійно під “root”. Окремий користувач знижує ризики випадкових помилок.
Приклад:
# Створити користувача і додати до групи адміністраторів:
sudo adduser myadmin
sudo usermod -aG sudo myadmin # Debian/Ubuntu
sudo usermod -aG wheel myadmin # AlmaLinux/Rocky
4. Захистіть вхід на сервер
Рекомендуємо вхід за SSH-ключем і вимкнути парольний вхід. Якщо це поки складно — використовуйте довгий унікальний пароль.
Приклад:
# Згенерувати ключі на своєму ПК:
ssh-keygen -t ed25519 -C "ваш email"
# Завантажити публічний ключ на сервер:
ssh-copy-id myadmin@IP_вашого_VPS
5. Налаштуйте час і часовий пояс
Коректний час важливий для журналів, сертифікатів і планувальника завдань.
Приклад:
sudo timedatectl set-timezone Europe/Kyiv
sudo timedatectl set-ntp true
6. Дозвольте лише необхідні підключення (фаєрвол)
Відкрийте SSH та веб-порти (80/443), решту закрийте.
Приклад (UFW, Debian/Ubuntu):
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status
7. Додайте свій домен
Створіть записи A/AAAA у вашому реєстраторі або панелі DNS, щоб домен “вказував” на VPS.
Приклад:
Створіть A-запис: @ → ваш_IP, та (за потреби) www → ваш_IP. Застосування змін у DNS може тривати до 24 годин.
8. Отримайте безкоштовний SSL-сертифікат
Для https:// використовуйте Let’s Encrypt. У більшості панелей це одна кнопка.
Приклад (без панелі):
# Встановити Certbot (приклад для Ubuntu):
sudo apt install -y certbot
# Отримати сертифікат для Nginx або Apache:
sudo certbot --nginx -d example.com -d www.example.com
# або
sudo certbot --apache -d example.com -d www.example.com
9. Встановіть вебсервер і PHP
Для WordPress/схожих CMS підійде Nginx або Apache з PHP.
Приклад:
# Ubuntu:
sudo apt install -y nginx php-fpm
# AlmaLinux/Rocky:
sudo dnf install -y nginx php-fpm
# Запустити та додати в автозавантаження
sudo systemctl enable --now nginx php-fpm
10. Підготуйте базу даних
Створіть окремого користувача і БД для сайту. Це безпечніше, ніж працювати під “root”.
Приклад (MySQL/MariaDB):
sudo mysql_secure_installation
mysql -u root -p
CREATE DATABASE site_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'довгий_пароль';
GRANT ALL PRIVILEGES ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;
11. Увімкніть резервні копії
Налаштуйте щоденні бекапи сайту й БД. Зберігайте копії поза сервером, якщо можливо.
Приклад:
# Простий дамп БД (cron, щодня):
mysqldump -u site_user -p'пароль' site_db > /var/backups/site_db_$(date +%F).sql
# Резервна копія каталогу сайту:
tar -czf /var/backups/site_files_$(date +%F).tar.gz /var/www/example.com
12. Автоматичні оновлення безпеки
Ввімкніть автоматичні оновлення для безпекових пакунків, щоб не пропускати важливі латки.
Приклад:
# Ubuntu (unattended-upgrades):
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
13. Базовий захист від підбору паролів
Увімкніть блокування після серії невдалих входів (де доступно) або попросіть підтримку допомогти.
Приклад (Fail2Ban для SSH):
# Ubuntu:
sudo apt install -y fail2ban
# Запуск:
sudo systemctl enable --now fail2ban
14. Налаштуйте надсилання пошти із сайту
Краще використати зовнішній SMTP-сервіс (або пошту у провайдера), додати SPF/DKIM у DNS для кращої доставлюваності.
Приклад:
У CMS/плагіні вкажіть дані свого SMTP-акаунта (сервер, порт, логін/пароль, TLS). Додайте запис SPF у DNS (тип TXT) з дозволом на відправку через ваш SMTP-сервіс.
15. Зробіть коротку документацію
Опишіть, де зберігаються доступи, як робити бекап/відновлення, як оновлювати систему та куди звертатись у разі проблем.
Швидкий шаблон:
• Доступи: IP, SSH-користувач, місце зберігання SSH-ключа, доступ до панелі
• Домен і DNS: хто реєстратор, де редагуються записи
• Сертифікати: дата закінчення, чим випущені (Let’s Encrypt)
• Бекапи: де зберігаються, як відновити
• Оновлення: періодичність, відповідальний
• Контакти: підтримка провайдера, адміністратор
Фінальна самоперевірка: сайт відкривається по https, домен правильно “вказує” на сервер, резервні копії створюються, у панелі немає помилок, фаєрвол дозволяє лише потрібні сервіси.
