VPS ceļveži un pamācības soli pa solim

Iestati serveri vienā vakarā — komandas pēc kārtas, no pirmās pieteikšanās līdz vietnei uz HTTPS

Ko atradīsi ceļvežos

VPS iestatīšana aizņem apmēram trīsdesmit minūtes un astoņus soļus: uzstādi operētājsistēmu no attēla, pieslēdzies pa SSH, izveido lietotāju ar sudo tiesībām, pārej uz pieteikšanos ar atslēgu, aizver visus nevajadzīgos portus, uzstādi tīmekļa serveri un datubāzi, izsniedz TLS sertifikātu un izveido pirmo rezerves kopiju. Šajā lapā visi astoņi soļi ir aprakstīti ar precīzām komandām Ubuntu 22.04 un 24.04 un Debian 12 sistēmām, kā arī tas, ko darīt, ja solis neizdodas. Nekas no tā nav saistīts tikai ar vienu pakalpojumu sniedzēju — tās pašas komandas strādā jebkurā serverī, kuram tev ir root piekļuve.

Astoņi soļi ar komandām

Izpildi tos šādā secībā uz tikko uzstādīta Ubuntu vai Debian servera.

  • 1. solis · Piekļuve

    Pieslēdzies serverim pa SSH

    Jaunam serverim pieslēdzas pēc IP adreses un līdz ar to izsniegtās paroles: ssh [email protected] no termināļa Linux, macOS vai Windows 10 un jaunākā sistēmā. Ja savienojums neatbild, serveris vēl nav gatavs vai priekšā stāvošs ugunsmūris bloķē 22. portu — to var pārbaudīt caur KVM konsoli panelī. Uzreiz pēc pieteikšanās nomaini sākotnējo paroli ar komandu passwd.

  • 2. solis · Lietotāji

    Izveido lietotāju ar sudo tiesībām

    Ikdienas darbs ar root pārvērš katru drukas kļūdu par avāriju. Izveido parastu kontu un piešķir tam administratora tiesības: adduser deploy un pēc tam usermod -aG sudo deploy. Izej no sesijas, pieslēdzies no jauna kā jaunais lietotājs un pārbaudi tiesības ar sudo whoami — atbildei jābūt root. Debian sistēmā vispirms uzstādi pašu sudo ar apt install sudo.

  • 3. solis · Atslēgas

    Pārej uz pieteikšanos ar SSH atslēgu

    Atslēga izslēdz veselu uzbrukumu klasi — paroļu minēšanu. Savā datorā izpildi ssh-keygen -t ed25519 un nokopē publisko daļu uz serveri ar ssh-copy-id [email protected]. Pārliecinies, ka pieteikšanās ar atslēgu strādā, tad failā /etc/ssh/sshd_config uzstādi PasswordAuthentication no un PermitRootLogin no un pielieto izmaiņas ar systemctl restart ssh. Esošo sesiju tikmēr atstāj atvērtu.

  • 4. solis · Atjauninājumi

    Atjaunini sistēmu un ieslēdz drošības ielāpus

    Tikko uzstādītu attēlu vispirms atjaunini ar sudo apt update && sudo apt full-upgrade un pārstartē serveri, ja parādās fails /var/run/reboot-required. Pēc tam ļauj serverim labot sevi pašam: sudo apt install unattended-upgrades un sudo dpkg-reconfigure --priority=low unattended-upgrades. Drošības atjauninājumi tiks uzlikti bez tavas līdzdalības, bet pārējie paketes atjauninājumi paliek tavā kontrolē.

  • 5. solis · Ugunsmūris

    Aizver visus nevajadzīgos portus

    Atļauj SSH pirms ugunsmūra ieslēgšanas, citādi pats sev aizvērsi durvis: sudo ufw allow OpenSSH, tad tīmekļa serverim sudo ufw allow 80/tcp un sudo ufw allow 443/tcp, un tikai tad sudo ufw enable. Rezultātu pārbaudi ar sudo ufw status numbered, bet to, kas patiešām klausās portos, parāda ss -tulpn. Ja kāds noteikums tomēr aizvēris piekļuvi, iekšā tiksi caur KVM konsoli.

  • 6. solis · Tīmekļa serveris

    Uzstādi Nginx un PHP

    Uzstādi steku ar sudo apt install nginx php-fpm php-mysql un palaid to ar sudo systemctl enable --now nginx — noklusējuma lapai jāatbild pēc servera IP adreses. Savas vietnes konfigurāciju liec failā /etc/nginx/sites-available/example.com, aktivizē to, izveidojot saiti mapē /etc/nginx/sites-enabled/, pārbaudi sintaksi ar sudo nginx -t un pielieto ar sudo systemctl reload nginx. Vietnes faili parasti atrodas mapē /var/www/example.com.

  • 7. solis · Datubāze un TLS

    Pievieno datubāzi un sertifikātu

    Datubāzei: sudo apt install mariadb-server un pēc tam sudo mysql_secure_installation — tas uzstāda root paroli un noņem anonīmos testa kontus. HTTPS gadījumā domēnam jau jābūt novirzītam uz serveri ar A ierakstu: sudo apt install certbot python3-certbot-nginx un tad sudo certbot --nginx -d example.com -d www.example.com. Sertifikāta atjaunošanu veic systemd taimeris, tāpēc nekas nebeidzas negaidīti.

  • 8. solis · Rezerves kopijas

    Izveido pirmo kopiju, pirms tā vajadzīga

    Automātiskās rezerves kopijas tarifā neietilpst — kopijas veido pats vadības panelī, rezerves kopiju sadaļā, pāris klikšķos un neko iepriekš nekonfigurējot. Papildus tam glabā arī datu līmeņa kopiju: mysqldump -u root -p appdb > /root/appdb.sql datubāzei un tar -czf /root/site.tar.gz /var/www/example.com failiem. Vismaz vienu kopiju glabā ārpus paša servera.

Komandas rakstītas Ubuntu 22.04 un 24.04 un Debian 12 sistēmām. Adresi 203.0.113.10, domēnu example.com un datubāzi appdb aizvieto ar savām vērtībām.

Kuram serverim izvēlēties pamācību

Komandas un konfigurācijas failu ceļi atšķiras — sāc no savas sistēmas sadaļas.

1

Linux: Ubuntu un Debian

Šajā lapā komandas rakstītas Ubuntu 22.04 un 24.04 sistēmām; Debian 12 tās ir tādas pašas, atšķiras vien pakotņu versijas. Piekļuve — pa SSH, un ar atslēgu jau no pirmās dienas.

2

Windows Server

Citi rīki: attālinātā darbvirsma SSH vietā, Server Manager un PowerShell apt vietā, iebūvētais ugunsmūris ufw vietā. Piekļuve joprojām sākas no KVM konsoles.

3

Ja nav laika darīt pašam

To pašu darbu var nodot mums: sākotnējā iestatīšana, atjauninājumi, monitorings un incidentu risināšana ir pieejami stundu pakās Mini, Pro un Max.

Pirmā stunda pēc pasūtījuma

Kas notiek starp pasūtījumu un strādājošu serveri.

1

Izvēlies attēlu un uzstādi OS

Attēlu izvēlies panelī un instalāciju palaid pats — Ubuntu, Debian vai Windows Server. Neviens neuzstāda sistēmu tavā vietā, tāpēc tu precīzi zini, kas ir uz servera un kādas pakotnes tajā ir.

2

Atver KVM konsoli

KVM dod servera ekrānu un tastatūru dzelžu līmenī: tā strādā vēl pirms tīkla ielādes un paliek pieejama arī tad, kad SSH vai ugunsmūris ir nepareizi iestatīts. Atver to uzreiz, lai zinātu, kur tā atrodas, kad būs vajadzīga.

3

Pieslēdzies, nostiprini, atjaunini

Pirmie pieci soļi no saraksta aizņem apmēram piecpadsmit minūtes: sudo lietotājs, pieteikšanās ar atslēgu, ufw ar atvērtu tikai SSH, HTTP un HTTPS, un automātiskie drošības atjauninājumi. Izdari tos, pirms kaut kas nonāk internetā.

4

Izvieto to, kā dēļ pasūtīji serveri

Tīmekļa serveris, datubāze, konteineri vai lietotne. VPS un mākoņa serveri darbojas testa režīmā 5 stundas pirms samaksas — ar to pietiek, lai uzstādītu steku un uzliktu tam reālu slodzi.

Ja kaut kas neiet pēc instrukcijas

Ja kaut kas neiet pēc instrukcijas

Biežākie strupceļi un izeja no tiem.

Atver KVM konsoli panelī — tā nav atkarīga no tīkla iestatījumiem. Pieslēdzies tur un izpildi sudo ufw allow OpenSSH vai sudo ufw disable, lai uz laiku atvērtu visu, kamēr labo noteikumus.

Deviņos gadījumos no desmit vainīgas ir failu tiesības: mājas mapei nedrīkst būt grupas rakstīšanas tiesības, mapei .ssh jābūt 700 un failam .ssh/authorized_keys jābūt 600 ar pareizu īpašnieku. Komanda ssh -v parāda, kuru atslēgu klients patiesībā piedāvā, bet sudo journalctl -u ssh — iemeslu, kāpēc tā noraidīta.

Vispirms izpildi sudo nginx -t — tas nosauc failu un rindu ar kļūdu. Ja konfigurācija ir pareiza, parasti aizņemts ir ports: sudo ss -tulpn parāda, kas jau klausās uz 80 vai 443, bet sudo journalctl -u nginx -n 50 — pašu kļūdas ziņojumu.

Pārbaudi trīs biežākos iemeslus šādā secībā: free -m atmiņai un swap, df -h pilnam diskam un top procesam, kas ēd procesoru. Diskam, kas piepildīts līdz 100 procentiem, serveris izskatās miris, lai gan tehniski ir pilnīgi vesels.

Formālu SLA vienam serverim nedodam. Pieejamības prasībām būvējam sadalītu kļūdnoturīgu klasteri vairākos datu centros: viena mezgla atteice nenogāž servisu.

Vietnes pārcelšana uz jaunu serveri

Vietnes pārcelšana uz jaunu serveri

Pārcelšanu veic noteiktā secībā, un DNS daļa ir pirmā: dienu pirms pārcelšanas samazini A ieraksta TTL līdz 300 sekundēm, lai pārslēgšanās izplatītos minūtēs, nevis stundās.

Pēc tam nokopē failus ar rsync -avz /var/www/ deploy@JAUNAIS-IP:/var/www/, izveido datubāzes izmeti ar mysqldump un ielādē to jaunajā serverī ar mysql -u root -p appdb < appdb.sql. Palaid vietni jaunajā serverī un pārbaudi to pēc IP adreses, pirms aiztiec DNS. Tikai tad, kad tā atbild pareizi, novirzi A ierakstu uz jauno adresi, un veco serveri atstāj darbībā vēl dienu vai divas.

Ja negribi to darīt ar rokām, varam pārcelt projektu tavā vietā vai pārņemt visu serveri administrēšanā.

Migrācijas pakalpojums

Biežāk uzdotie jautājumi

Neatradi atbildi?
Raksti mums kontaktu lapas formā.

Pa SSH, izmantojot servera IP adresi un līdz ar to izsniegto paroli: ssh root@tava-servera-ip jebkurā terminālī Linux, macOS vai Windows 10 un jaunākā sistēmā. Ja SSH neatbild, iekšā var tikt caur KVM konsoli panelī neatkarīgi no tīkla iestatījumiem.

Ar servera nostiprināšanu šādā secībā: izveido lietotāju ar sudo tiesībām, pārej uz pieteikšanos ar SSH atslēgu, ieslēdz ufw ugunsmūri ar atvērtu tikai SSH, HTTP un HTTPS, un ieslēdz automātiskos drošības atjauninājumus. Tikai pēc tam uzstādi lietotņu steku.

Tā ir piekļuve serverim dzelžu līmenī: OS instalēšana un pārinstalēšana, darbs pirms tīkla ielādes un avārijas piekļuve, kad SSH nav pieejams vai ugunsmūris ir aizvēris ieeju.

Ar ufw: komanda sudo ufw allow 443/tcp atver portu, sudo ufw status numbered parāda esošos noteikumus, bet sudo ufw delete noņem noteikumu pēc tā numura. Pirms sudo ufw enable vienmēr vispirms atļauj OpenSSH.

Automātiskās rezerves kopijas tarifā neietilpst. Kopijas veido pats vadības panelī, rezerves kopiju sadaļā, pāris klikšķos — un datiem der pievienot mysqldump datubāzei un tar vietnes failiem, glabājot kopiju ārpus servera.

Jā. VPS un mākoņa serveri darbojas testa režīmā 5 stundas, tāpēc pirms lēmuma vari uzstādīt savu steku un uzlikt tam reālu slodzi. Dedicētie serveri tiek piešķirti pēc samaksas, bet konfigurāciju palīdz izvēlēties atbalsta dienests.

Jā. Tās rakstītas parastajām Ubuntu, Debian un Windows Server sistēmām un nav atkarīgas no tā, kur atrodas serveris. Tās pašas komandas strādā visur, kur tev ir root piekļuve.

Jā. Raksti mums kontaktu formā un pievieno tās komandas izvadi, uz kuras viss apstājās — palīdzēsim tava pakalpojuma ietvaros.