Skip to content
VDS · Початок роботи

Швидкий старт: сайт за 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 Gatewaynginx проксіює на застосунок, який не запущений — перевірте 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

Далі варто подбати про базову безпеку за допомогою чекліста першої години, якщо ви ще не проходили його.