Швидкий старт: сайт за 15 хвилин
Від чистої машини до робочого сайту на nginx з HTTPS-сертифікатом: встановлення, каталог сайту, домен, фаєрвол і перевірка.
Оновлено 23 серпня 2026 р.
Сценарій: чиста інсталяція Debian або Ubuntu, власний домен і мета — побачити свою сторінку через HTTPS. Усі команди виконуються від імені root через SSH.
1. Встановіть nginx
apt update && apt install -y nginx
systemctl enable --now nginx
Відкрийте http://your-address у браузері — ви маєте побачити вітальну сторінку. Якщо вона не з'являється, перевірте фаєрвол (крок 3).
На AlmaLinux використовуйте dnf замість apt; дивіться AlmaLinux.
2. Спрямуйте домен
У панелі вашого реєстратора додайте A-запис з адресою машини з вкладки «Огляд»:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
Перевірте, що домен резолвиться на правильну адресу:
apt install -y dnsutils
dig +short example.com
Оновлення записів триває від хвилини до кількох годин. Поки dig повертає стару адресу, ви не зможете випустити сертифікат.
3. Відкрийте порти
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Спочатку
allow OpenSSH, потімenable. Зворотний порядок обірве ваш доступ, і вам доведеться заходити через текстову консоль.
4. Створіть сайт
mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com
Конфігурація в /etc/nginx/sites-available/example.com:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Увімкніть і застосуйте:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t обов'язковий: він перевіряє конфіг перед перезапуском. Якщо вивід не закінчується на syntax is ok і test is successful, не перезапускайте службу — спершу виправте помилку.
5. Випустіть сертифікат
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot запитає email, додасть блок listen 443 ssl і налаштує перенаправлення з HTTP. Поновлення налаштовується автоматично; перевірити його можна так:
certbot renew --dry-run
Що найчастіше йде не так
| Симптом | Причина |
|---|---|
| Браузер не відкриває сайт | Порт 80 або 443 закритий у ufw |
Certbot: Timeout during connect | Домен ще не вказує на машину, або порт 80 закритий |
502 Bad Gateway | nginx проксіює на застосунок, який не запущений — перевірте systemctl status для вашої служби |
403 Forbidden | Немає прав на каталог, або відсутній index.html |
| Стандартна сторінка nginx замість вашої | /etc/nginx/sites-enabled/default не видалено |
Логи для будь-якої з цих проблем:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
Далі варто подбати про базову безпеку за допомогою чекліста першої години, якщо ви ще не проходили його.