Un server Linux bine configurat începe cu mult înainte de instalarea primului serviciu. Alegerea distribuției, sistemului de fișiere, schemei de partiționare și a politicii de actualizare poate influența stabilitatea și ușurința administrării sistemului pentru ani întregi.
În acest ghid vom construi o bază sănătoasă pentru un server Linux folosind principii aplicabile distribuțiilor populare precum Ubuntu LTS, Debian, AlmaLinux și Rocky Linux.
Scopul nu este să găsim o configurație universală „perfectă”, ci să înțelegem deciziile importante și compromisurile dintre simplitate, flexibilitate, performanță și securitate.
Ce distribuție Linux alegem pentru server?
Toate cele patru distribuții sunt potrivite pentru servere. Alegerea depinde în principal de ecosistemul în care lucrezi, de experiența administratorilor și de software-ul pe care urmează să îl rulezi.
| Distribuție | Familie | Package manager | Potrivită pentru |
|---|---|---|---|
| Ubuntu LTS | Debian | apt |
VPS, cloud, web hosting, aplicații |
| Debian | Debian | apt |
Servere stabile și minimaliste |
| AlmaLinux | RHEL | dnf |
Hosting și infrastructură enterprise |
| Rocky Linux | RHEL | dnf |
Servere enterprise și infrastructură |
Ubuntu LTS este o alegere foarte practică pentru un server general-purpose. Ecosistemul este mare, documentația este abundentă, iar suportul din partea furnizorilor de cloud și a producătorilor de software este foarte bun.
Debian este o alegere excelentă atunci când prioritatea este un sistem conservator, predictibil și cât mai simplu. Este foarte potrivit pentru servere pe care nu vrei să schimbi frecvent componentele de bază.
AlmaLinux și Rocky Linux fac parte din ecosistemul compatibil RHEL și sunt alegeri naturale pentru infrastructură enterprise, hosting și aplicații construite în jurul convențiilor Red Hat.
Pentru producție, stabilitatea și predictibilitatea sunt de regulă mai importante decât dorința de a avea permanent cea mai nouă versiune a fiecărui pachet.
Planificarea înainte de instalare
Înainte să pornești installer-ul sau să creezi VPS-ul, stabilește rolul sistemului. Un web server, un database server și un host Docker nu au întotdeauna aceleași cerințe.
- Care este rolul serverului?
- Cât spațiu va necesita aplicația peste 6 sau 12 luni?
- Unde vor fi stocate datele importante?
- Ai nevoie de LVM?
- Ai nevoie de snapshots?
- Serverul va avea IPv4, IPv6 sau ambele?
- Ce servicii trebuie să fie accesibile public?
- Unde va fi păstrat backup-ul?
- Cum vei monitoriza serviciile și resursele?
Este mult mai simplu să răspunzi la aceste întrebări înainte de instalare decât să reorganizezi storage-ul și rețeaua după ce serverul a intrat în producție.
ext4, XFS sau Btrfs?
Alegerea filesystem-ului este una dintre deciziile importante făcute la instalare. Nu există un filesystem care să fie cel mai bun pentru orice server.
ext4 – simplu, matur și predictibil
ext4 este una dintre cele mai mature și bine cunoscute alegeri pentru Linux. Pentru un VPS obișnuit, web server, mail server sau server de aplicații, ext4 este de multe ori exact ceea ce trebuie.
- foarte matur;
- tooling bine cunoscut;
- compatibilitate excelentă;
- administrare simplă;
- potrivit pentru majoritatea workload-urilor generale.
Dacă nu ai o cerință concretă pentru alt filesystem, ext4 este o alegere foarte sigură.
lsblk -f
XFS – foarte potrivit pentru servere și volume mari
XFS este foarte răspândit în ecosistemul enterprise și este o alegere naturală pe AlmaLinux și Rocky Linux. Este proiectat pentru scalabilitate și se comportă foarte bine pe volume mari și workload-uri intensive.
- scalabilitate foarte bună;
- potrivit pentru volume mari;
- foarte popular în ecosistemul RHEL;
- filesystem matur pentru servere.
Un detaliu administrativ important este că XFS poate fi extins, dar micșorarea filesystem-ului nu este o operație disponibilă în mod obișnuit. Dacă folosești LVM, planificarea volumelor trebuie făcută ținând cont de acest lucru.
Btrfs – snapshots, checksums și subvolume
Btrfs oferă funcții care nu există în aceeași formă în ext4: snapshots, subvolume, checksums, copy-on-write și compresie.
- snapshots;
- subvolume;
- checksums pentru date și metadata;
- compresie transparentă;
- copy-on-write;
- administrare flexibilă a spațiului.
Este foarte interesant atunci când chiar ai nevoie de aceste funcții, dar introduce și mai multe concepte de administrat. Pe un server simplu nu aș alege Btrfs doar pentru că lista de funcții este mai lungă.
btrfs filesystem show
btrfs subvolume list /
Alegerea rapidă
| Situație | Alegere rezonabilă |
|---|---|
| VPS general purpose | ext4 |
| Ubuntu / Debian simplu | ext4 |
| AlmaLinux / Rocky Linux | XFS sau ext4 |
| Volume mari | XFS |
| Snapshots și subvolume | Btrfs |
| Prioritatea este simplitatea | ext4 |
Partiționare și LVM
Pentru un VPS mic nu este obligatoriu să creezi o structură complicată de partiții. O instalare simplă poate avea doar filesystem-ul root, partiția de boot necesară și swap dacă este cazul.
/boot
/
swap
Pe servere mai importante poate fi util să separi anumite zone:
/var
/var/log
/home
/tmp
/srv
/data
De exemplu, separarea /var/log poate împiedica un serviciu care generează accidental foarte multe loguri să umple filesystem-ul root.
În același timp, prea multe partiții fixe pot deveni incomode dacă estimezi greșit spațiul. Din acest motiv, LVM este foarte util pe servere.
Disk / RAID
|
Physical Volume
|
Volume Group
|
+-- root
+-- var
+-- data
LVM îți oferă flexibilitate atunci când trebuie să extinzi ulterior un volum logic.
Alege o instalare minimală
Pe un server, fiecare componentă inutilă înseamnă software suplimentar de actualizat, configurat și securizat.
În general, evită instalarea unui desktop environment și a pachetelor pe care nu le vei folosi.
După instalare, verifică imediat serviciile care ascultă pe rețea:
sudo ss -tulpn
Dacă un serviciu nu este necesar, cea mai simplă metodă de securizare este să nu ruleze.
Actualizează sistemul înainte să instalezi aplicațiile
Pe Ubuntu și Debian:
sudo apt update
sudo apt upgrade
Pe AlmaLinux și Rocky Linux:
sudo dnf upgrade
După un update important verifică serviciile și, dacă a fost actualizat kernelul sau o componentă fundamentală, planifică reboot-ul.
Configurează hostname-ul corect
Un naming scheme coerent devine foarte util atunci când infrastructura începe să crească.
sudo hostnamectl set-hostname web01.example.ro
hostnamectl
Nume precum web01, db01, backup01 sau monitor01 transmit mult mai multă informație decât nume generice precum server sau ubuntu.
Creează un utilizator administrativ separat
Administrarea zilnică direct din contul root nu este o practică bună.
Pe Ubuntu și Debian:
sudo adduser adminuser
sudo usermod -aG sudo adminuser
Pe AlmaLinux și Rocky Linux:
sudo useradd -m adminuser
sudo passwd adminuser
sudo usermod -aG wheel adminuser
Verifică apoi:
id adminuser
SSH: folosește chei, nu doar parole
Pentru acces administrativ, autentificarea cu chei SSH este una dintre primele măsuri pe care merită să le implementezi.
Pe stația de administrare:
ssh-keygen -t ed25519
Copierea cheii publice:
ssh-copy-id adminuser@server
Abia după ce ai confirmat că o sesiune nouă funcționează cu cheia, poți analiza dezactivarea autentificării root și a autentificării prin parolă.
PermitRootLogin no
PasswordAuthentication no
Înainte de reload sau restart verifică întotdeauna configurația:
sudo sshd -t
Nu închide sesiunea SSH actuală până când nu confirmi că te poți conecta într-o sesiune nouă.
Vezi și ghidul nostru dedicat: Cum securizezi SSH pe un server Linux.
Configurează firewall-ul
Un server ar trebui să expună doar serviciile de care are efectiv nevoie.
Pe Ubuntu și Debian poți folosi UFW:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
Pentru un server web:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Pe AlmaLinux și Rocky Linux este foarte comun firewalld:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Înainte să construiești firewall-ul verifică serviciile active:
sudo ss -tulpn
Pentru mai multe exemple: UFW explicat: firewall simplu pe Ubuntu.
Nu dezactiva SELinux sau AppArmor doar pentru că este mai simplu
Ubuntu folosește în mod obișnuit AppArmor, iar distribuțiile din familia RHEL folosesc SELinux.
Pe Ubuntu:
sudo aa-status
Pe AlmaLinux și Rocky Linux:
getenforce
Pe un server RHEL-like, rezultatul dorit este în mod normal:
Enforcing
Dacă o aplicație este blocată de SELinux, investighează cauza și politica necesară. Dezactivarea completă a mecanismului de securitate ar trebui să fie excepția, nu primul pas de troubleshooting.
Verifică timpul și sincronizarea NTP
Timpul corect este esențial pentru loguri, certificate TLS, baze de date, autentificare și corelarea evenimentelor.
timedatectl
Verifică dacă sistemul raportează sincronizarea activă și setează timezone-ul potrivit pentru modul în care administrezi infrastructura.
Swap-ul trebuie înțeles, nu configurat după o formulă universală
free -h
swapon --show
Swap-ul poate ajuta un sistem în situații temporare de presiune asupra memoriei, dar nu înlocuiește RAM-ul. Dimensiunea potrivită depinde de workload și de memoria disponibilă.
Verifică și dezactivează serviciile inutile
systemctl --type=service --state=running
Serviciile activate automat la boot:
systemctl list-unit-files --state=enabled
Nu dezactiva un serviciu doar pentru că nu îi recunoști numele. Verifică întâi ce este și de cine este folosit:
systemctl status nume-serviciu
systemctl cat nume-serviciu
Pentru administrarea serviciilor vezi și Systemd: cum administrezi serviciile unui server Linux.
Logurile trebuie verificate înainte să apară prima problemă
Pe distribuțiile moderne bazate pe systemd, journalctl este una dintre cele mai importante unelte de diagnostic.
journalctl -p warning
journalctl -b
journalctl -u ssh
Este util să înțelegi jurnalul sistemului înainte de primul incident. Vezi ghidul: Jurnalul Linux explicat: cum folosești journalctl.
Permisiunile trebuie să fie restrictive, dar corecte
Evită soluții rapide precum chmod 777. Atunci când o aplicație nu poate scrie într-un director, verifică ownership-ul și modelul de permisiuni înainte să deschizi accesul pentru toată lumea.
ls -lah
stat fisier
id utilizator
Mai multe detalii: Permisiunile Linux: chmod, chown și umask explicate.
Backup-ul trebuie configurat înainte de producție
Backup-ul nu este o activitate pentru „mai târziu”. Înainte să pui serverul în producție trebuie să știi ce date trebuie protejate și cum le restaurezi.
- configurații;
- datele aplicațiilor;
- baze de date;
- volume Docker;
- certificate;
- fișierele utilizatorilor;
- chei sau secrete care nu pot fi regenerate.
Un snapshot al VPS-ului este util, dar nu ar trebui să fie singura copie a datelor.
Pentru sincronizare și copii externe poți folosi, printre alte soluții, rsync. Vezi și rsync: backup și sincronizare eficientă în Linux.
Un backup pe care nu l-ai restaurat niciodată este o presupunere, nu o garanție.
Monitorizare
Cel puțin următoarele elemente trebuie urmărite pe un server de producție:
- CPU și load average;
- memorie și swap;
- spațiu pe disk;
- disk I/O;
- starea serviciilor;
- certificate TLS;
- backup-uri;
- erori importante din loguri.
Un server fără monitorizare este un server despre care afli că are probleme abia după ce utilizatorii observă indisponibilitatea.
Checklist după instalarea unui Linux Server
- Sistemul este actualizat.
- Hostname-ul și DNS-ul sunt configurate corect.
- Există un utilizator administrativ separat.
- SSH funcționează cu chei.
- Accesul root prin SSH este restricționat.
- Firewall-ul este activ.
- Sunt expuse doar porturile necesare.
- SELinux sau AppArmor rămân active.
- NTP și timezone-ul sunt verificate.
- Filesystem-ul și schema de storage sunt documentate.
- Swap-ul și memoria sunt verificate.
- Serviciile inutile sunt dezactivate.
- Logurile și rotația lor sunt verificate.
- Monitorizarea este configurată.
- Există un backup extern.
- A fost testată procedura de restaurare.
Concluzie
O instalare Linux Server bună nu înseamnă doar să obții un prompt și să începi să instalezi aplicații.
root@server:~#
Un server sănătos trebuie construit de la început cu o arhitectură simplă și predictibilă: o distribuție matură precum Ubuntu LTS, Debian, AlmaLinux sau Rocky Linux, un filesystem potrivit, cât mai puține servicii instalate, SSH securizat, firewall, actualizări regulate, monitorizare și backup.
Pentru filesystem, regula poate fi simplificată astfel: ext4 dacă vrei simplitate și maturitate, XFS pentru ecosistemul enterprise și volume mari, iar Btrfs atunci când ai nevoie în mod concret de snapshots, subvolume și celelalte funcții avansate.
În administrarea serverelor Linux, soluția simplă, documentată și bine înțeleasă este deseori mai valoroasă pe termen lung decât configurația cea mai sofisticată.