Redis aktiviert und kein Zugriff via web mehr möglich

Hallo zusammen,

unsere Cloud soll später nicht viel können und dient “nur” als Datengrab für die Kommunikation von Intern mit Kunden/Dienstleistern/etc.pp.

Trotzdem habe ich Redis installiert:
https://www.c-rieger.de/nextcloud-installationsanleitung/#c04

Sobald ich aber in der conifg.php die Daten aus der Doku oder Nextcloud Doku hinterlege, ist meine Cloud tot… zumindest was den HTTPS Access angeht…

Also entweder:

'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => [
'host' => '/run/redis/redis-server.sock',
'port' => 0,
],

oder:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
     'host' => 'redis-host.example.com',
     'port' => 6379,
],

(hier habe ich natürlich redis-host.example.com durch meine url getauscht)

Das Ergebnis ist immer das gleiche:

Internal Server Error

jemand ne idee?

Der Server läuft bei einem Dienstleister von uns, ist virtuell & root ist vorhanden.
System ist Debian 11, Maria DB & NC Hub II (23.0.0)

Ein “Reboot” tut immer gut :wink:

Ok. mal Spaß bei Seite… Neustart des Servers ist schon wichtig.

Was sagt sudo service redis-server status

Die Frage ist, ob du Redis wirklich brauchst. Am Ende ist es nur eine zusätzliche Fehlerquelle auch im Betrieb. Im Link unten findest du etwas über Caching und auch über die Konfiguration von Redis. Aber ich denke den Link kennst du schon.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html

1 Like

Hi @Kepan0

Der Pfad zum redis-server.sock scheint bei dir nicht zu stimmen. Bei mir steht da folgendes: 'host' => '/var/run/redis/redis-server.sock',.

Hier meine vollständige funktionierende Config:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => '/var/run/redis/redis-server.sock',
'port' => 0,
'timeout' => 1.5,
),

Redis muss natürlich auch laufen. Man kann sich mal den Inhalt der genannten Datei anzeigen lassen. Dort sollte ein Inhalt stehen. Wahrscheinlich die Prozess-ID. Ich nutze kein Redis.

cat /run/redis/redis-server.sock
cat /var/run/redis/redis-server.sock

Man kann die Datei auch ermitteln. Einfach lsof installieren und dann

lsof |grep redis

1 Like

/var/run/redis/redis-server.sock ist der korrekte Pfad. :slight_smile:

lsof | grep redis-server.sock
redis-ser   873                            redis    6u     unix 0xffff9676eb175800       0t0      19449 /var/run/redis/redis-server.sock type=STREAM
redis-ser   873   922 redis-ser            redis    6u     unix 0xffff9676eb175800       0t0      19449 /var/run/redis/redis-server.sock type=STREAM
redis-ser   873   923 redis-ser            redis    6u     unix 0xffff9676eb175800       0t0      19449 /var/run/redis/redis-server.sock type=STREAM
redis-ser   873   924 redis-ser            redis    6u     unix 0xffff9676eb175800       0t0      19449 /var/run/redis/redis-server.sock type=STREAM
1 Like

Die Statusausgabe ist wohl nicht Wichtig…

und hau mal unter
‘host’ => ‘127.0.0.1’,
rein…

Wenn er die Anleitung von C. Rieger verwendet hat, hat er Redis so konfiguriert, dass es auf einem Unix Socket anstatt auf einem TCP Socket läuft. Dann muss er dort /var/run/redis/redis-server.sock angeben.

Redis Config:
https://www.c-rieger.de/nextcloud-installationsanleitung/#c04

Config.php, die weiter unten in der Anleitung verwendet wird:
https://github.com/criegerde/nextcloud/blob/main/var/www/nextcloud/config/config.php

Tja ,:wink: es ist nicht alles Gold was glänzt.

Warum? Unix Socket ist performanter und theoretisch auch sicherer… Egal, das müssen wir nicht ausdiskutieren. Fact ist, dass hier offenbar ein kleiner Fehler gemacht wurde, weil der OP warscheinlich Informationen aus verschiedenen Quellen vermischt hat. In der Nextcloud Dokumentation steht nämlich z.B. /run/redis/redis-server.sock anstatt var/run/redis/redis-server.sock. Die Verwirrung wird sicher nicht kleiner, wenn du ohne Kontext, und ohne dass der OP Feedback gegeben hat, einfach mal 127.0.0.1 in die Runde reinwirfst. :wink:

Schon mal die config runtergeladen und angesehen die in der “Anleitung” angegeben ist? :slight_smile:

Ja


 'redis' => 
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.0,
    'dbindex' => 0,
),

Mann mann :stuck_out_tongue: github: nextcloud/redis.conf at main · criegerde/nextcloud · GitHub

Dann schau halt hier Nextcloud Installationsanleitung (Nextcloud 23 = Nextcloud Hub II) - Carsten Rieger IT-Services

weiter unten, die config.php

Ich habe nur den Github Link gepostet, dass du nicht scrollen musst, weil man nicht direkt dorthin verlinken kann. Den Link in der Anleitung, direkt überhalb der config.php in der auch var/run/redis/redis-server.sock steht.

Wenn er die Anleitung gefolgt ist steht unten…
Passen Sie die Rediskonfiguration durch das Sichern und Anpassen der Konfiguration mittels Ausführen der nachfolgenden Befehle an:

github: nextcloud/redis.conf at main · criegerde/nextcloud · GitHub

Jetzt schau dir die Config an die da hochgeladen ist…

unixsocket /var/run/redis/redis-server.sock

unixsocketperm 770

port 0

Genau das was mit diesen sed Befehlen einkommentiert und angepasst wird… Nextcloud Installationsanleitung (Nextcloud 23 = Nextcloud Hub II) - Carsten Rieger IT-Services

Screenshot 2022-01-28 111513

Ja und jetzt scrollst du noch ein bisschen weiter runter.

# Accept connections on the specified port, default is 6379 (IANA #815344).

# If port 0 is specified Redis will not listen on a TCP socket.

Nur mit passwort :wink:

Die einfachste Lösung um zu sehen wo das Teil rennt ist in der Shell (Konsole)
sudo redis-cli
einzugeben…

Und ich würd mein Arsch verwetten wenn da nicht der localhost steht :wink: