// SSD VPS

Cum instalezi și configurezi stiva LAMP pe un VPS Linux: ghid complet — CLIQHOST

14 noiembrie 2026 · by Alex M.

Cum instalezi și configurezi stiva LAMP pe un VPS Linux: ghid complet — CLIQHOST

Stiva LAMP (Linux, Apache, MySQL, PHP) rămâne una dintre cele mai populare combinații de tehnologii pentru găzduirea aplicațiilor web. De la WordPress și Joomla până la aplicații PHP personalizate, LAMP oferă o fundație stabilă, bine documentată și extrem de flexibilă.

În acest ghid vei învăța cum să instalezi și să configurezi complet stiva LAMP pe un VPS SSD cu Ubuntu 22.04, pas cu pas, cu exemple de comenzi reale și sfaturi de optimizare.


Ce este stiva LAMP și de ce să o folosești?

LAMP este acronimul pentru:

  • Linux — sistemul de operare (Ubuntu, Debian, CentOS etc.)
  • Apache — serverul web care gestionează cererile HTTP
  • MySQL / MariaDB — baza de date relațională
  • PHP — limbajul de scriptare server-side

Această combinație este folosită de milioane de site-uri și aplicații web în toată lumea. Avantajele principale:

  • Open-source — toate componentele sunt gratuite
  • Ecosistem vast — documentație, tutoriale și comunitate uriașă
  • Compatibilitate — suportă WordPress, Joomla, Drupal, Laravel și multe altele
  • Flexibilitate — fiecare componentă poate fi înlocuită sau extinsă

Dacă vrei să rulezi o aplicație PHP în producție fără overhead-ul unui panel de hosting, un VPS NVMe cu stivă LAMP configurată manual este soluția ideală.


Cerințe preliminare

Înainte să începi, asigură-te că ai:

  • Un VPS cu Ubuntu 22.04 LTS (recomandat)
  • Acces SSH cu privilegii root sau utilizator sudo
  • Un domeniu sau adresă IP publică
  • Cunoștințe de bază în linia de comandă Linux

Dacă nu ai încă un server, poți comanda rapid un VPS SSD de la CLIQHOST și îl primești activ în câteva minute.


Pasul 1: Actualizează sistemul

Înaintea oricărei instalări, actualizează lista de pachete și sistemul existent:

sudo apt update && sudo apt upgrade -y

Repornește serverul dacă există actualizări de kernel:

sudo reboot

Pasul 2: Instalarea Apache

Apache este serverul web care va procesa cererile HTTP și va servi fișierele aplicației tale.

Instalare

sudo apt install apache2 -y

Pornire și activare la boot

sudo systemctl start apache2
sudo systemctl enable apache2

Verificare status

sudo systemctl status apache2

Dacă totul funcționează corect, vei vedea active (running) în output.

Configurarea firewallului

Permite traficul HTTP și HTTPS prin UFW:

sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status

Acum, dacă accesezi IP-ul serverului tău dintr-un browser, vei vedea pagina default Apache: "Apache2 Ubuntu Default Page".

💡 Sfat: Poți dezactiva pagina implicită Apache cu sudo a2dissite 000-default.conf după ce configurezi propriul VirtualHost.


Pasul 3: Instalarea MySQL

MySQL va gestiona bazele de date pentru aplicațiile tale web.

Instalare

sudo apt install mysql-server -y

Securizarea instalării

Rulează scriptul de securizare MySQL:

sudo mysql_secure_installation

Vei fi ghidat printr-un set de întrebări:

  • Validate Password Plugin — recomandat Y (activează validarea parolelor)
  • Remove anonymous users — Y
  • Disallow root login remotely — Y (important pentru securitate)
  • Remove test database — Y
  • Reload privilege tables — Y

Crearea unui utilizator și baze de date

Conectează-te la MySQL:

sudo mysql

Creează o bază de date și un utilizator dedicat (nu folosi root pentru aplicații):

CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'ParolaFoarteSigura123!';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

⚠️ Atenție: Folosește întotdeauna parole complexe și utilizatori separați per aplicație. Niciodată nu folosi contul root al MySQL în conexiunile aplicației.


Pasul 4: Instalarea PHP

PHP este limbajul de scriptare care face legătura între Apache și MySQL, executând logica aplicației tale web.

Instalare PHP și modulele esențiale

sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-intl -y

Verificarea versiunii PHP

php -v

Output așteptat (poate varia):

PHP 8.1.x (cli) (built: ...)

Configurarea PHP pentru producție

Editează fișierul php.ini:

sudo nano /etc/php/8.1/apache2/php.ini

Modifică sau verifică aceste setări:

; Limita de memorie per script
memory_limit = 256M

; Dimensiunea maximă a fișierelor uploadate
upload_max_filesize = 64M
post_max_size = 64M

; Timp maxim de execuție
max_execution_time = 300

; Ascunde versiunea PHP din headerele HTTP (securitate)
expose_php = Off

; Activează error logging (nu afișa erori în browser pe producție)
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

Repornește Apache pentru a aplica modificările:

sudo systemctl restart apache2

Test PHP

Creează un fișier de test:

sudo nano /var/www/html/info.php

Conținut:

<?php
phpinfo();

Accesează http://IP_SERVER/info.php în browser. Vei vedea pagina PHP Info cu toate detaliile instalării.

⚠️ Important: Șterge acest fișier după verificare — expune informații sensibile despre server!

sudo rm /var/www/html/info.php

Pasul 5: Configurarea Virtual Hosts în Apache

Virtual Hosts îți permite să găzduiești mai multe site-uri pe același server.

Crearea structurii de directoare

sudo mkdir -p /var/www/exemplu.md/public_html
sudo chown -R $USER:$USER /var/www/exemplu.md
sudo chmod -R 755 /var/www/exemplu.md

Crearea unui fișier de configurare VirtualHost

sudo nano /etc/apache2/sites-available/exemplu.md.conf

Conținut:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName exemplu.md
    ServerAlias www.exemplu.md
    DocumentRoot /var/www/exemplu.md/public_html

    <Directory /var/www/exemplu.md/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/exemplu.md_error.log
    CustomLog ${APACHE_LOG_DIR}/exemplu.md_access.log combined
</VirtualHost>

Activarea site-ului și modulului rewrite

sudo a2ensite exemplu.md.conf
sudo a2enmod rewrite
sudo systemctl reload apache2

Pasul 6: Instalarea SSL cu Let's Encrypt (Certbot)

Orice site modern trebuie să ruleze pe HTTPS. Certbot automatizează obținerea și reînnoirea certificatelor SSL gratuite de la Let's Encrypt.

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d exemplu.md -d www.exemplu.md

Certbot va modifica automat configurația Apache și va redirecta HTTP → HTTPS.

Verifică reînnoirea automată:

sudo certbot renew --dry-run

Dacă preferi un certificat SSL comercial pentru proiecte business, CLIQHOST oferă certificate de la autorități de certificare recunoscute global.


Pasul 7: Optimizarea performanței Apache

Activarea modulelor de compresie și caching

sudo a2enmod deflate
sudo a2enmod expires
sudo a2enmod headers
sudo systemctl restart apache2

Configurarea compresiei GZIP

Adaugă în fișierul .htaccess sau direct în VirtualHost:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    AddOutputFilterByType DEFLATE application/javascript application/json
    AddOutputFilterByType DEFLATE application/x-font-ttf application/vnd.ms-fontobject
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

Configurarea cache-ului pentru resurse statice

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType text/html "access plus 1 day"
</IfModule>

Pasul 8: Configurarea MPM pentru Apache

Apache are mai multe module de procesare (MPM). Implicit este mpm_prefork, dar pentru performanță mai bună cu PHP-FPM se recomandă mpm_event.

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo apt install php8.1-fpm -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2 php8.1-fpm

💡 PHP-FPM gestionează procesele PHP separat de Apache, îmbunătățind semnificativ performanța sub sarcină mare. Ideal pentru site-uri cu trafic mediu-ridicat pe un VPS NVMe.


Pasul 9: Monitorizarea și logurile

Vizualizarea logurilor Apache în timp real

# Loguri de eroare
sudo tail -f /var/log/apache2/error.log

# Loguri de acces
sudo tail -f /var/log/apache2/access.log

Verificarea utilizării resurselor

# Utilizare CPU și RAM
htop

# Spațiu pe disc
df -h

# Procesele Apache
ps aux | grep apache2

Pentru monitorizare avansată (Prometheus, Grafana, Zabbix), CLIQHOST oferă servicii de administrare server unde echipa noastră configurează și monitorizează infrastructura ta.


Pasul 10: Testarea completă a stivei LAMP

Creează un fișier PHP simplu care testează conexiunea la baza de date:

sudo nano /var/www/exemplu.md/public_html/test_db.php
<?php
$host = 'localhost';
$dbname = 'myapp_db';
$username = 'myapp_user';
$password = 'ParolaFoarteSigura123!';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "✅ Conexiune la MySQL reușită!";
} catch (PDOException $e) {
    echo "❌ Eroare conexiune: " . $e->getMessage();
}

Accesează https://exemplu.md/test_db.php. Dacă vezi mesajul de succes, stiva LAMP funcționează complet.

⚠️ Șterge fișierul de test imediat după verificare!

sudo rm /var/www/exemplu.md/public_html/test_db.php

Securitate suplimentară pentru stiva LAMP

Protejarea directorului de administrare

Dacă ai un director /admin, adaugă protecție cu parolă:

sudo htpasswd -c /etc/apache2/.htpasswd admin_user

În VirtualHost sau .htaccess:

<Directory /var/www/exemplu.md/public_html/admin>
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>

Dezactivarea metodelor HTTP nedorite

<LimitExcept GET POST HEAD>
    deny from all
</LimitExcept>

Ascunderea versiunii Apache

Editează /etc/apache2/conf-available/security.conf:

ServerTokens Prod
ServerSignature Off

Concluzie

Ai instalat și configurat o stivă LAMP completă pe un VPS Linux, incluzând:

  • ✅ Apache cu Virtual Hosts și module de optimizare
  • ✅ MySQL cu utilizatori și baze de date dedicate
  • ✅ PHP cu configurații pentru producție și PHP-FPM
  • ✅ SSL automat cu Certbot
  • ✅ Măsuri de securitate de bază

O stivă LAMP corect configurată îți oferă o bază solidă pentru orice aplicație PHP, de la un blog WordPress simplu până la o aplicație enterprise complexă.

Dacă vrei să sari peste etapa de configurare manuală sau preferi un mediu gestionat profesionist, echipa CLIQHOST este la dispoziția ta. Explorează planurile noastre VPS SSD, VPS NVMe sau serviciile de administrare server — sau contactează-ne pentru o soluție personalizată.

SHARE
// what clients say

What Our Clients Say

Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău