Kirby CMS: gzip-Komprimierung auf Uberspace aktivieren

Wenn ihr Kirby auf Uberspace benutzt und die gzip-Komprimierung nutzen wollt, reicht das oft angebene und dokumentierte hinzufügen des mod_deflate in der .htaccess nicht aus. Diese Methode funktioniert nur bei statischen Inhalten, nicht bei PHP-Skripten, wie es bei Kirby der Fall ist. Dazu gibt es im Uberspace Wiki auch eine entsprechende Anmerkung.

Statt der .htaccess muss man auf Uberspace nämlich seine eigene php.ini anpassen, um die Komprimierung für PHP-Skripte zu aktivieren. Und das geht wie folgt:

Zuerst loggt ihr euch per SSH z.B. über das Terminal in euren Account ein. Dann könnt ihr euch über den Befehl

cat ~/etc/phpversion

eure benutzte PHP-Version anzeigen lassen. Wenn ihr sowieso wisst, welche Version ihr nutzt, könnt ihr diesen Schritt natürlich überspringen. Falls euch dabei auffällt, dass ihr noch eine veraltete PHP-Version nutzt, könnt ihr übrigens ganz einfach per

nano ~/etc/phpversion

eine andere Version eintragen.

Wenn ihr noch keine eigene php.ini angelegt habt oder benutzt, zieht ihr euch als nächstes eine Kopie der php.ini eurer verwendeten Version mit folgendem Befehl:

test -f ~/etc/php.ini || cp -a /package/host/localhost/php-EURE_PHPVERSION_EINTRAGEN/lib/php.ini ~/etc/

Damit wird zur Sicherheit zunächst getestet, ob bereits eine eigene php.ini existiert und diese dann erst kopiert. (Hierfür braucht ihr die PHP-Version)

Sobald ihr eine eigene php.ini angelegt habt, wird diese automatisch genutzt. Ihr müsst diese jetzt nur noch über

nano -w ~/etc/php.ini

öffnen, und die Zeile

zlib.output_compression = On

an einer beliebigen Stelle hinzufügen. Anschließend die Datei speichern und schließen. Als Letztes müsst ihr noch den PHP Prozess neu starten. Das macht ihr im Terminal über das Kommando

killall php-cgi

Damit wird der Prozess gestoppt, um ihn wieder zu starten müsst ihr über euren Browser ein Seite mit einem PHP-Skript auf eurem Uberspace-Host aufrufen.
Ob die gzip-Komprimierung funktioniert, könnt ihr auf vielen Seiten testen, beispielsweise auf checkgzipcompression.com