Mediawiki onder FPM
Ik draaide mijn Mediawiki(’s) onder mod_php in Apache. Dat werkt wel, maar soms moet je dingen ook wel eens veranderen. Bovendien wil ik op een webserver ruimte vrijmaken voor Dockerapplicaties en dus moeten de Mediawiki’s verplaatst worden naar een andere host. En die werkt met PHP-FPM.
Ik heb best wel wat gezocht op het internet, niet veel gevonden en dan gewoon geprobeerd. Met wat hulp van vriend Claude zijn we dan toch geëindigd met een werkende oplossing.
De code staat in een directory onder de website-gebruiker, die de scripts uitvoert.
In /etc/php/8.3/fpm/website.conf:
[website]
; Communicatie met de webserver
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
; Gebruiker die alles doet draaien
user = website
group = website
(er moeten nog andere dingen ingesteld worden, maar deze moeten op deze waarden staan om alles te doen werken)
In je virtual-host-configuratie (Apache is en blijft mijn webserver of choice).
<Directory "/var/opt/app/website/html">
AllowOverride All
Require all granted
</Directory>
<Directory "/var/opt/app/website/html/images">
# Zorg dat afbeeldingen niet gebruikt kunnen worden om PHP-code uit te voeren
AllowOverride None
Require all granted
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .phtml
<FilesMatch \.(php|phar)$>
SetHandler None
</FilesMatch>
</Directory>
# Stuur PHP-bestanden naar FPM
<FilesMatch "\.php$">
SetHandler proxy:unix:///var/run/php-fpm/website-fpm.sock|fcgi://localhost
</FilesMatch>
# Configuratie van de proxy
<Proxy "unix:///var/run/php-fpm/website-fpm.sock|fcgi://localhost">
ProxySet connectiontimeout=5 timeout=240
</Proxy>
# Short URLS voor Mediawiki
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ /index.php [L]
(zelfde als hierboven, deze configuratie zal niet zomaar werken)
En belangrijk, en ook de reden waarom het niet meteen werkte,
in LocalSettings.php moet je ook nog een aanpassing doen:
# Dit stond er al
$wgArticlePath = "/wiki/$1";
# Dit is nieuw
$wgUsePathInfo = true;
Met al deze aanpassingen werkt Mediawiki op mijn FPM-enabled hosts. Nog 4 te gaan!