Auf einigen Servern, häufig bei V-Servern, kann sich das Session Handling per „File“ sehr zäh und träge anfühlen. Dem kann mit einem RAM basierten Handler entgegen gewirkt werden. Wir präferieren, u.a. aufgrund der Performance, Stabilität und Session-Persistenz eindeutig Redis als PHP-Sessionhandler. Dieser Anleitung setzen wir die Installation und Konfiguration von PHP, Redis und ggf. Nextcloud nach dieser Anleitung voraus:
Stoppen Sie zuerst alle Nextcloud relevanten Dienste:
systemctl stop nginx.service php8.0-fpm.service redis.service mariadb.service
Kopieren Sie die PHP.INI Datei und öffnen diese dann
cp /etc/php/8.0/fpm/php.ini /etc/php/8.0/fpm/php.ini.bak
nano /etc/php/8.0/fpm/php.ini
Bearbeiten Sie die Datei wie folgt, also kommentieren Sie die Zeile (#session.save_handler = files) aus und fügen die zwei rot hervorgehobenen Zeilen hinzu:
[...] #session.save_handler = files session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379?database=10" redis.session.locking_enabled = 1 redis.session.lock_retries = -1 redis.session.lock_wait_time = 10000 [...]
Speichern Sie diese Änderungen und schließen diese Datei. Kopieren Sie dann die REDIS.CONF und bearbeiten diese ebenfalls:
cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
nano /etc/redis/redis.conf
Kommentieren Sie die Zeile „# port 0″ aus und fügen die rot hervorgehobene Zeile „port 6379“ hinzu.
# Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. # port 0 port 6379 # TCP listen() backlog
Speichern Sie diese Änderungen und schließen Sie diese Datei. Nach einem Neustart der zuvor beendeten Dienste
systemctl restart nginx.service php8.0-fpm.service redis.service mariadb.service
profitieren Sie bereits von REDIS, als neuen PHP-Sessionhandler. Für Nextcloud muss noch die config.php angepasst werden.
nano /var/www/nextcloud/config/config.php
[...] 'redis' => array ( 'host' => '127.0.0.1', 'port' => 6379, 'timeout' => 0.5, 'dbindex' => 1, ), [...]
Sie können die Funktionalität live überprüfen. Rufen Sie den Redis-Client auf
redis-cli -s /var/run/redis/redis-server.sock
und Starten den integrierten Monitor:
MONITOR
Das war es schon – viel Spaß damit! Über Ihre Unterstützung (diese wird ordnungsgemäß versteuert!) würden sich meine Frau, meine Zwillinge und ich sehr freuen!