# Ikkonfigura Apache għal PHP b'mod sigur

> Ikkonfigura Apache għal PHP b'mod sigur: PHP-FPM permezz ta' mod_proxy_fcgi, AllowOverride None, ServerTokens, TraceEnable u LimitRequestBody.

Sors: https://phpsos.de/mt/blog/apache-fuer-php-absichern/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** Biex tikkonfigura Apache għal PHP b'mod sigur, orbot PHP permezz ta' PHP-FPM u `mod_proxy_fcgi`, itfi `.htaccess` b'`AllowOverride None` u ssettja `ServerTokens Prod`, `ServerSignature Off`, `TraceEnable Off` u `Options -Indexes`. `LimitRequestBody` tadattah mal-limiti ta' PHP, moduli mhux meħtieġa titfihom. Il-konfigurazzjoni ma tissostitwixxix aġġornament ta' PHP, imma tnaqqas b'mod sinifikanti s-superfiċje ta' attakk.

## Apache wara PHP2Shell: aktar minn restart

L-operaturi ta' Apache f'Ottubru 2026 kienu taħt pressjoni partikolari. It-tim ta' PHP jikklassifika r-riskju b'mod_php bħala l-ogħla, għax hemmhekk intwera exploit qabel ma jibda jaħdem xi kodiċi tal-applikazzjoni. Il-passi akuti, jiġifieri patch u restart sħiħ, tiddeskrivihom il-paġna [Għaliex mod_php iġorr l-ogħla riskju](https://phpsos.de/mt/php2shell/mod-php-risiko/).

Wara l-patch tibqa' l-mistoqsija kemm hi tajba l-konfigurazzjoni ta' Apache innifsha. Servers li kibru maż-żmien spiss iġorru issettjar ta' ħafna snin: listi ta' direttorji, drittijiet miftuħa ta' `.htaccess`, moduli li ħadd m'għadu jeħtieġ. Kull waħda minnhom tista' tagħmel żball aktar tard akbar milli kellu jkun.

Dan l-artikolu jiddeskrivi konfigurazzjoni bażika żgħira u sigura għal Apache 2.4 b'PHP-FPM. L-eżempji jużaw mogħdijiet ta' Debian u Ubuntu; fil-familja RHEL il-fajls jinsabu taħt `/etc/httpd/`.

## Orbot PHP permezz ta' PHP-FPM minflok mod_php

B'PHP-FPM, PHP jaħdem fi proċessi proprji, separat mis-server tal-web. Apache jgħaddi t-talbiet permezz ta' `mod_proxy_fcgi`. Skont id-dokumentazzjoni ta' Apache, ir-rabta b'`SetHandler` għandha vantaġġ fuq `ProxyPassMatch`: Apache l-ewwel jassenja t-talba stess lil fajl fis-sistema tal-fajls u biss imbagħad jgħaddi lil PHP-FPM.

```apache
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/seite1.sock|fcgi://localhost/"
</FilesMatch>
```

Il-moduli taqbadhom taħt Debian u Ubuntu b'`a2enmod proxy_fcgi`. Min jaqleb minn mod_php jiddiżattiva l-modulu ta' PHP u wara jaqleb mill-MPM Prefork għal Event-MPM. Sfond dwar il-modalità qadima jispjegah [mod_php spjegat: PHP fil-proċess ta' Apache](https://phpsos.de/mt/php/mod-php-erklaert/).

Min-naħa ta' PHP-FPM `security.limit_extensions = .php` jappartjeni f'kull pool. Skont il-manwal ta' PHP, FPM inkella jesegwixxi wkoll fajls `.phar`.

## Ikkonfigura Apache għal PHP b'mod sigur: l-għażliet ewlenin

Xi issettjar japplika għas-server kollu u jappartjeni f'fajl ta' konfigurazzjoni proprju, pereżempju `/etc/apache2/conf-available/haertung.conf`, attivat b'`a2enconf haertung`.

```apache
# Qassar l-indikazzjonijiet tal-verżjoni (possibbli biss fuq is-server kollu)
ServerTokens Prod
ServerSignature Off

# Itfi l-metodu TRACE
TraceEnable Off

# Bażikament iftaħ xejn, il-websajts jippermettu b'mod immirat
<Directory />
    Options None
    AllowOverride None
    Require all denied
</Directory>
```

It-tabella li ġejja tikklassifika l-aktar għażliet importanti. Valuri standard u effett joriġinaw mid-dokumentazzjoni ta' Apache.

| Direttiva | Standard | Rakkomandazzjoni | Għaliex |
|---|---|---|---|
| `ServerTokens` | `Full` | `Prod` | il-`Server`-header isemmi biss „Apache” |
| `ServerSignature` | `Off` | `Off` | l-ebda linja tal-verżjoni taħt paġni ta' żball |
| `TraceEnable` | `on` | `Off` | TRACE jiġi rrifjutat b'405 |
| `Options` | `FollowSymlinks` | `-Indexes`, symlinks biss skont is-sid | l-ebda listi ta' direttorji |
| `AllowOverride` | `None` | `None` | `.htaccess` ma jiġix evalwat |
| `LimitRequestBody` | 1 GiB (minn 2.4.54) | adattat għal `post_max_size` | irrifjuta talbiet kbar kmieni |

Importanti ma' `AllowOverride`: ħafna distribuzzjonijiet u gwidi tas-CMS jissettjaw għall-webroot `AllowOverride All`. B'hekk kull fajl `.htaccess` jista' jibdel regoli Rewrite, handlers u ma' mod_php anke issettjar ta' PHP. Attakkant b'drittijiet tal-kitba f'folder tal-upload jista' jpoġġi hemmhekk `.htaccess` proprja. B'`AllowOverride None` din it-triq tingħalaq.

## VirtualHost bħala mudell

Il-VirtualHost li ġej jgħaqqad il-punti għal websajt waħda. Mogħdijiet taċ-ċertifikati, socket u direttorji tadattahom int. `mod_ssl` u `mod_headers` iridu jkunu attivi.

```apache
<VirtualHost *:443>
    ServerName www.example.de
    DocumentRoot /var/www/seite1/public

    SSLEngine on
    SSLCertificateFile    /etc/ssl/seite1/fullchain.pem
    SSLCertificateKeyFile /etc/ssl/seite1/privkey.pem

    <Directory /var/www/seite1/public>
        Options -Indexes +SymLinksIfOwnerMatch
        AllowOverride None
        Require all granted
    </Directory>

    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/seite1.sock|fcgi://localhost/"
    </FilesMatch>

    # Ibblokka l-amministrazzjoni tal-verżjonijiet u l-fajls tal-ambjent
    <DirectoryMatch "/\.(git|svn|hg)">
        Require all denied
    </DirectoryMatch>
    <FilesMatch "^\.env">
        Require all denied
    </FilesMatch>

    # 32 MiB, skont post_max_size = 32M
    LimitRequestBody 33554432

    Header unset X-Powered-By
    Header always unset X-Powered-By
</VirtualHost>
```

`Header unset` doppju mhuwiex żball. Skont id-dokumentazzjoni ta' Apache, headers minn `mod_proxy_fcgi` jispiċċaw f'tabella interna differenti minn headers tas-server innifsu; b'iż-żewġ varjanti taqbad iż-żewġ każijiet. Headers oħra li jipproteġu b'mod attiv lill-viżitaturi tiddeskrivihom il-gwida [Headers tas-sigurtà għal websajts](https://phpsos.de/mt/ratgeber/sicherheits-header/).

Folders tal-upload u tal-cache jeħtieġu addizzjonalment blokk ta' eżekuzzjoni. Kif issib u tibblokka l-folders kollha li jistgħu jinkitbu jinsab taħt [Ipprojbixxi l-eżekuzzjoni ta' PHP f'folders tal-upload](https://phpsos.de/mt/blog/php-in-uploads-verbieten/).

## Neħħi moduli żejda u ivverifika r-riżultat

Kull modulu mgħabbi huwa kodiċi li jirreaġixxi għal talbiet. Ivverifika liema moduli huma attivi, u itfi dawk li ma teħtiġx. Kandidati tipiċi huma `autoindex`, `status` mingħajr restrizzjoni tal-aċċess, `cgi` u `userdir`.

```bash
# Uri l-moduli attivi
apachectl -M | sort
# Eżempju Debian/Ubuntu: itfi l-modulu tal-listi tad-direttorji
sudo a2dismod autoindex
# Ivverifika l-konfigurazzjoni u biss imbagħad erġa' tgħabbi
sudo apachectl configtest && sudo systemctl reload apache2
# Test minn barra: TRACE għandu jagħti 405, .git 403
curl -s -o /dev/null -w "%{http_code}\n" -X TRACE https://www.example.de/
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.de/.git/HEAD
```

`mod_status` jixraq attenzjoni partikolari. Il-paġna tal-istatus turi talbiet li jaħdmu b'indirizzi u mogħdijiet mitluba. Jekk tkun meħtieġa, illimita l-aċċess b'`Require ip` għan-netwerks tal-amministrazzjoni tiegħek. L-istess japplika għal paġni tal-istatus ta' PHP-FPM li saru aċċessibbli permezz ta' Apache.

> **Importanti:**
> Tibdilx `AllowOverride` mingħajr tħejjija. L-ewwel ħu r-regoli mill-fajls `.htaccess` kollha fil-VirtualHost u ittestja l-websajt fuq kopja. Inkella ridirezzjonijiet u URLs sbieħ ma jaħdmux aktar wara r-reload.

Bħala saff addizzjonali quddiem l-applikazzjoni tista' tkun sensibbli Web Application Firewall proprja; il-bidu jiddeskrivih [Uża ModSecurity u OWASP Core Rule Set](https://phpsos.de/mt/blog/modsecurity-owasp-crs/).

## Konklużjoni: l-ordni tirbaħ fuq miżura waħda

Konfigurazzjoni sigura ta' Apache għal PHP tikkonsisti f'ftit blokki li nifhmu tajjeb. PHP jaħdem permezz ta' PHP-FPM separat mis-server tal-web, `.htaccess` ma jiġix evalwat, indikazzjonijiet tal-verżjoni u TRACE huma mitfija, limiti tad-daqs jaqblu ma' PHP, u folders li jistgħu jinkitbu ma jesegwixxu l-ebda skript. L-ebda wieħed minn dawn il-punti mhu spettakolari waħdu. Flimkien jiżguraw li żball f'post wieħed ma jwassalx minnufih għat-teħid tas-server.

Għad-direzzjoni u għar-responsabbli tal-proġetti, karatteristika oħra hija kważi aktar importanti: konfigurazzjoni f'ordni hija traċċabbli. Jekk ir-regoli kollha jinsabu fil-VirtualHost minflok imxerrdin f'għexieren ta' fajls `.htaccess`, fil-vulnerabbiltà kritika li jmiss jista' jiġi vverifikat malajr liema websajt hija marbuta kif. F'sitwazzjoni bħal dik ta' Ottubru 2026 dan jiffranka eżattament iż-żmien li jgħodd.

Ippjana l-bidla xorta waħda bil-kalma u b'ambjent tat-test. Bidla bla ħsieb minn mod_php għal PHP-FPM ftit qabel tmiem il-ġimgħa toħloq aktar problemi ġodda milli tissolvi.

## Kif tgħin PHP SOS b'mod konkret?

- **Nivverifikaw l-istat:** naqraw il-konfigurazzjoni kollha ta' Apache, il-moduli attivi kollha u l-fajls `.htaccess` kollha.
- **Nippjanaw it-tranżizzjoni:** fejn għad jaħdem mod_php, inħejju l-bidla għal PHP-FPM b'pools proprji għal kull websajt.
- **Insaħħu l-konfigurazzjoni:** nissettjaw l-għażliet ewlenin, nieħdu r-regoli `.htaccess` fil-VirtualHosts u nibblokkaw folders li jistgħu jinkitbu.
- **Nittestjaw u niddokumentaw:** wara kull bidla nivverifikaw il-websajts minn barra u nżommu l-istat bħala parti mit-[Tisħiħ tas-server](https://phpsos.de/mt/leistungen/server-haertung/).


## Mistoqsijiet frekwenti

**Għadni għandi nuża mod_php?**  
Għal setups ġodda nirrakkomandaw PHP-FPM permezz ta' mod_proxy_fcgi. It-tim ta' PHP jikklassifika r-riskju minn PHP2Shell bħala l-ogħla għal mod_php. B'PHP-FPM, PHP jaħdem separat mis-server tal-web, b'utenti proprji għal kull websajt u limiti proprji.

**Għaliex AllowOverride None jekk is-CMS tiegħi jeħtieġ .htaccess?**  
Kulħadd li jista' jikteb fil-webroot jista' joħloq .htaccess, anke kodiċi introdott. B'AllowOverride None Apache ma jevalwax fajls bħal dawn. Ir-regoli tas-CMS tiegħek imbagħad tieħdhom darba fil-VirtualHost. Dan huwa ftit sforz, imma jagħmel il-konfigurazzjoni traċċabbli u aktar mgħaġġla.

**Nista' nissettja ServerTokens differenti għal kull websajt?**  
Le. Skont id-dokumentazzjoni ta' Apache, ServerTokens japplika għas-server kollu u ma jistax jinbidel għal kull VirtualHost. Jikkontrolla fl-istess ħin l-indikazzjoni tal-verżjoni taħt paġni ta' żball li ServerSignature turi.

**X'inhu l-valur standard ta' LimitRequestBody?**  
Minn Apache 2.4.54 l-istandard huwa 1 GiB, fil-verżjoni 2.4.53 u eqdem kien bla limitu. Issettja l-valur skont post_max_size tal-konfigurazzjoni ta' PHP tiegħek, biex talbiet kbar żżejjed jiġu rrifjutati diġà fis-server tal-web.

## Sorsi

- [Apache: funzjonijiet ewlenin (core)](https://httpd.apache.org/docs/2.4/mod/core.html)
- [Apache: mod_proxy_fcgi](https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html)
- [Apache: mod_headers](https://httpd.apache.org/docs/2.4/mod/mod_headers.html)
- [php.net: avviżi tas-sigurtà](https://www.php.net/)
