Praktični vodič / podešavanje Ubuntu VPS-a

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.

· 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.pub

Za 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.pub

Sljedeć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
fi

Prije 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.pub

Sa 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.10

U 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.pub

Dodajte 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_keys

Instalirajte javni ključ u direktorij novog administratora sa odgovarajućim vlasnikom i dozvolama.

ssh -i ~/.ssh/ubuntu_vps deploy@203.0.113.10

Otvorite 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 whoami

Instalirajte 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 nginx

Sljedeć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 verbose

Nakon 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 -t

Napišite zasebnu konfiguracijsku datoteku. Navodnici oko heredoc oznake čuvaju $uri od shell zamjene: to mora ostati Nginx varijabla.

sudo systemctl reload nginx

Omoguć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.timer

Provjera 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.

SimptomPrva provjera
SSH timeoutAdresa, firewall pružaoca i sistema, konzola za oporavak
Permission denied (publickey)Korisnik, privatni ključ i dozvole authorized_keys
Prikazuje se podrazumijevana Nginx stranicaDNS cilj, server_name i aktivna konfiguracija
Provjera certifikata ne prolaziJavni A/AAAA zapisi i port 80
Nginx ne radi nakon izmjenesudo 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.

Za novi Ubuntu 24.04 VPS, direktni DNS i SSH na portu 22. Pratite firewall postupak koji podržava pružalac; Oracle Cloud Ubuntu mora preskočiti UFW. Primjeri se zasnivaju na dokumentaciji i nisu u cijelosti testirani na svakom imageu pružalaca.

Službeni izvori

  1. Dokument 1: ubuntu.com
  2. Dokument 2: ubuntu.com
  3. Dokument 3: ubuntu.com
  4. Dokument 4: eff-certbot.readthedocs.io
  5. Dokument 5: packages.ubuntu.com
  6. Dokument 6: docs.oracle.com

Povezani vodiči