Can't access nextcloud after setting up redis

What are the echoes of

redis-server --version
grep -v '^\s*$\|^\s*#' /etc/redis/redis.conf
tail -n 50 $(awk '/logfile/ {print $NF}' /etc/redis/redis.conf)

Which PHP SAPI speaks to your Apache2?
Find out with this query:

sudo apachectl -tD DUMP_INCLUDES 2>/dev/null | grep -v sites | sed -n '/php.*conf/ s#.*/\([^/]*\)\.conf#\1#p'

What is the echo of

grep -r "redis" /etc/php

With this information it should be easy to find the cause of your problem.

Much luck,
ernolf

1 Like

Thank you for your reply @ernolf. Please find my response below.

redis-server -v 6.0.16
grep -v '^\s*$\|^\s*#' /etc/redis/redis.conf echos

bind 127.0.0.1 ::1
protected-mode yes
port 0
tcp-backlog 511
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis/redis-server.pid
loglevel notice
logfile /var/log/redis/redis-server.log
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir /var/lib/redis
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
maxclients 512
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
oom-score-adj no
oom-score-adj-values 0 200 800
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes

The tail of /etc/redis/redis.conf) echos awk: fatal: cannot open file `/etc/redis/redis.conf' for reading: Permission denied. It’s the same message with and without sudo privileges. For what it’s worth, the final 10 lines of the redis config file are all commented out.

sudo apachectl -tD DUMP_INCLUDES 2>/dev/null | grep -v sites | sed -n '/php.*conf/ s#.*/\([^/]*\)\.conf#\1#p' That echos php8.1-fpm as I’d expect.

Last, but not least, your final echo request returns /etc/php/8.1/mods-available/redis.ini:extension=redis.so.

I’m certainly no expert in this, but most of that seems to be the results that I expected. The only odd result to me is the permission denied. I don’t know if it’s worth anything, but /etc/redis is owned by root with 755 permissions and /etc/redis/redis.conf is owned by redis with 640 permissions. The latter of which seem a bit odd to me. Then again, the only thing I know about redis is from the NC documentation.

Thanks for the assistance thus far.

Out of annoyance and some frustration, I deleted my NC and data folders and started again. I even copied the exact same config.php file that I’d copied previously (which came from an older successful install) for the above referenced install and changed all the relevant information. I even compared the two side by side and I couldn’t figure out what the difference was between them. I’m honestly at a loss to understand why it didn’t work the first time and does now.

This is (was) the cause of your issue:

That way your redis server will never start by the systemd mechanism.
It should be

supervised auto

or simply be commented out, since that is the default.

I did not ask for the tail of /etc/redis/redis.conf. I asked for the echo of

wich is the tail of the last 50 lines of the result of

awk '/logfile/ {print $NF}' /etc/redis/redis.conf

in other words, it should give the last 50 lines of the file /var/log/redis/redis-server.log
It is very strange, that awk can not read /etc/redis/redis.conf while grep can :thinking:

YOU expected it, I did not know that and you did not provide that information in your post while it is an important info!

So you did not add the redis config to your /etc/php/8.1/cli/php.ini and /etc/php/8.1/fpm/php.ini:

redis.session.locking_enabled = 1
redis.session.lock_retries = -1
redis.session.lock_wait_time = 10000

OK, On all of my instances, /etc/redis is owned by redis and /etc/redis/redis.conf has 644 permission.

:woozy_face:

Much luck,
ernolf

2 Likes

Thank you. I’d not noticed that, but it makes sense.

Agreed. I tried searching for a little while and could not come up with much.

Whoa, sorry. As I was responding to an existing topic, I was not aware of what “important” info someone else might want.

Yes, you are correct and was a mistake that I made. Which, I ended up discovering later when I set 'memcache.local' => '\\OC\\Memcache\\APCu', and couldn’t get it to work either.

Thank you, this is helpful to know.

Thank you for your detailed assistance.

2 Likes