15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
31.10.2024
1 +1

Instalarea și Configurarea Componentelor Ubuntu: Un Ghid Complet

Ubuntu rămâne una dintre cele mai populare distribuții Linux din lume — și cu bună dreptate. Flexibilitatea sa, ecosistemul robust de pachete și suportul puternic al comunității o fac o platformă ideală pentru dezvoltatori, administratori de sisteme și întreprinderi. Indiferent dacă configurezi o mașină locală de dezvoltare sau aprovizionezi un mediu VPS Hosting în cloud, cunoașterea modului de instalare și configurare corectă a componentelor Ubuntu este o abilitate fundamentală care aduce beneficii la fiecare nivel al infrastructurii tale.

Acest ghid cuprinzător te ghidează prin fiecare pas critic: actualizarea sistemului, instalarea pachetelor esențiale, configurarea firewall-ului, configurarea serverelor de baze de date, optimizarea performanței și mult mai mult. La final, sistemul tău Ubuntu va fi întărit, eficient și gata pentru sarcini de producție.

Cuprins

  1. Actualizarea Ubuntu Înainte de a Instala Orice
  2. Instalarea Componentelor Esențiale
  3. Configurarea Depozitelor de Software
  4. Instalarea și Configurarea unui Firewall cu UFW
  5. Instalarea și Configurarea Serverelor de Baze de Date
  6. Instalarea Instrumentelor și Utilitarelor Suplimentare
  7. Personalizarea Setărilor Sistemului Ubuntu
  8. Configurarea Copiilor de Siguranță Automatizate
  9. Monitorizarea Sistemului și Optimizarea Performanței
  10. Sfaturi Finale pentru un Sistem Ubuntu Gata pentru Producție

1. Actualizarea Ubuntu Înainte de a Instala Orice

Înainte de a atinge un singur pachet, aduce întotdeauna sistemul tău complet la zi. Aceasta asigură că lucrezi cu cele mai recente patch-uri de securitate, corecții de erori și îmbunătățiri de compatibilitate software.

sudo apt update && sudo apt upgrade -y

Ce face aceasta:

  • apt update — Reîmprospătează indexul local al pachetelor din toate depozitele configurate.
  • apt upgrade -y — Actualizează toate pachetele instalate la versiunile lor disponibile cele mai recente, confirmând automat prompturile.

> Pro Tip: Pe un server nou aprovizionat — mai ales dacă rulezi Ubuntu pe un Dedicated Server — acest pas este obligatoriu. Pachetele învechite sunt unul dintre cei mai comuni vectori pentru breșele de securitate.

După upgrade, repornește dacă kernelul a fost actualizat:

sudo reboot

2. Instalarea Componentelor Esențiale

Puterea Ubuntu se află în extensibilitatea sa. Subsecțiunile următoare acoperă cele mai critice pachete pentru orice implementare serioasă a Ubuntu.

2.1. Build Essentials

Pachetul build-essential instalează un set curat de instrumente necesare pentru compilarea software-ului din sursă, inclusiv GCC (GNU Compiler Collection), Make și biblioteci standard C/C++.

sudo apt install build-essential -y

Verifică instalarea:

gcc --version
make --version

Acest pachet este o condiție prealabilă pentru multe alte instrumente și runtime-uri de limbaj (de exemplu, extensii Python, gemuri Ruby, module native Node.js).

2.2. Git — Sistem de Control al Versiunilor

Git este instrumentul standard din industrie pentru gestionarea codului sursă, dezvoltarea colaborativă și conductele de implementare.

sudo apt install git -y

După instalare, configurează identitatea ta globală:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Verifică configurația ta:

git config --list

Opțional dar recomandat: Setează numele ramului implicit la main pentru a te alinia cu convențiile moderne:

git config --global init.defaultBranch main

2.3. Instrumente de Rețea: curl și wget

Aceste utilitare sunt indispensabile pentru descărcarea fișierelor, testarea API-urilor și depanarea conectivității rețelei direct din linia de comandă.

sudo apt install curl wget -y

Exemple de utilizare rapidă:

# Download a file with wget
wget https://example.com/file.tar.gz

# Test an API endpoint with curl
curl -I https://example.com

Instrumente suplimentare utile de diagnosticare a rețelei:

sudo apt install net-tools dnsutils traceroute -y
  • net-tools — Furnizează ifconfig, netstat și comenzi conexe.
  • dnsutils — Include dig și nslookup pentru depanarea DNS.
  • traceroute — Urmărește calea rețelei către un gazdă la distanță.

2.4. Editori de Text

Fiecare administrator de sistem are nevoie de un editor de text fiabil din linia de comandă. Ubuntu suportă mai multe opțiuni în funcție de preferința și fluxul de lucru.

Nano (ușor pentru începători):

sudo apt install nano -y

Vim (puternic, foarte configurabil):

sudo apt install vim -y

Emacs (bogat în caracteristici, extensibil):

sudo apt install emacs -y

> Recomandare: Pentru mediile de server, Vim este cea mai universal disponibilă și capabilă opțiune. Investește timp în învățarea comenzilor sale de bază — va accelera semnificativ fluxul tău de lucru.

2.5. Instalarea Serverului Web

Un server web este esențial pentru găzduirea site-urilor web, aplicațiilor web și API-urilor. Cele două opțiuni dominante pe Ubuntu sunt Nginx și Apache.

#### Instalarea Nginx (Recomandată pentru Performanță Înaltă)

sudo apt install nginx -y

Pornește și activează Nginx pentru a se lansa automat la boot:

sudo systemctl start nginx
sudo systemctl enable nginx

Verifică că rulează:

sudo systemctl status nginx

Testează configurația înainte de reîncărcare:

sudo nginx -t

#### Instalarea Apache

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

Nginx vs. Apache — Pe Care Ar Trebui să o Alegi?

CaracteristicăNginxApache
Performanță sub sarcinăExcelentă (bazată pe evenimente)Bună (bazată pe procese/fire)
Servirea fișierelor staticeFoarte rapidăRapidă
Suport .htaccessNuDa
Ecosistem de moduleÎn creștereExtins
Utilizare memorieMai micăMai mare

Pentru majoritatea implementărilor moderne — în special în mediile cloud VPS Hosting — Nginx este alegerea preferată datorită gestionării superioare a conexiunilor concurente și amprentei de memorie mai mici.

3. Configurarea Depozitelor de Software

Instalarea implicită a Ubuntu activează doar depozitele Main și Restricted. Pentru a accesa o gamă semnificativ mai largă de software, ar trebui să activezi depozitele Universe și Multiverse.

Metoda 1: Folosind GUI (Desktop Ubuntu)

  1. Deschide Software & Updates din meniul aplicației.
  2. Sub fila Ubuntu Software, bifează casetele pentru Universe și Multiverse.
  3. Fă clic pe Close și reîncarcă lista de pachete când ți se solicită.

Metoda 2: Folosind Linia de Comandă (Recomandată pentru Servere)

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

Prezentare Generală a Depozitelor:

DepozitConținut
MainSoftware open-source oficial suportat
RestrictedDrivere proprietare cu suport oficial
UniverseSoftware open-source menținut de comunitate
MultiverseSoftware cu restricții de licență

Adăugarea PPA-urilor Terță Parte

Pentru software care nu este disponibil în depozitele oficiale, poți adăuga Personal Package Archives (PPA):

sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
sudo apt install package-name

> Notă de Securitate: Adaugă doar PPA-uri din surse de încredere, bine cunoscute. Depozitele terță parte pot introduce software neveriificat în sistemul tău.

4. Instalarea și Configurarea unui Firewall cu UFW

Ubuntu vine cu UFW (Uncomplicated Firewall), o interfață ușor de utilizat pentru iptables. Configurarea corectă a firewall-ului este unul dintre cei mai importanți pași de securitate pentru orice server accesibil pe internet.

Activează UFW

sudo ufw enable

Permite Serviciile Esențiale

Permite întotdeauna SSH înainte de a activa firewall-ul pentru a evita să te blochezi:

sudo ufw allow ssh

Sau specifică portul în mod explicit:

sudo ufw allow 22/tcp

Permite traficul HTTP și HTTPS pentru serverele web:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Permite profiluri de aplicații specifice:

sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 'Apache Full'

Verifică Starea Firewall-ului

sudo ufw status verbose

Comenzi UFW Suplimentare

# Deny a specific port
sudo ufw deny 8080/tcp

# Delete a rule
sudo ufw delete allow 8080/tcp

# Reset all rules
sudo ufw reset

# Disable UFW
sudo ufw disable

> Bună Practică: Urmează principiul celui mai mic privilegiu — deschide doar porturile care sunt în mod explicit necesare pentru serviciile tale. Fiecare port deschis inutil este o suprafață de atac potențială.

5. Instalarea și Configurarea Serverelor de Baze de Date

Bazele de date sunt coloana vertebrală a aproape fiecărei aplicații web. Ubuntu suportă toate sistemele majore de baze de date relaționale și NoSQL prin depozitele sale de pachete.

5.1. Instalarea MySQL

MySQL este cea mai larg implementată bază de date relațională open-source din lume.

sudo apt install mysql-server -y

După instalare, rulează scriptul de întărire a securității:

sudo mysql_secure_installation

Acest script interactiv va:

  • Seta o parolă root (sau valida puterea parolei)
  • Elimina utilizatorii anonimi
  • Interzice conectarea root la distanță
  • Elimina baza de date de test
  • Reîncarcă tabelele de privilegii

Pornește și activează MySQL:

sudo systemctl start mysql
sudo systemctl enable mysql

Verifică că serviciul rulează:

sudo systemctl status mysql

Conectează-te la shell-ul MySQL:

sudo mysql -u root -p

5.2. Instalarea MariaDB (Alternativă Compatibilă cu MySQL)

MariaDB este o bifurcație dezvoltată de comunitate a MySQL cu performanță îmbunătățită și caracteristici suplimentare:

sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb

5.3. Instalarea PostgreSQL

PostgreSQL este un sistem de bază de date obiect-relațional puternic, de nivel enterprise, cunoscut pentru conformitatea sa cu standardele și extensibilitate.

sudo apt install postgresql postgresql-contrib -y

Pornește și activează PostgreSQL:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Comută la utilizatorul administrativ PostgreSQL și deschide shell-ul:

sudo -i -u postgres
psql

Creează o nouă bază de date și utilizator:

CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO myapp_user;
q

6. Instalarea Instrumentelor și Utilitarelor Suplimentare

Dincolo de esențiale, următoarele instrumente îți îmbunătățesc dramatic productivitatea, vizibilitatea sistemului și capacitățile de implementare.

Docker — Runtime de Containere

Docker te permite să împachetezi aplicații și dependențele lor în containere portabile, asigurând consistență în mediile de dezvoltare, staging și producție.

sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

Adaugă utilizatorul tău la grupul Docker pentru a rula comenzi fără sudo:

sudo usermod -aG docker $USER
newgrp docker

Verifică că Docker funcționează:

docker run hello-world

Pentru implementări de producție, ia în considerare și instalarea Docker Compose:

sudo apt install docker-compose -y

htop — Vizualizator Interactiv de Procese

htop oferă o vizualizare în timp real, codificată în culori, a proceselor sistemului, utilizării CPU, consumului de memorie și mai mult — cu mult superior comenzii standard top.

sudo apt install htop -y
htop

Scurtături cheie htop:

  • F6 — Sortează procesele după coloană
  • F9 — Ucide un proces
  • F10 — Ieșire
  • / — Caută un proces

Tmux — Multiplexor Terminal

Tmux te permite să creezi, să gestionezi și să persistezi mai multe sesiuni de terminal într-o singură conexiune SSH — neprețuit pentru sarcini de lungă durată pe servere la distanță.

sudo apt install tmux -y

Comenzi esențiale Tmux:

# Start a new session
tmux new -s mysession

# Detach from session (keeps it running)
Ctrl+B, then D

# List all sessions
tmux ls

# Reattach to a session
tmux attach -t mysession

Utilitare Suplimentare Recomandate

# fail2ban — Intrusion prevention system
sudo apt install fail2ban -y

# unzip — Extract ZIP archives
sudo apt install unzip -y

# tree — Display directory structure
sudo apt install tree -y

# ncdu — Disk usage analyzer
sudo apt install ncdu -y

# jq — JSON processor for the command line
sudo apt install jq -y

7. Personalizarea Setărilor Sistemului Ubuntu

7.1. Activarea Actualizărilor de Securitate Automate

Menținerea sistemului tău patch-uit este critic — mai ales pe servere accesibile public. Pachetul unattended-upgrades al Ubuntu automatizează acest proces.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Pentru a personaliza comportamentul, editează fișierul de configurare:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Setări cheie de revizuit:

  • Unattended-Upgrade::Allowed-Origins — Definește care depozite declanșează actualizări automate.
  • Unattended-Upgrade::Automatic-Reboot — Setează la true pentru a permite reporniri automate după actualizări kernel.
  • Unattended-Upgrade::Mail — Configurează notificări prin e-mail pentru activitatea de actualizare.

7.2. Gestionarea Aplicațiilor de Pornire (Desktop Ubuntu)

Controlul aplicațiilor care se lansează la conectare ajută la reducerea timpului de boot și economisirea resurselor sistemului.

  1. Caută Startup Applications în meniul aplicației GNOME.
  2. Revizuiește lista programelor de pornire activate.
  3. Dezactivează orice aplicații de care nu ai nevoie la conectare.
  4. Folosește butonul Add pentru a înregistra noi scripturi de pornire sau aplicații.

Pentru mediile de server, gestionează serviciile cu systemd:

# Disable a service from starting at boot
sudo systemctl disable service-name

# Enable a service at boot
sudo systemctl enable service-name

# List all enabled services
sudo systemctl list-unit-files --state=enabled

7.3. Configurarea Fusului Orar al Sistemului

Configurarea corectă a fusului orar este esențială pentru acuratețea jurnalelor, sarcinile programate și validarea certificatelor SSL.

# Check current timezone
timedatectl

# List available timezones
timedatectl list-timezones

# Set timezone
sudo timedatectl set-timezone Europe/London

7.4. Configurarea SSH pentru Acces Sigur la Distanță

Dacă gestionezi un server la distanță, întărirea configurației SSH este de paramount.

sudo nano /etc/ssh/sshd_config

Setări de securitate recomandate:

# Disable root login
PermitRootLogin no

# Disable password authentication (use SSH keys instead)
PasswordAuthentication no

# Change default SSH port (optional but reduces automated scanning)
Port 2222

# Limit login attempts
MaxAuthTries 3

După efectuarea modificărilor, repornește SSH:

sudo systemctl restart sshd

> Important: Testează întotdeauna noua configurație SSH într-o sesiune de terminal separată înainte de a-ți închide conexiunea curentă pentru a evita să fii blocat.

8. Configurarea Copiilor de Siguranță Automatizate

Pierderea datelor este catastrofală. Indiferent dacă rulezi un proiect personal sau o aplicație critică pentru afaceri, copiile de siguranță automatizate sunt obligatorii.

Folosind Instrumentul de Backup Încorporat al Ubuntu (Desktop)

  1. Caută Backups (Déjà Dup) în meniul aplicației.
  2. Configurează destinația backup-ului: unitate externă, partajare de rețea sau stocare în cloud.
  3. Setează un program de backup sub fila Scheduling.
  4. Activează Automatic Backup și configurează perioadele de retenție.

Backup din Linia de Comandă cu rsync (Recomandat pentru Servere)

rsync este standardul de aur pentru backup-uri de fișiere eficiente și incrementale pe servere Linux.

# Basic local backup
rsync -avz /source/directory/ /backup/destination/

# Remote backup over SSH
rsync -avz -e ssh /local/directory/ user@remote-server:/backup/path/

# Exclude specific directories
rsync -avz --exclude='*.log' --exclude='tmp/' /source/ /destination/

Automatizarea Backup-urilor cu Cron

crontab -e

Adaugă o sarcină de backup zilnică la 2:00 AM:

0 2 * * * rsync -avz /var/www/ /backup/www/ >> /var/log/backup.log 2>&1

Bune Practici de Backup

  • Urmează regula 3-2-1: 3 copii de date, pe 2 tipuri diferite de media, cu 1 copie în afara site-ului.
  • Testează regulat backup-urile tale prin efectuarea de exerciții de restaurare.
  • Criptează datele sensibile de backup.
  • Monitorizează jurnalele de backup pentru eșecuri.

9. Monitorizarea Sistemului și Optimizarea Performanței

Instrumente de Monitorizare Încorporate

GNOME System Monitor (Desktop):

Oferă o prezentare generală grafică a utilizării CPU, memoriei, I/O disk și rețelei. Lansează-l din meniul aplicației sau prin:

gnome-system-monitor

htop (Linia de Comandă):

htop

vmstat — Statistici Memorie Virtuală:

vmstat 1 10

iostat — Statistici CPU și I/O:

sudo apt install sysstat -y
iostat -x 1 5

free — Utilizare Memorie:

free -h

df — Utilizare Spațiu Disk:

df -h

netstat / ss — Conexiuni Rețea:

ss -tuln

9.1. Configurarea Monitorizării Sistemului cu Prometheus și Node Exporter

Pentru mediile de producție, o stivă de monitorizare adecvată oferă date istorice, alertare și tablouri de bord.

# Install Node Exporter for system metrics
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo cp node_exporter-*/node_exporter /usr/local/bin/
sudo systemctl enable --now node_exporter

10. Optimizarea Performanței Sistemului

10.1. Dezactivează Serviciile de Pornire Inutile

Identifică și dezactivează serviciile de care nu ai nevoie:

# List all running services
sudo systemctl list-units --type=service --state=running

# Disable a specific service
sudo systemctl disable --now bluetooth.service
sudo systemctl disable --now cups.service

10.2. Configurează și Activează Spațiul Swap

Spațiul swap acționează ca memorie de depășire când RAM-ul este epuizat. Pe servere cu RAM limitat, swap-ul configurat corespunzător poate preveni blocări din cauza memoriei insuficiente.

# Create a 2GB swap file
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Make swap permanent across reboots
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Reglează swappiness (valoare mai mică = swap mai puțin agresiv):

sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

10.3. Elimină Pachetele Nefolosite și Curață Cache-ul de Pachete

În timp, pachetele orfane și descărcările cache consumă spațiu disk semnificativ:

# Remove automatically installed packages no longer needed
sudo apt autoremove -y

# Remove cached package files
sudo apt autoclean

# Full clean of the package cache
sudo apt clean

10.4. Optimizează I/O Disk cu Scheduler-ul Deadline

Pentru SSD-uri, scheduler-ul none (noop) oferă a

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți