Podešavanje Ubuntu VPS-a: od SSH-a do HTTPS stranice
Na novom Ubuntu 24.04 LTS VPS-u objavite malu statičku stranicu preko Nginxa i HTTPS-a. Pripremite zasebnog administratora, SSH ključ, obnovu certifikata i provjeru poslije ponovnog pokretanja. Postupak je namijenjen novom probnom serveru, ne nekontrolisanoj izmjeni aktivne stranice.
VPSuntu · Ažurirano: · Čitanje: približno 5 min
Sadržaj vodiča
Pripremite server, domenu i pristup za oporavak
Potrebni su novi Ubuntu 24.04 VPS, konzola pružaoca i domena čije DNS zapise možete mijenjati. 203.0.113.10 i example.com su dokumentacijski primjeri: zamijenite ih stvarnom adresom i domenom. Ovdje DNS ide direktno prema serveru, a SSH koristi port 22.
Lokalne naredbe koriste Bash na vašem računaru; naredbe nakon prijave izvršavaju se na Ubuntu serveru. Na Windowsu koristite odgovarajući Bash/WSL ili prilagodite terminal. Prije promjene SSH-a ili firewalla provjerite pristup konzoli za oporavak. Na Oracle Cloud Ubuntu imageu preskočite UFW blok i sačuvajte postojeća iptables pravila; OCI zahtijeva poseban mrežni postupak.
Napravite ključ ili ga dodajte kroz postojeći pristup
Na svom računaru napravite zaseban ključ i odaberite zaštitnu frazu. Ako datoteka tog imena postoji, ne prepisujte je: izaberite drugo ime i koristite ga u narednim koracima. .pub datoteka je javna; privatni ključ ostaje kod vas.
mkdir -p ~/.ssh
ssh-keygen -t ed25519 -f ~/.ssh/ubuntu_vps
cat ~/.ssh/ubuntu_vps.pubZa novi VPS: prilikom kreiranja Ubuntu 24.04 servera unesite javni ključ u polje pružaoca za SSH ključeve. Provjerite početno korisničko ime, pa nastavite na provjeru host fingerprinta. Naredne dvije naredbe za postojeći server tada preskočite.
Za već kreiran prazan VPS: ostavite uspješnu SSH sesiju otvorenu. Iz drugog lokalnog terminala prenesite novi javni ključ koristeći postojeću autentifikaciju. existing_vps_key zamijenite putanjom sadašnjeg privatnog ključa. Ako pristup trenutno koristi lozinku ili SSH agent, izostavite -i ~/.ssh/existing_vps_key; ne mijenjajte serversku politiku autentifikacije.
scp -i ~/.ssh/existing_vps_key ~/.ssh/ubuntu_vps.pub ubuntu@203.0.113.10:ubuntu-vps-admin.pubSljedeću naredbu izvršite u još otvorenoj sesiji na serveru. Ona dopisuje ključ u authorized_keys, čuva postojeće ključeve i pravilno odvaja novu liniju.
if ssh-keygen -lf ~/ubuntu-vps-admin.pub; then
mkdir -p ~/.ssh
chmod 700 ~/.ssh
printf '\n' >> ~/.ssh/authorized_keys
cat ~/ubuntu-vps-admin.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
fiPrije nove veze provjerite fingerprint javnog host ključa kroz pouzdanu konzolu pružaoca. To je identitet servera, a ne vaš korisnički SSH ključ.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pubSa računara otvorite novu vezu. Prihvatite host ključ samo ako se tip i fingerprint podudaraju sa konzolom. Ako ne odgovaraju, zaustavite se i provjerite instancu i IP.
ssh -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10U novoj sesiji provjerite korisnika i sudo pristup. Još ne zatvarajte prethodnu radnu sesiju.
scp -i ~/.ssh/ubuntu_vps ~/.ssh/ubuntu_vps.pub ubuntu@203.0.113.10:ubuntu-vps-admin.pubDodajte administratora i zasebno provjerite prijavu
Kroz postojeću administratorsku sesiju na serveru napravite korisnika iz primjera. deploy je novo ime: ako već postoji, prvo pregledajte račun i ne zamjenjujte njegove postavke. Odaberite snažnu lozinku koja se ne koristi drugdje.
cat /etc/os-release
free -h
df -h /
sudo apt update
sudo apt upgrade
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo install -m 600 -o deploy -g deploy ~/ubuntu-vps-admin.pub /home/deploy/.ssh/authorized_keysInstalirajte javni ključ u direktorij novog administratora sa odgovarajućim vlasnikom i dozvolama.
ssh -i ~/.ssh/ubuntu_vps deploy@203.0.113.10Otvorite još jedan terminal na računaru, prijavite se kao deploy i testirajte sudo. Stari pristup ostavite dok nova prijava i prava ne budu provjereni.
sudo whoamiInstalirajte Nginx i koristite podržani firewall
Na serveru, kroz provjerenog administratora, osvježite pakete, pregledajte nadogradnju i instalirajte Nginx. Pročitajte pitanja o izmjeni konfiguracije.
sudo apt install nginx
sudo systemctl enable --now nginxSljedeći UFW blok važi samo za novi obični Ubuntu image na kojem pružalac podržava UFW. Prvo se dozvoljava SSH. Cloud firewall ili security group također mora dopustiti stvarni SSH port te 80 i 443 za web stranicu. SSH ograničite na vlastiti javni IP gdje je primjenjivo.
Ovaj UFW blok nemojte izvršavati na Oracle Cloud Ubuntu imageu. Sačuvajte isporučena iptables i neophodna iSCSI pravila. OCI security list/NSG i firewall unutar sistema podesite prema dokumentaciji pružaoca.
sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verboseNakon mrežne promjene pokušajte novu SSH prijavu iz drugog terminala. Ako ne uspije, koristite otvorenu sesiju ili konzolu da provjerite upravo promijenjeno pravilo.
Objavite stranicu u zasebnoj Nginx konfiguraciji
Na novom probnom VPS-u napravite direktorij domene i statičku stranicu. Zamijenite example.com vlastitom domenom na svim potrebnim mjestima.
sudo install -d -m 755 /var/www/first-site
printf '%s\n' '<!doctype html><html lang="en"><title>First deployment</title><h1>Ubuntu VPS is serving this page</h1></html>' | sudo tee /var/www/first-site/index.html
sudo tee /etc/nginx/sites-available/first-site >/dev/null <<'EOF'
server {
listen 80;
listen [::]:80;
server_name app.example.com;
root /var/www/first-site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/first-site /etc/nginx/sites-enabled/first-site
sudo nginx -tNapišite zasebnu konfiguracijsku datoteku. Navodnici oko heredoc oznake čuvaju $uri od shell zamjene: to mora ostati Nginx varijabla.
sudo systemctl reload nginxOmogućite stranicu, provjerite konfiguraciju i uradite reload samo ako provjera prođe. Na aktivnom serveru ne uklanjajte tuđe konfiguracije ili podrazumijevanu stranicu bez pregleda; ovaj primjer polazi od novog testnog VPS-a.
curl --resolve app.example.com:80:203.0.113.10 http://app.example.com/curl --resolve usmjerava HTTP provjeru na odabrani IP uz ispravan Host, čak i prije DNS promjene. Potvrdite da dolazi vaša stranica, a ne početna Nginx poruka.
Povežite DNS i izdajte HTTPS certifikat
A zapis usmjerite na javni IPv4 VPS-a. AAAA dodajte samo ako IPv6 put do stranice zaista radi; stari ili neispravan AAAA može pokvariti provjeru. DNS i HTTP provjerite sa drugog računara.
Instalirajte Certbot i Nginx dodatak iz Ubuntu repozitorija, uz Universe gdje je potreban. Unesite svoju domenu i stvarni email te pročitajte ponuđene uslove. Certbot će mijenjati Nginx konfiguraciju.
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.example.com --redirect
sudo nginx -t
sudo certbot renew --dry-run
systemctl list-timers --all certbot.timerProvjera obnove sa dry-run treba proći, a systemd timer biti aktivan. Za HTTP-01 obnovu ne zatvarajte port 80. Izdat certifikat sam po sebi ne dokazuje da sve funkcije aplikacije rade.
Provjerite vanjski pristup i povratak nakon restarta
Izvršite provjere na označenom mjestu: vanjski HTTPS sa računara, a Nginx i timer na serveru. Ne preskačite TLS validaciju opcijom -k.
curl -I http://app.example.com/
curl -I https://app.example.com/
curl -fsS https://app.example.com/Ponovo pokrenite samo novi probni server; produkcijsku uslugu ne restartujte bez plana. Nakon povratka provjerite novu SSH prijavu, Nginx, vanjski HTTPS, odgovarajuću domenu i certifikat. Ako naknadno dodate runtime ili bazu, provjerite automatsko pokretanje i zdravlje tih servisa.
Razdvojite greške i sačuvajte postupak oporavka
Na manjem ekranu pomjerite tabelu vodoravno da vidite sve kolone.
| Simptom | Prva provjera |
|---|---|
| SSH timeout | Adresa, firewall pružaoca i sistema, konzola za oporavak |
| Permission denied (publickey) | Korisnik, privatni ključ i dozvole authorized_keys |
| Prikazuje se podrazumijevana Nginx stranica | DNS cilj, server_name i aktivna konfiguracija |
| Provjera certifikata ne prolazi | Javni A/AAAA zapisi i port 80 |
| Nginx ne radi nakon izmjene | sudo nginx -t i sudo journalctl -u nginx -n 50 --no-pager |
Kod gubitka pristupa prvo pratite SSH dijagnostiku, umjesto nasumične izmjene mreže, servisa i ključeva.
Izvan VPS-a čuvajte datoteke stranice, Nginx konfiguraciju, DNS zapise i korake ponovnog postavljanja. Vježba vraćanja sigurnosne kopije provjerava datoteke; cijeli servis dodatno oporavite u odvojenom okruženju.
Česta pitanja
Mogu li ovo izvršiti na serveru postojeće stranice?
Prvo koristite zaseban probni VPS. Primjer piše datoteke, uključuje firewall i dozvoljava Certbotu izmjenu Nginxa. Aktivni server zahtijeva pregled postojećih stranica, pristupnih pravila i oporavka.
Da li postupak instalira WordPress, Node.js ili bazu?
Ne. Rezultat je statička HTTPS stranica. Sačuvajte taj ispravan početak, zatim dodajte runtime i testirajte pokretanje, provjere zdravlja i oporavak podataka.