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

  1. Deschide Server Manager și accesează Manage → Add Roles and Features.
  2. Bifează Web Server (IIS).
  3. În secțiunea Role Services, extinde Web Server și selectează:
    • CGI
    • Static Content
    • Default Document
    • URL Rewrite Module (dacă lipsește, descarcă-l separat)
  4. 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

  1. Descarcă versiunea Non-Thread Safe (NTS) de PHP de pe https://windows.php.net/download/..
  2. Extrage arhiva într-un folder precum C:\PHP.
  3. În IIS Manager, intră la Handler MappingsAdd Module Mapping:
    • Request path: *.php
    • Module: FastCgiModule
    • Executable: C:\PHP\php-cgi.exe
    • Name: PHP_via_FastCGI
  4. 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
  5. 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

  1. Descarcă MySQL Community Server sau MariaDB.
  2. Urmează wizard-ul de instalare, setează o parolă puternică pentru root și configurează portul (implicit 3306).
  3. 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

  1. Accesează https://downloads.joomla.org și descarcă ultima versiune ZIP.
  2. Extrage arhiva în C:\inetpub\wwwroot\joomla.
  3. 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

  1. Deschide browserul și accesează http://[IP-sau-hostname]/joomla.
  2. Completează formularul de instalare:
    • Site Name, Admin Email, Admin User, Parolă
    • Datele de conectare la baza de date creată la pasul 4
  3. Alege schema de tabel (InnoDB recomandat) și finalizează.
  4. 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

  1. Redenumește utilizatorul implicit admin.
  2. Activează autentificarea cu doi factori (2FA) din Extensii → Gestionare extensii.
  3. 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.