Joomla este un sistem de gestionare a conținutului (CMS) open-source, construit pe PHP și MySQL. Pe un server Windows, veți folosi Internet Information Services (IIS) pentru a găzdui site-ul. Acest ghid detaliat vă conduce pas cu pas prin procesul de instalare, configurare și optimizare.
Cerințe preliminare
- Windows 11 sau Windows Server 2012/2016/2019/2022+
- Internet Information Services (IIS) activat cu componentele CGI și URL Rewrite
- PHP 8.1+ (compatibil cu Joomla 5)
- MySQL 8.0.13+ sau MariaDB 10.4.0+
- Unelte de arhivare (7-Zip, WinRAR)
- Un browser modern pentru instalatorul web
1. Activarea rolului IIS și a componentelor necesare
- Deschide Server Manager și accesează Manage → Add Roles and Features.
- Bifează Web Server (IIS).
- În secțiunea Role Services, extinde Web Server și selectează:
- CGI
- Static Content
- Default Document
- URL Rewrite Module (dacă lipsește, descarcă-l separat)
- Finalizează instalarea și repornește serverul, dacă se solicită.
IIS se poate activa și din PowerShell, rulați comanda ca Administrator:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures
2. Instalarea și configurarea PHP
- Descarcă versiunea Non-Thread Safe (NTS) de PHP de pe https://windows.php.net/download/..
- Extrage arhiva într-un folder precum C:\PHP.
- În IIS Manager, intră la Handler Mappings → Add Module Mapping:
- Request path: *.php
- Module: FastCgiModule
- Executable: C:\PHP\php-cgi.exe
- Name: PHP_via_FastCGI
- Deschide php.ini (copie php.ini-development → php.ini) și activează următoarele extensii:
- extension=mysqli
- extension=mbstring
- extension=openssl
- extension=json
- extension=curl
- extension=fileinfo
- Setează upload_max_filesize = 64M și post_max_size = 64M pentru a permite fișiere mari.
Consultați ghidul complet de instalare PHP: Instalarea PHP în Windows cu IIS
3. Instalarea MySQL sau MariaDB
- Descarcă MySQL Community Server sau MariaDB.
- Urmează wizard-ul de instalare, setează o parolă puternică pentru root și configurează portul (implicit 3306).
- Creează un cont secundar cu drepturi reduse pentru baza de date Joomla (ex: joomla_user).
4. Crearea bazei de date Joomla
- Conectează-te la MySQL Client (command line) sau phpMyAdmin.
- Rulează comanda:
sql
CREATE DATABASE joomla CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON joomla.* TO 'joomla_user'@'localhost' IDENTIFIED BY 'parola_puternica';
FLUSH PRIVILEGES;
5. Descărcarea și copierea fișierelor Joomla
- Accesează https://downloads.joomla.org și descarcă ultima versiune ZIP.
- Extrage arhiva în C:\inetpub\wwwroot\joomla.
- Asigură-te că fișierul web.config este disponibil în locația C:\inetpub\wwwroot\joomla pentru suportul URL Rewrite.
6. Setarea permisiunilor
Pe folderul C:\inetpub\wwwroot\joomla acordă drepturi de scriere pentru:
- IUSR
- IIS_IUSRS
Acest lucru permite instalatorului să creeze fișiere de configurare și să uploadeze extensii.
7. Rularea instalatorului web
- Deschide browserul și accesează http://[IP-sau-hostname]/joomla.
- Completează formularul de instalare:
- Site Name, Admin Email, Admin User, Parolă
- Datele de conectare la baza de date creată la pasul 4
- Alege schema de tabel (InnoDB recomandat) și finalizează.
- După succes, șterge folderul installation sau folosește butonul “Remove installation folder”.
8. Optimizare și securitate post-instalare
- Activează HTTPS instalând un certificat SSL (Let’s Encrypt via win-acme sau certsrv).
- Configurează mod_rewrite în web.config pentru URL-uri prietenoase.
- Schimbă prefixul tabelelor în baza de date pentru a preveni atacurile prin injectare.
- Instalează extensii de securitate (ex: Admin Tools, RSFirewall).
- Planifică backup-uri automate ale bazei de date și fișierelor (PowerShell + Task Scheduler).
Tabel comparativ: PHP pe Windows Server
| Caracteristică | Versiune PHP recomandată | Thread Safe | Notă |
| Stabilitate | 8.1 – 8.3 | Da | Compatibilitate cu Joomla 5.x |
| Performanță | 8.4+ | Da | Îmbunătățiri JIT, dar testare prealabilă |
| Extensii critice | mysqli, mbstring, json | N/A | Verifică în phpinfo() |
| Memorie maximă | 128M – 256M | N/A | Ajustabil în php.ini |
Concluzie
Instalarea Joomla pe Windows Server combină puterea IIS cu flexibilitatea PHP/MySQL. Urmând pașii de mai sus, asigurați un mediu securizat, performant și ușor de administrat.
Măsuri de securitate după instalare
1. Actualizări regulate
Asigură-te că instalarea Joomla, temele și extensiile rămân la zi. Versiunile noi aduc corecții de securitate critice, care înlătură vulnerabilitățile descoperite.
2. Forțarea HTTPS
- Instalează un certificat SSL valabil (Let’s Encrypt sau comercial).
- În IIS, configurează redirecționarea automată de la HTTP la HTTPS prin URL Rewrite.
3. Permisiuni stricte pe fișiere și foldere
- Acordă Read & Execute pentru IUSR și IIS_IUSRS pe tot site-ul.
- Setează Read-Only pentru fișierul configuration.php.
- Sterge folder-ul (diretorul) installation după finalizarea instalării din locația C:\inetpub\wwwroot\joomla.
4. Protejarea contului administrativ
- Redenumește utilizatorul implicit admin.
- Activează autentificarea cu doi factori (2FA) din Extensii → Gestionare extensii.
- Instalează un plugin de limitare a tentativelor de autentificare (ex. Brute Force Stopper).
5. Backup automatizat
- Creează un script PowerShell care salvează baza de date și folderul wwwroot\joomla zilnic.
- Programează-l cu Task Scheduler și stochează copiile pe unități externe sau în cloud.
6. Extensii de securitate pentru Joomla
- Admin Tools (pentru „Hardened” settings și Firewall integrat)
- RSFirewall (scanează fișiere, detectează backdoor-uri)
7. Măsuri la nivel de server IIS
- Activează Request Filtering pentru a bloca extensiile periculoase (.exe, .bat).
- Folosește URL Scan sau Web Application Firewall (ex. Azure WAF) pentru a filtra traficul malitios.
- Păstrează Windows Firewall activ și configurează reguli minimale.
8. Jurnalizare și monitorizare
- Activează logurile de acces și eroare din IIS.
- Integrează-le cu un SIEM (ex. Microsoft Sentinel) sau Log Analytics pentru alertare în timp real.
- Monitorizează fișierele de sistem cu un agent de integritate (ex. OSSEC).
9. Alte recomandări
- Schimbă prefixul tabelelor MySQL în timpul instalării (de ex. abc123_).
- Dezactivează serviciile web services (XML-RPC, WebDAV).
- Ascunde versiunea Joomla (din Global Configuration → System → System Settings).
Se aplică la Windows 10/11, Windows Server.