# Apache a chumrú go slán do PHP

> Apache a chumrú go slán do PHP: PHP-FPM trí mod_proxy_fcgi, AllowOverride None, ServerTokens, TraceEnable agus LimitRequestBody a shocrú agus a sheiceáil.

Foinse: https://phpsos.de/ga/blog/apache-fuer-php-absichern/  
Staid: 25/10/2026  
Soláthraí: PHP SOS, Cabhair éigeandála PHP agus slándáil freastalaí. Cabhair láithreach trí WhatsApp: https://wa.me/491736494914?text=Dia%20duit%2C%20a%20PHP%20SOS%2C%20t%C3%A1%20cabhair%20de%20dh%C3%ADth%20orainn%20len%C3%A1r%20bhfreastala%C3%AD%20PHP.%20Cuideachta%3A%20%E2%80%A6%20Su%C3%ADomh%20gr%C3%A9as%C3%A1in%3A%20%E2%80%A6

**Go achomair:** Chun Apache a chumrú go slán do PHP, ceangail PHP trí PHP-FPM agus `mod_proxy_fcgi`, múch `.htaccess` le `AllowOverride None` agus socraigh `ServerTokens Prod`, `ServerSignature Off`, `TraceEnable Off` agus `Options -Indexes`. Oiriúnaíonn tú `LimitRequestBody` do theorainneacha PHP, agus múchann tú modúil nach bhfuil de dhíth. Ní chuireann an chumraíocht ionad nuashonraithe PHP, ach laghdaíonn sí an dromchla ionsaithe go mór.

## Apache tar éis PHP2Shell: níos mó ná atosú

Bhí oibritheoirí Apache faoi bhrú speisialta i nDeireadh Fómhair 2026. Measann foireann PHP gurb é mod_php an riosca is airde, mar gur léiríodh teacht aníos ansin sula ritheann cód feidhmchláir ar chor ar bith. Déanann an leathanach [Cén fáth a n-iompraíonn mod_php an riosca is airde](https://phpsos.de/ga/php2shell/mod-php-risiko/) cur síos ar na céimeanna géara, is é sin paistiú agus atosú iomlán.

Tar éis an phaiste fanann an cheist cé chomh maith is atá cumraíocht Apache féin. Is minic a iompraíonn freastalaithe a d'fhás socruithe ó go leor blianta: liostaí eolaire, cearta `.htaccess` oscailte, modúil nach bhfuil de dhíth ar aon duine a thuilleadh. Is féidir le gach ceann acu earráid níos déanaí a dhéanamh níos mó ná mar is gá.

Déanann an t-alt seo cur síos ar bhunchumraíocht chaol, shlán d'Apache 2.4 le PHP-FPM. Úsáideann na samplaí cosáin Debian agus Ubuntu; i dteaghlach RHEL tá na comhaid faoi `/etc/httpd/`.

## PHP a cheangal trí PHP-FPM in ionad mod_php

Le PHP-FPM ritheann PHP i bpróisis dá gcuid féin, scartha ón bhfreastalaí gréasáin. Tugann Apache iarratais ar aghaidh trí `mod_proxy_fcgi`. De réir dhoiciméadacht Apache tá buntáiste ag an gceangal trí `SetHandler` ar `ProxyPassMatch`: sanntaíonn Apache an t-iarratas do chomhad sa chóras comhad ar dtús é féin agus ní thugann sé do PHP-FPM é ach ansin.

```apache
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/seite1.sock|fcgi://localhost/"
</FilesMatch>
```

Cumasaíonn tú na modúil ar Debian agus Ubuntu le `a2enmod proxy_fcgi`. An té a athraíonn ó mod_php, díghníomhachtaíonn sé an modúl PHP agus athraíonn sé ina dhiaidh sin ó Prefork go dtí Event-MPM. Míníonn [mod_php mínithe: PHP i bpróiseas Apache](https://phpsos.de/ga/php/mod-php-erklaert/) cúlra an tseanmhodha oibriúcháin.

Ar thaobh PHP-FPM baineann `security.limit_extensions = .php` le gach linn. De réir lámhleabhar PHP ritheann FPM comhaid `.phar` freisin ar shlí eile.

## Apache a chumrú go slán do PHP: na croí-roghanna

Tá roinnt socruithe i bhfeidhm don fhreastalaí ar fad agus baineann siad le comhad cumraíochta dá chuid féin, mar shampla `/etc/apache2/conf-available/haertung.conf`, cumasaithe le `a2enconf haertung`.

```apache
# Faisnéis leagain a ghiorrú (ar fud an fhreastalaí amháin is féidir)
ServerTokens Prod
ServerSignature Off

# Modh TRACE a mhúchadh
TraceEnable Off

# I bprionsabal ná scaoil aon rud, ceadaigh suíomhanna gréasáin go sonrach
<Directory />
    Options None
    AllowOverride None
    Require all denied
</Directory>
```

Aicmíonn an tábla seo a leanas na príomhroghanna. Tagann réamhshocruithe agus éifeacht as doiciméadacht Apache.

| Treoir | Réamhshocrú | Moladh | Cén fáth |
|---|---|---|---|
| `ServerTokens` | `Full` | `Prod` | ní luann ceanntásc `Server` ach “Apache” |
| `ServerSignature` | `Off` | `Off` | gan líne leagain faoi leathanaigh earráide |
| `TraceEnable` | `on` | `Off` | diúltaítear TRACE le 405 |
| `Options` | `FollowSymlinks` | `-Indexes`, siombalaigh de réir úinéara amháin | gan liostaí eolaire |
| `AllowOverride` | `None` | `None` | ní mheasann sé `.htaccess` |
| `LimitRequestBody` | 1 GiB (ó 2.4.54) | de réir `post_max_size` | iarratais mhóra a dhiúltú go luath |

Tábhachtach le `AllowOverride`: socraíonn go leor dáiltí agus treoracha CMS `AllowOverride All` don webroot. Leis sin is féidir le gach comhad `.htaccess` rialacha athscríofa, láimhseálaithe agus, le mod_php, socruithe PHP fiú a athrú. Is féidir le hionsaitheoir le cearta scríofa i bhfillteán uaslódála `.htaccess` dá chuid féin a fhágáil ansin. Le `AllowOverride None` tá an bealach seo dúnta.

## VirtualHost mar theimpléad

Ceanglaíonn an VirtualHost seo a leanas na pointí le chéile do shuíomh gréasáin aonair. Oiriúnaigh cosáin teastas, socket agus eolairí. Ní mór `mod_ssl` agus `mod_headers` a bheith gníomhach.

```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>

    # Rialú leaganacha agus comhaid timpeallachta a bhac
    <DirectoryMatch "/\.(git|svn|hg)">
        Require all denied
    </DirectoryMatch>
    <FilesMatch "^\.env">
        Require all denied
    </FilesMatch>

    # 32 MiB, ag teacht le post_max_size = 32M
    LimitRequestBody 33554432

    Header unset X-Powered-By
    Header always unset X-Powered-By
</VirtualHost>
```

Ní botún é an dúbailt `Header unset`. De réir dhoiciméadacht Apache téann ceanntásca ó `mod_proxy_fcgi` i dtábla inmheánach eile ná ceanntásca an fhreastalaí féin; leis an dá leagan gabhann tú an dá chás. Déanann an treoir [Ceanntásca slándála do shuímh gréasáin](https://phpsos.de/ga/ratgeber/sicherheits-header/) cur síos ar cheanntásca breise a chosnaíonn cuairteoirí go gníomhach.

Teastaíonn bac rite breise ó fhillteáin uaslódála agus taisce. Conas a fhaigheann tú gach fillteán inscríofa agus a bhlocálann tú iad, tá sé ag [Rith PHP i bhfillteáin uaslódála a thoirmeasc](https://phpsos.de/ga/blog/php-in-uploads-verbieten/).

## Modúil a ghlanadh amach agus an toradh a sheiceáil

Is cód é gach modúl luchtaithe a fhreagraíonn d'iarratais. Seiceáil cé na modúil atá gníomhach agus múch an méid nach bhfuil de dhíth ort. Is iarrthóirí tipiciúla iad `autoindex`, `status` gan srian rochtana, `cgi` agus `userdir`.

```bash
# Modúil ghníomhacha a thaispeáint
apachectl -M | sort
# Sampla Debian/Ubuntu: modúl liostaí eolaire a mhúchadh
sudo a2dismod autoindex
# Cumraíocht a sheiceáil agus ansin amháin athluchtú
sudo apachectl configtest && sudo systemctl reload apache2
# Tástáil ón taobh amuigh: ba cheart do TRACE 405 a thabhairt, .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
```

Is fiú aird speisialta a thabhairt ar `mod_status`. Taispeánann an leathanach stádais iarratais reatha le seoltaí agus cosáin glaoite. Má tá sé de dhíth, cuir srian ar rochtain le `Require ip` ar do ghréasáin riaracháin. Baineann an rud céanna le leathanaigh stádais PHP-FPM a rinneadh inrochtana trí Apache.

> **Tábhachtach:**
> Ná hathraigh `AllowOverride` gan ullmhúchán. Glac rialacha ó gach comhad `.htaccess` isteach sa VirtualHost ar dtús agus déan tástáil ar an suíomh gréasáin ar chóip. Ar shlí eile ní oibreoidh athsheolta ná URLanna deasa tar éis athluchtaithe.

Mar chiseal breise os comhair an fheidhmchláir, d'fhéadfadh Web Application Firewall dá chuid féin a bheith ciallmhar; déanann [ModSecurity agus OWASP Core Rule Set a úsáid](https://phpsos.de/ga/blog/modsecurity-owasp-crs/) cur síos ar an tús.

## Conclúid: is fearr ord ná beart aonair

Tá cumraíocht shlán Apache do PHP comhdhéanta de chúpla bloc tógála a thuigtear go maith. Ritheann PHP trí PHP-FPM scartha ón bhfreastalaí gréasáin, ní mheastar `.htaccess`, tá faisnéis leagain agus TRACE múchta, tá teorainneacha méide ag teacht le PHP, agus ní ritheann fillteáin inscríofa scripteanna. Níl aon cheann de na pointí seo spéisiúil ina n-aonar. Le chéile cinntíonn siad nach dtugann earráid in áit amháin seilbh ar an bhfreastalaí láithreach.

Don bhainistíocht agus do cheannairí tionscadail tá an dara hairí beagnach níos tábhachtaí: tá cumraíocht ordúil intuigthe. Má tá gach riail sa VirtualHost in ionad a bheith scaipthe ar dhosaen comhad `.htaccess`, is féidir a sheiceáil go tapa ag an gcéad leochaileacht chriticiúil eile cén suíomh gréasáin atá ceangailte conas. I gcás cosúil le Deireadh Fómhair 2026 sábhálann sé sin go beacht an t-am a bhfuil tábhacht leis.

Pleanáil an t-aistriú faoi shuaimhneas agus le timpeallacht thástála mar sin féin. Cruthaíonn athrú deifreach ó mod_php go PHP-FPM go gairid roimh dheireadh seachtaine fadhbanna nua seachas iad a réiteach.

## Conas a chabhraíonn PHP SOS go nithiúil?

- **An stoc a sheiceáil:** Léimid cumraíocht iomlán Apache, gach modúl gníomhach agus gach comhad `.htaccess`.
- **An t-aistriú a phleanáil:** Nuair a ritheann mod_php fós, ullmhaímid an t-athrú go PHP-FPM le linnte dá gcuid féin do gach suíomh gréasáin.
- **An chumraíocht a chruachan:** Socraímid croí-roghanna, glacaimid rialacha `.htaccess` isteach sna VirtualHosts agus blocálaimid fillteáin inscríofa.
- **Tástáil agus doiciméadú:** Tar éis gach athraithe seiceálaimid na suíomhanna gréasáin ón taobh amuigh agus taifeadaimid an staid faoi chuimsiú [chruachan an fhreastalaí](https://phpsos.de/ga/leistungen/server-haertung/).


## Ceisteanna coitianta

**An bhfuil mod_php le húsáid fós agam?**  
I gcás socruithe nua molaimid PHP-FPM trí mod_proxy_fcgi. Measann foireann PHP gurb é mod_php an riosca is airde ó PHP2Shell. Le PHP-FPM ritheann PHP scartha ón bhfreastalaí gréasáin, le húsáideoirí dá gcuid féin do gach suíomh gréasáin agus teorainneacha dá gcuid féin.

**Cén fáth AllowOverride None, nuair a theastaíonn .htaccess ó mo CMS?**  
Is féidir le duine ar bith a bhfuil cead scríbhneoireachta aige sa webroot .htaccess a chruthú, cód insínte san áireamh. Le AllowOverride None ní mheasann Apache comhaid den sórt sin. Glacann tú rialacha do CMS isteach sa VirtualHost uair amháin. Is beagán oibre é sin, ach déanann sé an chumraíocht intuigthe agus níos tapúla.

**An féidir liom ServerTokens a shocrú ar bhealach difriúil do gach suíomh gréasáin?**  
Ní féidir. De réir dhoiciméadacht Apache tá ServerTokens i bhfeidhm don fhreastalaí ar fad agus ní féidir é a athrú do gach VirtualHost. Rialaíonn sé ag an am céanna an fhaisnéis leagain faoi leathanaigh earráide a thaispeánann ServerSignature.

**Cén luach réamhshocraithe atá ag LimitRequestBody?**  
Ó Apache 2.4.54 is é 1 GiB an réamhshocrú; i leagan 2.4.53 agus níos sine bhí sé gan teorainn. Socraigh an luach de réir post_max_size i do chumraíocht PHP, ionas go ndiúltaítear d'iarratais rómhóra cheana féin sa fhreastalaí gréasáin.

## Foinsí

- [Apache: croífheidhmeanna (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: fógraí slándála](https://www.php.net/)
