,

Instalare și configurare Linux Server: ghid și bune practici

👁 3 vizualizări


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

  1. Sistemul este actualizat.
  2. Hostname-ul și DNS-ul sunt configurate corect.
  3. Există un utilizator administrativ separat.
  4. SSH funcționează cu chei.
  5. Accesul root prin SSH este restricționat.
  6. Firewall-ul este activ.
  7. Sunt expuse doar porturile necesare.
  8. SELinux sau AppArmor rămân active.
  9. NTP și timezone-ul sunt verificate.
  10. Filesystem-ul și schema de storage sunt documentate.
  11. Swap-ul și memoria sunt verificate.
  12. Serviciile inutile sunt dezactivate.
  13. Logurile și rotația lor sunt verificate.
  14. Monitorizarea este configurată.
  15. Există un backup extern.
  16. 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ă.