Redis NOAUTH Authentication required after 6.0 migration

Infos:

  • Used Zammad version: After 5.4 => 6.0 Upgrade
  • Used Zammad installation type: debian package
  • Operating system: Ubuntu Server 22.04

Redis-Server installed locally and redis-cli works fine.

Expected behavior:

Actual behavior:

Configuring Elasticsearch…

nil versions are discouraged and will be deprecated in Rubygems 4
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/redis-4.8.1/lib/redis/client.rb:162:in call': NOAUTH Authentication required. (Redis::CommandError) from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/redis-4.8.1/lib/redis.rb:270:in block in send_command’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/redis-4.8.1/lib/redis.rb:269:in synchronize' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/redis-4.8.1/lib/redis.rb:269:in send_command’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/redis-4.8.1/lib/redis/commands/sets.rb:131:in smembers' from /opt/zammad/lib/sessions/store/redis.rb:22:in sessions’
from /opt/zammad/lib/sessions.rb:61:in sessions' from /opt/zammad/lib/sessions.rb:285:in broadcast’
from /opt/zammad/app/models/setting.rb:199:in check_broadcast' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:427:in block in make_lambda’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:235:in block in halting_and_conditional' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:516:in block in invoke_after’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:516:in each' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:516:in invoke_after’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:107:in run_callbacks' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:824:in _run_update_callbacks’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/callbacks.rb:465:in _update_record' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/timestamp.rb:121:in _update_record’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/persistence.rb:900:in create_or_update' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/callbacks.rb:457:in block in create_or_update’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:98:in run_callbacks' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:824:in _run_save_callbacks’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/callbacks.rb:457:in create_or_update' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/timestamp.rb:126:in create_or_update’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/persistence.rb:507:in save!' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/validations.rb:53:in save!’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:302:in block in save!' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:354:in block in with_transaction_returning_status’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in block in transaction' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in block in within_new_transaction’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in block in synchronize' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in handle_interrupt’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in synchronize' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in within_new_transaction’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in transaction' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:350:in with_transaction_returning_status’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/transactions.rb:302:in save!' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.7.3/lib/active_record/suppressor.rb:48:in save!’
from /opt/zammad/app/models/setting.rb:42:in set' from /opt/zammad/lib/static_assets.rb:135:in read’
from /opt/zammad/lib/static_assets.rb:173:in sync' from /opt/zammad/config/initializers/logo.rb:11:in block in ’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:427:in instance_exec' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:427:in block in make_lambda’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:198:in block (2 levels) in halting' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:604:in block (2 levels) in default_terminator’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:603:in catch' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:603:in block in default_terminator’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:199:in block in halting' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in block in invoke_before’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in each' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:512:in invoke_before’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:105:in run_callbacks' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/reloader.rb:88:in prepare!’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/application/finisher.rb:124:in block in <module:Finisher>' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/initializable.rb:32:in instance_exec’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/initializable.rb:32:in run' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/initializable.rb:61:in block in run_initializers’
from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:228:in block in tsort_each' from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:350:in block (2 levels) in each_strongly_connected_component’
from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:431:in each_strongly_connected_component_from' from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:349:in block in each_strongly_connected_component’
from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:347:in each' from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:347:in call’
from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:347:in each_strongly_connected_component' from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:226:in tsort_each’
from /opt/zammad/vendor/ruby-3.1.3/lib/ruby/3.1.0/tsort.rb:205:in tsort_each' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/initializable.rb:60:in run_initializers’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/application.rb:391:in initialize!' from /opt/zammad/config/environment.rb:7:in
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in require' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in require’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in require' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/dependencies.rb:332:in block in require’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/dependencies.rb:299:in load_dependency' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.3/lib/active_support/dependencies.rb:332:in require’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/application.rb:367:in require_environment!' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/command/actions.rb:28:in require_environment!’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/command/actions.rb:15:in require_application_and_environment!' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/commands/runner/runner_command.rb:33:in perform’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in run' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in invoke_command’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in dispatch' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/command/base.rb:69:in perform’
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/command.rb:48:in invoke' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.3/lib/rails/commands.rb:18:in
from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in require' from /opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in require’
from /opt/zammad/bin/rails:5:in `’
– Nevermind, no es_url is set, leaving Elasticsearch untouched …!
– The above is all right if you don’t want to use Elasticsearch (locally) - if this is not intended, consult https://docs.zammad.org !

Steps to reproduce the behavior:

  • Starting rails server or console with zammad rails r or c

After following the instruction in a opposite way (disabled password authentification), everything seems to work now. https://stackoverflow.com/a/75046317

It seems to be impossible to use Zammad with a redis server instance with authentification?!

There is a variable in /etc/zammad/ that gets exported for REDIS with the URL that can include a password.

Here’s what worked for me:

sudo systemctl stop zammad
echo -n "export REDIS_URL=\"redis://:$(sudo grep "^requirepass " /etc/redis/redis.conf | cut -d" " -f2 | xxd -p | tr -d \\n | sed 's/../%&/g')@$(sudo grep "^bind " /etc/redis/redis.conf | cut -d" " -f2):$(sudo grep "^port " /etc/redis/redis.conf | cut -d" " -f2)\"" | sudo tee -a /etc/zammad/conf.d/redis
sudo apt reinstall zammad
sudo systemctl start zammad

JFI zammad config:set REDIS_URL=... should work as well for package installations.
This is the way to configure e.g. performance tunings as well and saves you from manually fiddling in environment files.

This topic was automatically closed 360 days after the last reply. New replies are no longer allowed.