Caching (which used to work) borks the site

Hi

I have been using Nextcloud for a long time. I had redis caching enabled and it had been working fine for couple years or les probably. Recently I upgraded to Nextcloud 18 and php7.3 now the lines below now borks my site. The site comes back to life if I remove the lines.

error in the browser

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the webserver log.

 'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'redis' => 
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),

I am not skilled enough in web tech to debug this, used some tutorials to enable.

I went ahead and read this page and tried the redis lines there in my config and that does not help either .

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

I have redis running and cache module enabled

ps aux |grep -i redis
redis       2591  0.1  0.6 163484 85196 ?        Ssl  19:49   0:04 /usr/bin/redis-server 127.0.0.1:0

I am using Debian Testing, Apache (Apache/2.4.41), Mariadb (Ver 15.1 Distrib 10.3.22-MariaDB) and Php7.3

Thanks

You want to access Redis using a socket, although you provided process details which are shownig it is listening on 127.0.0.1 (network). Make sure that the redis configuration (/etc/redis/redis.cong?!) contains the following lines and that the socket is accessible by the web server user (This is ususally be done by adding the web server user to the redis group):

unixsocket /var/run/redis.sock
unixsocketperm 0770

Hi

I mentioned that this was a working setup previously with redis, so yes all those lines are in place


bind 127.0.0.1

protected-mode yes

port 0

tcp-backlog 511

unixsocket /var/run/redis/redis.sock
unixsocketperm 770


ls -alh /var/run/redis
total 4.0K
drwxr-sr-x  2 redis redis   80 Mar 25 18:49 .
drwxr-xr-x 53 root  root  1.7K Mar 26 09:25 ..
-rw-rw----  1 redis redis    5 Mar 25 18:49 redis-server.pid
srwxrwx---  1 redis redis    0 Mar 25 18:49 redis.sock


Ask an IT engineer what phrase he is hearing most often, I bet “I have changed nothing:wink:

What does groups <name-of-webserver-user (e.g. wwwrun)> show?

Thanks for the reply

 groups www-data
www-data : www-data smbusers redis

Have you checked if the required php modules are correctly loaded?

  • For the php cli component, please execute “php -m
  • For the php web component, please create a php file, e.g. “info.php”, which contains the line “<?php phpinfo() ?>”. Once you’ve created that file, open it using a web browser and check if a redis module is loaded. (Keep in mind to delete the info.php file after your tests for security reasons :wink:)
1 Like