PHP umstellen auf FPM/FastCGI unter Ubuntu 16.04 LTS mit Apache2 und Nextcloud

Heute zeige ich Euch wie einfach es ist auf php FPM/FastCGI umzustellen und unser Nextcloud damit arbeiten zu lassen. Voraussetzung für die Optimierung ist, dass wir meine beiden Tutorials Installation Nextcloud und Nextcloud beschleunigen abgearbeitet haben.

Zuerst müssen wir die php-fpm Module installieren, da wir ja planen bald auf Nextcloud 13 umzusteigen, installieren wir die php7.1- und php7.2-fpm-Module. Davor legen wir uns aber eine vorläufige info.php an, damit wir auch prüfen können, ob das Modul später aktiv ist:

sudo nano /var/www/html/nextcloud/info.php

Diese füllen wir mit dem folgenden Code und speichern sie ab:

<?php
phpinfo();
?>

Jetzt geben wir unserem Apache noch die Berechtigung auf die Datei, damit wir Sie in unserem Browser anzeigen lassen können:

chown www-data:www-data /var/www/html/nextcloud/info.php

Diese können wir nun später mit https://nextcloud.meine-domain.tld/info.php aufrufen.

Jetzt installieren wir die Module:

sudo apt-get install php7.1-fpm php7.2-fpm

und müssen im Apache noch etwas nachhelfen, damit diese aktiv werden:

sudo a2dismod php7.1
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.1-fpm

Wir erinnern uns daran, dass wir noch in der php.ini Direktiven setzen müssen, die wir für die Nextcloud Installation benötigen. Dazu müssen wir die folgende ini-Datei bearbeiten:

sudo nano /etc/php/7.1/fpm/php.ini

dort fügen wir wieder die folgenden Zeilen ein:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Diesmal reicht es nicht den Apache neu zu starten, wir müssen zusätzlich noch den Service php7.1-fpm neu starten. Dazu nutzen wir die beiden folgenden Befehle:

sudo systemctl restart apache2
sudo systemctl restart php7.1-fpm

Im Anschluss rufen wir unsere info.php unter https://nextcloud.meine-domain.tld/info.php auf und vergewissern uns, dass FPM aktiv ist:

Sollte alles funktionieren, löschen wir die info.php:

sudo rm /var/www/html/nextcloud/info.php

Jetzt rufen wir nur noch unsere Nextcloud-Instanz auf und prüfen unter Verwaltung, ob Fehler angezeigt werden. Ist das nicht der Fall, sind wir fertig 🙂

Viel Spaß damit. Wenn Ihr Fragen oder Probleme habt, dann meldet Euch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert