04 octombrie 2026 · by Alex M.
Apache2 este unul dintre cele mai populare și mature servere web din lume, cu o cotă de piață semnificativă și o comunitate uriașă. Dacă ai un VPS NVMe și vrei să găzduiești mai multe site-uri pe același server, funcționalitatea Virtual Hosts din Apache2 este soluția perfectă. Acest ghid îți arată pas cu pas cum să instalezi, configurezi și securizezi Apache2 pe Ubuntu 22.04.
Virtual Hosts (gazde virtuale) îți permit să rulezi mai multe site-uri web pe același server și aceeași adresă IP, fiecare cu propriul domeniu, configurație și directoare de fișiere. De exemplu, pe un singur VPS SSD poți găzdui simultan site1.md, site2.md și blog.site3.com fără costuri suplimentare de infrastructură.
Există două tipuri principale:
În acest ghid ne concentrăm pe name-based virtual hosts, care funcționează perfect pentru majoritatea scenariilor de producție.
Înainte de a începe, asigură-te că ai:
sudoDacă nu ai încă un server, poți porni rapid cu un VPS NVMe de la CLIQHOST, gata de utilizare în câteva minute.
Conectează-te la server prin SSH și actualizează lista de pachete:
sudo apt update && sudo apt upgrade -y
Instalează Apache2:
sudo apt install apache2 -y
Verifică statusul serviciului:
sudo systemctl status apache2
Dacă totul e în regulă, vei vedea active (running). Activează Apache2 să pornească automat la repornirea serverului:
sudo systemctl enable apache2
Dacă folosești UFW, permite traficul HTTP și HTTPS:
sudo ufw allow 'Apache Full'
sudo ufw status
Acum, dacă accesezi IP-ul serverului în browser, ar trebui să vezi pagina implicită Apache2.
Convențional, fiecare site are propriul director în /var/www/. Creăm structura pentru două site-uri demo:
sudo mkdir -p /var/www/site1.md/public_html
sudo mkdir -p /var/www/site2.md/public_html
Atribuie ownership utilizatorului curent (înlocuiește utilizator cu username-ul tău real):
sudo chown -R $USER:$USER /var/www/site1.md/public_html
sudo chown -R $USER:$USER /var/www/site2.md/public_html
Setează permisiunile corecte:
sudo chmod -R 755 /var/www/site1.md
sudo chmod -R 755 /var/www/site2.md
Creează pagini HTML de test:
nano /var/www/site1.md/public_html/index.html
Conținut exemplu:
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<title>Site1.md</title>
</head>
<body>
<h1>Bun venit pe site1.md!</h1>
<p>Apache2 Virtual Host funcționează corect.</p>
</body>
</html>
Repetă pentru site2.md.
Apache2 stochează configurațiile site-urilor în /etc/apache2/sites-available/. Există un fișier implicit 000-default.conf pe care îl putem folosi ca model.
Creează configurația pentru primul site:
sudo nano /etc/apache2/sites-available/site1.md.conf
Conținut complet:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.md
ServerAlias www.site1.md
DocumentRoot /var/www/site1.md/public_html
<Directory /var/www/site1.md/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site1.md-error.log
CustomLog ${APACHE_LOG_DIR}/site1.md-access.log combined
</VirtualHost>
Creează configurația pentru al doilea site:
sudo nano /etc/apache2/sites-available/site2.md.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site2.md
ServerAlias www.site2.md
DocumentRoot /var/www/site2.md/public_html
<Directory /var/www/site2.md/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site2.md-error.log
CustomLog ${APACHE_LOG_DIR}/site2.md-access.log combined
</VirtualHost>
Activează site-urile noi și dezactivează site-ul implicit (opțional):
sudo a2ensite site1.md.conf
sudo a2ensite site2.md.conf
sudo a2dissite 000-default.conf
Verifică sintaxa configurației:
sudo apache2ctl configtest
Ar trebui să primești Syntax OK. Reîncarcă Apache2:
sudo systemctl reload apache2
Apache2 vine cu un set bogat de module. Iată cele mai utile pentru un server de producție:
# Modul pentru rewrite URL (necesar pentru WordPress, Joomla etc.)
sudo a2enmod rewrite
# Modul pentru compresie GZIP
sudo a2enmod deflate
# Modul pentru headere HTTP (securitate)
sudo a2enmod headers
# Modul pentru cache
sudo a2enmod cache cache_disk
sudo systemctl restart apache2
rewrite?Fără mod_rewrite, permalink-urile WordPress, regulile .htaccess și URL-urile prietenoase cu SEO nu vor funcționa. Directiva AllowOverride All din configurația Virtual Host permite Apache2 să citească fișierele .htaccess din directorul site-ului.
Un server web expus pe internet trebuie hardened. Iată configurările esențiale.
Editează fișierul principal de securitate:
sudo nano /etc/apache2/conf-available/security.conf
Setează:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Dacă un director nu are index.html sau index.php, Apache2 poate afișa conținutul directorului — o breșă de securitate. Asigură-te că în configurația Virtual Host ai:
Options -Indexes
În fișierul Virtual Host sau într-un fișier .htaccess:
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
Pentru securitate avansată a serverului, serviciul nostru de administrare servere poate gestiona configurarea și monitorizarea completă.
Orice site modern trebuie să ruleze pe HTTPS. Instalează Certbot:
sudo apt install certbot python3-certbot-apache -y
Obtine certificat SSL gratuit:
sudo certbot --apache -d site1.md -d www.site1.md
Certbot va modifica automat fișierul Virtual Host și va adăuga redirecționarea HTTP → HTTPS. Verifică reînnoirea automată:
sudo certbot renew --dry-run
Dacă preferi un certificat SSL comercial cu validare organizațională (OV) sau extended (EV), CLIQHOST oferă o gamă completă de certificate.
Apache2 suportă trei module MPM: prefork, worker și event. Pentru performanță maximă cu PHP-FPM, folosește event:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Adaugă în configurația Virtual Host sau în .htaccess:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain text/html text/css
AddOutputFilterByType DEFLATE application/javascript application/json
AddOutputFilterByType DEFLATE image/svg+xml application/xml
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Logurile sunt esențiale pentru depanare și monitorizare. Fiecare Virtual Host are propriile fișiere de log definite:
# Vizualizare log erori în timp real
sudo tail -f /var/log/apache2/site1.md-error.log
# Vizualizare log acces
sudo tail -f /var/log/apache2/site1.md-access.log
Pentru a gestiona rotația automată a logurilor, Apache2 folosește logrotate. Fișierul de configurare se află la /etc/logrotate.d/apache2.
| Comandă | Descriere |
|---|---|
sudo systemctl start apache2 |
Pornește serviciul |
sudo systemctl stop apache2 |
Oprește serviciul |
sudo systemctl restart apache2 |
Repornește complet |
sudo systemctl reload apache2 |
Reîncarcă config fără downtime |
sudo a2ensite nume.conf |
Activează un Virtual Host |
sudo a2dissite nume.conf |
Dezactivează un Virtual Host |
sudo a2enmod modul |
Activează un modul |
sudo a2dismod modul |
Dezactivează un modul |
sudo apache2ctl configtest |
Verifică sintaxa configurației |
sudo apache2ctl -M |
Listează modulele active |
Cauze comune: permisiuni greșite pe directoare, Options -Indexes fără index.html, sau AllowOverride None în loc de All. Verifică:
ls -la /var/www/site1.md/public_html
sudo apache2ctl configtest
Verifică dacă ServerName și ServerAlias sunt setate corect și dacă DNS-ul domeniu pointează spre IP-ul serverului.
Uitați-vă la loguri:
sudo journalctl -xe | grep apache2
sudo tail -50 /var/log/apache2/error.log
sudo ss -tlnp | grep :80
Dacă Nginx rulează deja pe port 80, trebuie să oprești unul dintre servicii sau să configurezi Apache2 pe alt port.
Apache2 cu Virtual Hosts este o soluție robustă și flexibilă pentru găzduirea mai multor site-uri pe un singur server. Ai parcurs instalarea, configurarea Virtual Hosts, activarea modulelor esențiale, securizarea serverului, instalarea SSL și optimizarea performanței.
Dacă ai nevoie de o platformă stabilă pe care să rulezi această configurație, explorează ofertele noastre de VPS NVMe și servere dedicate — performanță garantată, suport tehnic 24/7 și infrastructură modernă în Moldova și Europa.
Ai întrebări sau ai nevoie de ajutor cu configurarea serverului? Contactează echipa CLIQHOST sau descoperă mai multe ghiduri tehnice pe blogul nostru.
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."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."