Publicat în

cPanel pe VPS: Instalare, Configurare și Securizare — Ghid Practic pentru Administratori

Când instalezi cPanel & WHM pe un VPS curat, diferența dintre „funcționează” și „e gata pentru producție” se măsoară în ore de configurare fină, nu în minute. Am urmărit un test real pe un VPS nou: de la licența de încercare de 15 zile, prin crearea primului cont de gazduire, rezolvarea unei probleme SSL care blocă AutoSSL, până la instalarea WordPress și verificarea că PHP rulează versiunea corectă. Rezultatul? Interfața WHM este matură și documentația acoperă scenariile de bază, dar marginile — firewall, PHP-FPM pools, limitări de resurse per cont, integrarea cu DNS cluster — îți cer cunoștințe Linux solide. Dacă ești furnizor de hosting sau administrezi servere dedicate pentru clienți, acest articol îți arată pașii concreți și capcanele din experiența directă, completate cu contextul de securitate actual.

De la ISO la WHM: Primii 30 de Minute Care Contează

Instalarea cPanel pe un VPS nou (AlmaLinux 9 sau Ubuntu 22.04 LTS) începe cu un script simplu, dar pregătirea sistemului face diferența. Înainte de curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest, verifică că hostname-ul e FQDN valid (server.domeniul-tau.ro), că ai minim 2 GB RAM (4 GB recomandat pentru producție) și că porturile 2087, 2083, 2096, 53, 80, 443 sunt deschise în firewall-ul cloud-ului și în firewalld/ufw local. Un detaliu ignorat adesea: yum install -y perl (sau apt install -y perl) — installerul cPanel e pur Perl și lipsește pe unele imagini minime.

După instalare (20–40 minute după resurse), accesezi https://IP:2087 cu root și parola serverului. Primul ecran te obligă să accepți licența și să configurezi networking-ul: nameservers (ex: ns1.domeniul-tau.ro, ns2.domeniul-tau.ro), resolveri (1.1.1.1, 8.8.8.8), și adresa IP principală. Aici ești tentat să sări peste „Basic WebHost Manager Setup” — nu face asta. Setează contact email valid pentru alerte (ex: admin@dedicated-servers.ro), activează „Use DNS Clustering” doar dacă ai infrastructura pentru asta, și configurează „Tweak Settings” → „Redirection” pentru a forța HTTPS pe portul 2083. Un check rapid: cat /usr/local/cpanel/version confirmă build-ul (ex: 124.0.5), iar systemctl status cpanel arată serviciile active.

Crearea Primului Cont: Pachete, Limite și AutoSSL

În WHM → „Add a New Account” completezi domeniul, username (max 8 caractere, prefixat automat), parolă puternică (generează cu openssl rand -base64 18), email, și alege un pachet predefinit sau creezi unul nou. Pentru un pachet „Standard” realist: 10 GB disk, 100 GB bandwidth, 5 FTP, 5 baze de date MySQL, 5 subdomenii, 5 parked domains, max_children PHP-FPM = 50, max_requests = 500. Activează „Shell Access” doar dacă clientul cere SFTP/SSH — implicit „Jailed Shell” e mai sigur.

AutoSSL (cPanel, propulsat de Sectigo/Let’s Encrypt) rulează la creare cont și la fiecare 24 de ore. Problema frecventă: domeniul pointează către IP-ul serverului, dar DNS-ul nu e propagat sau zonele DNS locale intră în conflict cu DNS cluster extern. Verifică în WHM → „Manage AutoSSL” → „Logs” erori de tip „DNS DCV failed”. Soluția rapidă: asigură că zona DNS locală are A record corect și că dig @8.8.8.8 domeniu.ro A returnează IP-ul serverului. Dacă folosești Cloudflare sau alt DNS proxy, dezactivează proxy-ul (cloud-ul gri) pentru subdomeniul autodiscover și _cpanel — ele trebuie să fie „DNS only” pentru validare HTTP-01.

WordPress pe cPanel: Site Software vs. Instalare Manuală

WHM include „Installatron” / „Site Software” pentru WordPress one-click, dar administratorii experimentați preferă instalarea manuală pentru control total. Pasii: creezi baza de date în cPanel → „MySQL Databases” (user + DB + all privileges), descarci latest.tar.gz de pe wordpress.org, extragi în public_html, configurezi wp-config.php cu chei unice generate de https://api.wordpress.org/secret-key/1.1/salt/, și rulezi instalatorul web. Avantajul: poți seta prefixul tabelelor (wp_x7k3_ în loc de wp_), dezactivezi file_edit în wp-config.php (define('DISALLOW_FILE_EDIT', true);), și activezi actualizări automate minoritare doar (define('WP_AUTO_UPDATE_CORE', 'minor');).

Aici intervine contextul de securitate actual. Vulnerabilitatea CVE-2026-119977 (race condition în procesul de actualizare WordPress core, CVSS 8.1) a fost patch-uita în WordPress 7.1.4 — dar fereastra de exploatare e de câteva secunde în timpul unpack-ului pachetului. Mitigarea la nivel de server: blochează accesul web la wp-content/upgrade/ direct în Apache/Nginx. Exemplu pentru Apache (încludere globală sau per-vhost):

<DirectoryMatch "^/home/.*/public_html/wp-content/upgrade/">
    Require all denied
</DirectoryMatch>

Nginx equivalent:

location ~* /wp-content/upgrade/ {
    deny all; return 403;
}

Combinat cu wp-cli pentru actualizări programate (wp core update --minor --path=/home/user/public_html), reduci suprafața de atac la minim.

PHP, Extensii și Hardening la Nivel de Server

cPanel 124 vine cu PHP 8.2, 8.3, 8.4 disponibile prin EasyApache 4 (EA4). Pentru producție, activează PHP-FPM per cont (WHM → „MultiPHP Manager” → „PHP-FPM” → „On” pentru fiecare domeniu) și configurează pool-urile dedicate: pm = ondemand, pm.max_children = 50, pm.process_idle_timeout = 30s, php_admin_value[memory_limit] = 256M. Opțiunea opcache.enable=1 cu opcache.jit=1255 (PHP 8.3+) dă boost measurabil.

Important: Actualizarea PHP pe Windows (CVE-2026-111497 — flaw Brotli în cURL cu decompresie automată) nu te afectează direct pe Linux, dar principiul rămâne: rebuild-uiești pachetele oficiale cPanel/EA4 imediat ce apar securitate. Verifică yum check-update ea-php* (sau apt list --upgradable | grep ea-php) zilnic. Pentru extensii critice: redis, memcached, imagick, sodium, xmlrpc (dezactivată implicit în 8.3+), pdo_mysql. Dezactivezi exec, shell_exec, passthru, system, proc_open în disable_functions global (WHM → „MultiPHP INI Editor” → „Editor Mode” → disable_functions = exec,shell_exec,passthru,system,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate).

La nivel de firewall, CSF (ConfigServer Security & Firewall) e standard de facto pe cPanel. Configurare minimă esențială în /etc/csf/csf.conf:

  • TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096"
  • TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,2703"
  • UDP_IN = "20,21,53" ; UDP_OUT = "20,21,53,113,123"
  • LF_PERMBLOCK = 1 ; LF_PERMBLOCK_INTERVAL = 86400 ; LF_NETBLOCK = 1
  • CT_LIMIT = 100 ; CT_INTERVAL = 30 ; CT_EMAIL_ALERT = 1
  • PORTFLOOD = "22;tcp;5;300,80;tcp;20;5,443;tcp;20;5"

Activează LF_DAEMON = 1 și restartează: csf -r. Testează cu csf -t (nu ar trebui să returneze erori FATAL).

Pași Practici pentru Lansare în Producție

  1. Licență validă — activează licența cPanel VPS/Metalic sau trial 15 zile; verifică în WHM → „License Information”.
  2. Hostname & DNS — FQDN valid, A/AAAA records, reverse DNS (PTR) setat de providerul VPS.
  3. EasyApache 4 profil — instalează profilul „All PHP Options + OpCache + PHP-FPM” sau personalizează cu modulele necesare.
  4. AutoSSL & DNS — confirmă că validarea HTTP-01 funcționează pentru un domeniu test înainte de a adăuga clienți.
  5. CSF + LFD — instalează, configurează porturi, activează blocări permanente și alerte email.
  6. Backup-uri — WHM → „Backup Configuration”: daily incremental la storage extern (S3/Wasabi/Backblaze B2 via rclone sau JetBackup), weekly full, retention 30 zile.
  7. Monitoring — Munin (inclus) + Netdata sau Prometheus node_exporter pe port 9100; alerte la load > 2 * CPU cores > 5 min.
  8. Documentare internă — notează versiuni, parole root/WHM (în vault), IP-uri, nameservers, contacte abuz.

Concluzie

cPanel rămâne standardul de facto pentru hosting partajat și revending dintr-un motiv: abstrahează complexitatea Apache/Nginx, DNS, mail, baza de date și SSL într-o interfață coerentă, iar WHM dă administratorului control granular unde contează. Dar „instalare gata” nu există. Diferența dintre un server care rulează cPanel și unul gata pentru clienți se face în detalii: PHP-FPM pools izolate, CSF tunat, AutoSSL funcțional, backup-uri testate, și hardening PHP care anticipează CVE-urile înainte să ajungă în exploate. Dacă gestionezi infrastructură pentru clienți, tratează cPanel ca platformă, nu ca produs final — construiești pe ea procedurile tale de provisioning, monitorizare și incident response. Și dacă ai nevoie de hardware dedicat sau VPS-uri optimizate pentru cPanel, echipa de la dedicated-servers.ro îți poate oferi configurații validate, iar pentru soluții de gazduire gestionată complete, serverspan.ro acoperă tot ciclu de viață.

–

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *