Brzi start: sajt za 15 minuta
Od čiste mašine do radnog nginx sajta sa HTTPS sertifikatom: instalacija, direktorijum sajta, domen, firewall i provera.
Ažurirano 23. avgust 2026.
Scenario: sveža Debian ili Ubuntu instalacija, sopstveni domen i cilj da vidiš svoju stranicu preko HTTPS-a. Sve komande se pokreću kao root preko SSH-a.
1. Instaliraj nginx
apt update && apt install -y nginx
systemctl enable --now nginx
Otvori http://your-address u pregledaču — trebalo bi da vidiš dobrodošlicu. Ako se ne pojavi, proveri firewall (korak 3).
Na AlmaLinux-u koristi dnf umesto apt; pogledaj AlmaLinux.
2. Usmeri domen
U panelu svog registrara dodaj A zapis sa adresom mašine iz kartice „Overview”:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
Proveri da li domen razrešava na ispravnu adresu:
apt install -y dnsutils
dig +short example.com
Ažuriranje zapisa traje od minut do nekoliko sati. Dok dig vraća staru adresu, nećeš moći da izdaš sertifikat.
3. Otvori portove
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Prvo
allow OpenSSH, paenable. Obrnut redosled će ti prekinuti pristup i moraćeš da se prijaviš preko tekstualne konzole.
4. Napravi sajt
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
Konfiguracija u /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;
}
}
Omogući i primeni:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t je obavezan: proverava konfiguraciju pre restarta. Ako se izlaz ne završava sa syntax is ok i test is successful, ne restartuj servis — prvo ispravi grešku.
5. Izdaj sertifikat
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot će tražiti imejl, dodati listen 443 ssl blok i podesiti HTTP preusmeravanje. Obnavljanje se podešava automatski; možeš da ga proveriš ovako:
certbot renew --dry-run
Šta najčešće pođe naopako
| Simptom | Uzrok |
|---|---|
| Pregledač ne otvara sajt | Port 80 ili 443 je zatvoren u ufw |
Certbot: Timeout during connect | Domen još ne pokazuje na mašinu ili je port 80 zatvoren |
502 Bad Gateway | nginx prosleđuje zahtev aplikaciji koja ne radi — proveri systemctl status za svoj servis |
403 Forbidden | Nema dozvola na direktorijumu ili nedostaje index.html |
| Podrazumevana nginx stranica umesto tvoje | /etc/nginx/sites-enabled/default nije uklonjen |
Logovi za bilo koji od ovih problema:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
Zatim bi trebalo da se pozabaviš osnovnom bezbednošću uz checklistu za prvi sat ako je već nisi prošao.