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.