ispconfig_php-fpm_aplikacije_dokuwiki_wordpress
Table of Contents
ISPConfig + PHP-FPM + PHP aplikacije (DokuWiki, WordPress …)
🎯 Namen dokumenta
Ta dokument opisuje:
- zakaj pride do permission napak, čeprav so pravice videti pravilne
- kako pravilno namestiti PHP aplikacije na ISPConfig
- kako preprečiti ponavljanje istih napak pri novih spletnih straneh
Velja za
- DokuWiki
- WordPress
- Nextcloud
- Laravel / Symfony
- vse PHP aplikacije na ISPConfig + PHP-FPM
🧠 Povzetek problema (TL;DR)
Če uporabljaš:
- ISPConfig
- PHP-FPM
- Apache ali Nginx
⚠️ NE SMEŠ uporabljati absolutnih poti v aplikacijskih konfiguracijah, npr.:
/var/www/clients/clientX/webY/web/...
Če to narediš:
- CLI orodja kažejo, da je vse OK
- `is_writable()` vrne TRUE
- aplikacija (installer) pa še vedno javlja permission napake
🔍 Root cause (kaj je bilo v resnici narobe)
Ključna kombinacija:
- ISPConfig uporablja PHP-FPM pool-e
- PHP-FPM ima nastavljen open_basedir
- aplikacija uporablja hard-coded absolutno pot
- pot ni vključen v open_basedir
Rezultat:
PHP nima pravice dostopati do direktorija,
čeprav ima filesystem pravilne pravice.
❌ Napačen primer
$conf['savedir'] = '/var/www/clients/client1/web2/web/data';
Zakaj je narobe:
- pot je absolutna
- vezana na en web ID
- krši PHP-FPM `open_basedir`
✅ Pravilna rešitev
Uporabljaj relativne poti glede na DocumentRoot:
$conf['savedir'] = './data';
Ali pusti prazno, če aplikacija podpira autodetection:
$conf['basedir'] = '';
📂 Priporočena struktura direktorijev
web/ ├── conf/ ├── data/ │ ├── pages/ │ ├── cache/ │ └── locks/ ├── lib/ ├── install.php └── index.php
🔐 Priporočene pravice (ISPConfig standard)
chown -R webX:clientY web/data web/conf chmod -R 2775 web/data web/conf setfacl -R -m u:webX:rwx,g:clientY:rwx web/data web/conf setfacl -R -d -m u:webX:rwx,g:clientY:rwx web/data web/conf
🛠 Diagnostika (če se zatakne)
Preveri kot site user:
sudo -u webX php -r "var_dump(is_writable('data/pages'));"
Preveri PHP-FPM pool:
grep open_basedir /etc/php/*/fpm/pool.d/webX.conf
✅ Kako preprečiti ponavljanje napak
✔ Vedno uporabljaj relativne poti ✔ Nikoli ne hard-codaj `/var/www/…` ✔ Razumi, da PHP-FPM ≠ CLI ✔ Uporabi checklist pred installerjem
📌 Povzetek v enem stavku
Na ISPConfig + PHP-FPM filesystem pravice niso dovolj –
aplikacija mora delovati znotraj open_basedir konteksta.
ispconfig_php-fpm_aplikacije_dokuwiki_wordpress.txt · Last modified: by sistemc
