
Zašto izabrati Linux za produkcioni server i šta očekivati
Kada pripremaš server za produkciju, Linux nudi stabilnost, fleksibilnost i veliki ekosistem alata. Kao administrator ili inženjer, očekuješ predvidljivo ponašanje sistema, mogućnost automatizacije i jasnu kontrolu usluga. U ovom delu otvorićeš teme koje ti pomažu da razumeš osnovne razloge za izbor Linuxa i kriterijume koji utiču na uspešnu instalaciju.
Linux distribucije se razlikuju po podršci, modelima izdanja (LTS vs. rolling), menadžmentu paketa i zajednici. Odabir prave distribucije utiče na bezbednosne update-ove, dostupnost softvera i jednostavnost administracije. Najčešće opcije za produkciju su distribucije sa dugoročnom podrškom i velikom korisničkom bazom.
Priprema pre instalacije: sigurnost, backup i izbor distribucije
Proceni bezbednosne zahteve
Pre nego što pokreneš instalaciju, definiši bezbednosne zahteve: da li će server biti izložen internetu, koje mrežne servise ćeš koristiti i kakav nivo autentifikacije zahtevaš. Postavi pravila za:
- upravljanje korisnicima i pristupima (SSH ključevi, sudo politike),
- mrežnu segmentaciju i firewall (iptables/nftables, UFW),
- enkripciju podataka u mirovanju i prenosu (LUKS, TLS/HTTPS).
Napraviti plan za backup i oporavak
Backup strategija je kritična pre bilo kakve promene. Odredi RTO (Recovery Time Objective) i RPO (Recovery Point Objective) i izaberi tehnologiju za backup (rsync, borg, vzdump, snapshot rešenja). Testiraj restore procedure na odvojenom okruženju kako bi bio siguran da možeš vratiti sistem kad zatreba.
Odabir distribucije i modela izdanja
Pri izboru distribucije razmisli o sledećem:
- LTS distribucije (npr. Ubuntu LTS, CentOS Stream / AlmaLinux / Rocky) pružaju dužu podršku i predvidljivost.
- Rolling ili novije verzije (Arch, Fedora) omogućavaju brže inovacije, ali zahtevaju češće održavanje.
- Kompatibilnost aplikacija i dostupnost paketa ili kontejnerizovanih verzija (Docker/Podman).
Izaberi model koji odgovara tvojoj politici ažuriranja i timu koji će održavati server.
Hardverski zahtevi i razmišljanje o virtualizaciji
Procena resursa treba da uzme u obzir tip rada servera: web-server, baza podataka, aplikacioni server ili kombinacija. Ključne stavke su CPU, RAM, disk (performanse i IOPS) i mrežna propusnost.
- Za baze podataka prioritet su brzi diskovi (NVMe, SSD) i dovoljno RAM-a.
- Za web aplikacije optimizuj balans između CPU i mrežne propusnosti.
- Za visoku dostupnost razmotri rešenje sa replikacijom i load balancerom.
Ako razmišljaš o virtualizaciji ili kontejnerizaciji, odluči da li ćeš koristiti bare metal, VM (KVM, VMware) ili kontejner platformu (Docker, Kubernetes). Svaka opcija donosi svoje zahteve za resurse i način upravljanja.
U narednom delu preći ćemo na konkretne korake instalacije: pripremu instalacionih medija, osnovnu particionu šemu i početnu konfiguraciju mreže i korisnika.
Priprema instalacionih medija i provera integriteta
Pre nego što pokreneš instalaciju, napravi pouzdan instalacioni medij i proveri integritet ISO fajla. Koraci koje treba pratiti:
- Preuzmi ISO sa zvaničnog sajta distribucije i uporedi checksum (sha256/sha512) sa objavljenom vrednošću. Primer: sha256sum ubuntu-xx.iso.
- Napraviti bootabilni USB koristeći pouzdan alat (Rufus, BalenaEtcher, dd). Ako koristiš dd: dd if=path/to.iso of=/dev/sdX bs=4M status=progress; sync. Pazi da izabereš pravi uređaj (/dev/sdX).
- Proveri boot režim servera — UEFI vs BIOS. Za UEFI koristi GPT particionu tabelu i EFI sistemsku particiju; za legacy BIOS možeš ostati na MBR ali preporučuje se UEFI za noviji hardver.
- Ako je server u podatkovnom centru, razmotri i X86 i IPMI/iLO pristup kako bi instalaciju mogao automatizovati preko KVM-a ili PXE boot-a.
- Dokumentuj verziju kernela i instalacionih opcija koje koristiš (disk layout, enkripcija), radi reproduktibilnosti i audita.

Osnovna particiona šema i enkripcija diska
Particiona šema zavisi od namene servera, ali postoje opšti principi koje pratiš za produkciju:
- Koristi GPT za nove servere i napravi separatnu EFI particiju (~512MB) ako je UEFI.
- Preporučene logične particije ili LVM volumeni:
- /boot 1–2 GB (izbegavaj enkripciju za /boot osim ako imaš specifičan workflow),
- / root (20–40 GB minimalno, zavisno od aplikacija),
- /var ili /var/lib (posebno za baze podataka ili logove, odvoji veći disk prostor),
- /home je opcionalno na serverskim instancama; radije čuvaj podatke u /srv ili namenskim lokacijama,
- swap — danas se često koristi swap fajl umesto particije; veličina zavisi od RAM-a i potrebe za hibernacijom.
- Korišćenje LVM-a olakšava proširenje volumenâ; snapshot rešenja (LVM snapshot, ZFS, btrfs) pomažu u backup strategiji.
- Enkripcija: za servere koji drže osetljive podatke koristi LUKS na celom disku ili za ključne volumene. Planiraj način otključavanja pri bootu (remote LUKS unlock preko SSH ili ključ na HSM).
- Izbor filesystema:
- ext4 — stabilan i brz za većinu slučajeva,
- xfs — dobar za velike datoteke i performanse I/O,
- btrfs/ZFS — napredne funkcije (checksum, snapshot), ali zahtevaju dodatnu administraciju i testing.
- Postavi fstab sa sigurnim opcijama (noatime, nodiratime, data=journal ako je potrebno) i izbegavaj automount opcije bez kontrole.
Početna konfiguracija mreže, korisnika i sigurnosne postavke
Nakon instalacije pažljivo konfiguriši mrežu, korisnike i osnovne sigurnosne mehanizme:
- Mreža: postavi statičku IP konfiguraciju, gateway i DNS. Na Ubuntuu koristi netplan, na RHEL sistemd-networkd ili ifcfg fajlove. Testiraj routing i DNS rezoluciju.
- Hostname i /etc/hosts: postavi jasan hostname koji odgovara naming konvenciji u infrastrukturnom planu; ažuriraj DNS zapise.
- Korisnici: kreiraj administratorski nalog (s članstvom u sudo/wheel grupi) i konfiguriši SSH ključeve. Onemogući pristup root korisniku preko lozinke (PermitRootLogin no) i razmisli o dodatnim ograničenjima u /etc/ssh/sshd_config.
- Sudo: koristi visoke bezbednosne postavke u sudoers (visudo), audit pristupa i minimalna privilegovanja.
- Osnovna zaštita: uključi firewall (ufw ili firewalld), instaliraj fail2ban ili equivalent, omogući SELinux/AppArmor na distribuciji po tvom izboru i potvrdi politiku.
- Vreme i lokacija: sinhronizuj sat sa NTP serverima (chrony ili systemd-timesyncd) i postavi tačnu vremensku zonu i locale.
- Ažuriranja: izvrši puni apt/yum update pre lansiranja, i definiši policy za security patch-e (ručno, scheduled maintenance ili unattended-upgrades za kritične case).
Ove inicijalne postavke stavljaju čvrste temelje za dalje podešavanje servisa, monitoring i automatsko upravljanje konfiguracijama — temu koju ćemo pokriti u narednom delu.

Automatizacija, monitoring i backup
- Konfiguracioni menadžment: uvedi alat kao što je Ansible, Puppet ili Salt za reproducibilne konfiguracije i rollback. Drži playbook-ove/manifest-e u VCS (Git) i poveži ih sa CI pipeline-om.
- Infrastruktura kao kod (IaC): koristi Terraform ili slične alate za provizionisanje mreže i resursa tako da environmenti budu konzistentni i reproducibilni.
- Praćenje i alerting: postavi metrike i vizualizaciju (Prometheus + Grafana), centralizovano logovanje (ELK/EFK, Loki) i jasne alert politike (sremni playbook za odgovor na incidente).
- Backup i DR: automatski backup kritičnih volumena (restic, Borg, snapshot-ovi), testiraj restore procedure redovno i definiši RTO/RPO za svaki servis.
- Release politika: implementiraj staging okruženja, canary deploy-e i rolling nadogradnje kako bi minimizirao downtime; razmotri kernel livepatch rešenja za kritične sisteme.
- Sigurnosni procesi: redovan audit konfiguracija, rotacija ključeva i tajni (Vault, KMS) i dokumentovani runbook-ovi za hitne intervencije.
Spremno za produkciju
Nakon što si uspostavio pouzdanu instalaciju, sigurnosne postavke i automatizaciju, fokusiraj se na procesnu disciplinu: kontrolu promena, testiranje nadogradnji i jasno definisane procedure za incident response. Uvek testiraj restore i failover scenarije pre nego što sistem proglasiš za produkcioni, i redovno ažuriraj dokumentaciju. Ako ti trebaju primeri praksi i detaljna uputstva za specifične distribucije, pogledaj Ubuntu Server dokumentaciju za praktične smernice i reference.
Frequently Asked Questions
Kako bezbedno otključati LUKS šifrovanje pri udaljenom bootovanju?
Opcije uključuju remote LUKS unlock preko initramfs sa Dropbear SSH serverom (omogućava unos lozinke preko mreže), automatsko otključavanje koristeći Clevis/Tang ili čuvanje ključa u HSM/KMS rešenju. Izaberi pristup koji odgovara politici bezbednosti i planu dostupnosti (backup metoda za slučaj da remote servis nije dostupan).
Koji fajl sistem je najbolji za produkcioni server?
Ne postoji univerzalni odgovor — za većinu servisa ext4 ili XFS su stabilan i performantan izbor. Ako ti trebaju snapshot-i, checksums i deduplikacija, razmotri btrfs ili ZFS, ali računaj na dodatnu administraciju i testiranje pre produkcije.
Kako automatizovati patchovanje bez većih prekida servisa?
Koristi staging i canary deploy metode, rolling updates i orkestraciju (npr. Kubernetes ili konfiguracioni menadžment). Za kernel kritične zakrpe razmotri livepatch (Canonical Livepatch, kpatch). Uvek primeni zakrpe prvo u testnom okruženju i planiraj maintenance window-e za servise koji ne podržavaju hot-redeploy.
