September 10, 2026 · by Alex M.
Drupal este unul dintre cele mai puternice sisteme de management al conținutului (CMS) open-source din lume. Spre deosebire de WordPress, Drupal excelează în site-uri cu structuri de date complexe, portaluri guvernamentale, platforme educaționale și aplicații web enterprise. Dacă ai nevoie de flexibilitate maximă și control total asupra arhitecturii site-ului tău, Drupal merită cu adevărat luat în calcul.
În acest ghid vei afla cum să instalezi și să configurezi Drupal 10 pe un VPS NVMe cu Ubuntu 22.04, de la zero până la un site funcțional și securizat.
Drupal are cerințe de resurse mai ridicate decât un CMS simplu. Un hosting shared cPanel poate rula Drupal pentru site-uri mici, dar pentru proiecte serioase vei întâmpina limitări de memorie PHP, restricții pe procese concurente și imposibilitatea de a configura serverul după nevoile specifice ale Drupal.
Un VPS îți oferă:
- Control complet asupra configurației PHP, Nginx/Apache și MariaDB
- Memorie RAM dedicată (Drupal recomandă minim 256 MB RAM pentru PHP)
- Posibilitatea de a instala extensii PHP necesare
- Scalabilitate rapidă pe măsură ce traficul crește
Pentru un site Drupal de producție, un VPS SSD sau VPS NVMe reprezintă alegerea ideală.
Înainte de a începe instalarea, asigură-te că VPS-ul tău respectă cerințele minime:
Conectează-te la VPS prin SSH și actualizează pachetele:
sudo apt update && sudo apt upgrade -y
Instalează Apache, MariaDB și PHP cu extensiile necesare:
sudo apt install -y apache2 mariadb-server mariadb-client \n php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-gd \n php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip \n php8.1-intl php8.1-opcache php8.1-apcu \n libapache2-mod-php8.1 unzip curl git
Activează modulele Apache necesare:
sudo a2enmod rewrite expires headers
sudo systemctl restart apache2
Securizează instalarea MariaDB:
sudo mysql_secure_installation
Răspunde cu Y la toate întrebările și setează o parolă puternică pentru root.
Creează baza de date și utilizatorul pentru Drupal:
sudo mysql -u root -p
CREATE DATABASE drupal10 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'ParolaSecreta123!';
GRANT ALL PRIVILEGES ON drupal10.* TO 'drupaluser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Notă: Folosește întotdeauna o parolă complexă și un utilizator dedicat pentru fiecare aplicație — niciodată root.
Folosim Composer, managerul oficial de pachete PHP pentru Drupal 10.
Instalează Composer global:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version
Creează proiectul Drupal 10 în directorul web:
cd /var/www
sudo composer create-project drupal/recommended-project drupal10
Setează permisiunile corecte:
sudo chown -R www-data:www-data /var/www/drupal10
sudo chmod -R 755 /var/www/drupal10
sudo chmod -R 775 /var/www/drupal10/web/sites/default/files
Creează un fișier de configurare pentru site-ul Drupal:
sudo nano /etc/apache2/sites-available/drupal10.conf
Adaugă următoarea configurație (înlocuiește example.com cu domeniul tău):
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/drupal10/web
<Directory /var/www/drupal10/web>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/drupal10-error.log
CustomLog ${APACHE_LOG_DIR}/drupal10-access.log combined
</VirtualHost>
Activează site-ul și dezactivează cel default:
sudo a2ensite drupal10.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
Editează fișierul php.ini pentru a optimiza performanța:
sudo nano /etc/php/8.1/apache2/php.ini
Modifică sau adaugă aceste valori:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Chisinau
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
Repornește Apache după modificări:
sudo systemctl restart apache2
Deschide browserul și accesează http://example.com. Vei fi întâmpinat de wizard-ul de instalare Drupal.
Pași în interfața web:
Standard pentru site-uri obișnuite sau Minimal pentru control maximMySQL, MariaDBdrupal10drupaluserlocalhostDupă finalizare, vei accesa dashboard-ul Drupal.
Securitatea este critică pentru orice CMS. Iată măsurile esențiale:
sites/defaultsudo chmod 555 /var/www/drupal10/web/sites/default
sudo chmod 444 /var/www/drupal10/web/sites/default/settings.php
Orice site de producție trebuie să ruleze pe HTTPS. Poți folosi un certificat SSL sau Let's Encrypt gratuit:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
settings.phpEditează /var/www/drupal10/web/sites/default/settings.php și adaugă:
// Dezactivează afișarea erorilor în producție
$config['system.logging']['error_level'] = 'hide';
// Trusted host patterns
$settings['trusted_host_patterns'] = [
'^example\.com$',
'^www\.example\.com$',
];
Din linia de comandă, cu Drush (tool CLI pentru Drupal):
cd /var/www/drupal10
sudo -u www-data composer require drupal/seckit
sudo -u www-data vendor/bin/drush en seckit -y
Drupal include mai multe mecanisme native de caching:
În Admin → Configuration → Performance:
- Activează „Cache pages for anonymous users"
- Activează „Cache blocks"
- Setează „Minimum cache lifetime" la 10–30 minute
Tot în Performance:
- Bifează „Aggregate CSS files"
- Bifează „Aggregate JavaScript files"
Aceste setări reduc semnificativ numărul de request-uri HTTP.
Pentru site-uri cu trafic mare, poți integra Redis ca backend de cache:
sudo apt install redis-server php8.1-redis -y
sudo systemctl enable redis-server
cd /var/www/drupal10
sudo -u www-data composer require drupal/redis
Adaugă în settings.php:
$settings['redis.connection']['host'] = '127.0.0.1';
$settings['redis.connection']['port'] = 6379;
$settings['cache']['default'] = 'cache.backend.redis';
Drush este CLI-ul oficial pentru Drupal și îți economisește mult timp:
# Curăță cache
sudo -u www-data vendor/bin/drush cr
# Actualizează baza de date după update de modul
sudo -u www-data vendor/bin/drush updb -y
# Aplică configurații
sudo -u www-data vendor/bin/drush cim -y
# Exportă configurații
sudo -u www-data vendor/bin/drush cex -y
# Listează modulele instalate
sudo -u www-data vendor/bin/drush pm:list --status=enabled
Configurea unui backup regulat este esențială. Creează un script simplu:
sudo nano /usr/local/bin/backup-drupal.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backups/drupal"
mkdir -p $BACKUP_DIR
# Backup baza de date
mysqldump -u drupaluser -pParolaSecreta123! drupal10 | gzip > $BACKUP_DIR/db-$DATE.sql.gz
# Backup fișiere
tar -czf $BACKUP_DIR/files-$DATE.tar.gz /var/www/drupal10/web/sites/default/files
# Păstrează ultimele 7 backup-uri
find $BACKUP_DIR -name '*.gz' -mtime +7 -delete
echo "Backup Drupal finalizat: $DATE"
Fă scriptul executabil și adaugă-l în cron:
sudo chmod +x /usr/local/bin/backup-drupal.sh
sudo crontab -e
Adaugă linia:
0 3 * * * /usr/local/bin/backup-drupal.sh >> /var/log/drupal-backup.log 2>&1
Drupal 10 se actualizează prin Composer:
# Actualizează Drupal core
cd /var/www/drupal10
sudo -u www-data composer update drupal/core-recommended drupal/core-composer-scaffold --with-all-dependencies
# Aplică update-urile bazei de date
sudo -u www-data vendor/bin/drush updb -y
# Curăță cache
sudo -u www-data vendor/bin/drush cr
Recomandare: Testează întotdeauna update-urile pe un mediu de staging înainte de producție. Cu un server dedicat managed, această etapă poate fi delegată echipei de administrare.
| Criteriu | Drupal | WordPress |
|---|---|---|
| Tipuri de conținut personalizate | ✅ Nativ, avansat | ⚠️ Prin plugin-uri |
| Securitate enterprise | ✅ Excelentă | ⚠️ Depinde de plugin-uri |
| Curba de învățare | ⚠️ Abruptă | ✅ Ușoară |
| Scalabilitate | ✅ Foarte bună | ✅ Bună |
| Ecosistem teme/plugin-uri | ⚠️ Mai mic | ✅ Enorm |
| Potrivit pentru site-uri mici | ⚠️ Overkill | ✅ Ideal |
Dacă ai nevoie de un hosting WordPress optimizat pentru un site mai simplu, acesta rămâne cea mai rapidă soluție. Drupal strălucește în proiecte complexe cu multiple tipuri de conținut, roluri de utilizatori granulare și integrări API avansate.
Adaugă trusted_host_patterns în settings.php (vezi Pasul 7).
filessudo chown -R www-data:www-data /var/www/drupal10/web/sites/default/files
sudo chmod -R 775 /var/www/drupal10/web/sites/default/files
composer config --global process-timeout 600
Mărește memory_limit în php.ini la 512M și verifică că OPcache este activ.
Drupal 10 pe un VPS Linux este o combinație puternică pentru site-uri și aplicații web serioase. Cu configurația corectă a stack-ului LAMP, PHP optimizat, SSL activ și backup automat, vei obține o platformă stabilă, sigură și performantă.
Dacă vrei să te concentrezi pe dezvoltarea site-ului fără să gestionezi infrastructura, echipa CLIQHOST oferă servicii de administrare servere și VPS NVMe cu suport tehnic dedicat. Contactează-ne pentru o soluție adaptată nevoilor tale.
Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.
"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."