Undefined method 'content_security_policy'

Infos:

  • Used Zammad version: 3.4
  • Used Zammad installation source: package
  • Operating system: ubuntu 18.04
  • Browser + version: Firefox 75

Expected behavior:

I’m trying to resurrect a broken Zammad installation. I was on version 2.9, made a backup of it, then installed Zammad version 3.4 with Elasticsearch 7.7.1 on a completely empty 18.04 Ubuntu.
When I was ready to run Zammad and Zammad offered me its website installer, I installed the backup with zammad_restore.sh. This caused some problems, but with some trial and error and starting from scratch, it ran through at some point.
But now Zammad won’t start anymore and I see the following in the logfiles every few seconds:

==> /opt/zammad/log/scheduler_out.log <==
   bundler: failed to load command: script/scheduler.rb (script/scheduler.rb)

==> /opt/zammad/log/scheduler_err.log <==
WARNING: Nokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.4
NoMethodError: undefined method `content_security_policy' for #<Rails::Application::Configuration:0x0000559ed5408f98>
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/railtie/configuration.rb:95:in `method_missing'
  /opt/zammad/config/initializers/content_security_policy.rb:19:in `<top (required)>'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `load'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `block in load'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:258:in `load_dependency'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `load'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:655:in `block in load_config_initializer'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/notifications.rb:168:in `instrument'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:654:in `load_config_initializer'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:611:in `each'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:611:in `block in <class:Engine>'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:30:in `instance_exec'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:30:in `run'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:59:in `block in run_initializers'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:48:in `each'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:48:in `tsort_each_child'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:415:in `call'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:415:in `each_strongly_connected_component_from'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `call'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
  /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:58:in `run_initializers'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/application.rb:353:in `initialize!'
  /opt/zammad/config/environment.rb:5:in `<top (required)>'
  script/scheduler.rb:58:in `require'
  script/scheduler.rb:58:in `block in <top (required)>'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons/application.rb:270:in `block in start_proc'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons/application.rb:279:in `start_proc'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons/application.rb:300:in `start'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons/controller.rb:56:in `run'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons.rb:197:in `block in run_proc'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons/cmdline.rb:92:in `catch_exceptions'
  /opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.5/lib/daemons.rb:196:in `run_proc'
  script/scheduler.rb:54:in `<top (required)>'
tail: /opt/zammad/log/scheduler_out.log: file truncated
tail: /opt/zammad/log/scheduler_err.log: file truncated

Then I thought that I might have to finish the Elasticsearch connection because it was set up on the old 2.9. When I ran this command with the user “zammad” “zammad run rails r “Setting.set(‘es_url’, ‘http://localhost:9200’)””
I got the same stacktrace:

WARNING: Nokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.4
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `content_security_policy' for #<Rails::Application::Configuration:0x0000556bfc494fb8> (NoMethodError)
    from /opt/zammad/config/initializers/content_security_policy.rb:19:in `<top (required)>'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `load'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `block in load'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:286:in `load'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:655:in `block in load_config_initializer'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/notifications.rb:168:in `instrument'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:654:in `load_config_initializer'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:611:in `each'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/engine.rb:611:in `block in <class:Engine>'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:30:in `run'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:59:in `block in run_initializers'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:48:in `each'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:48:in `tsort_each_child'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:415:in `call'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:415:in `each_strongly_connected_component_from'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `call'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
    from /opt/zammad/vendor/ruby-2.4.4/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/initializable.rb:58:in `run_initializers'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/application.rb:353:in `initialize!'
    from /opt/zammad/config/environment.rb:5:in `<top (required)>'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:292:in `require'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:292:in `block in require'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:292:in `require'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/application.rb:329:in `require_environment!'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/command/actions.rb:16:in `require_application_and_environment!'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/commands/runner/runner_command.rb:27:in `perform'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/command/base.rb:63:in `perform'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/command.rb:44:in `invoke'
    from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/commands.rb:16:in `<top (required)>'
    from /opt/zammad/bin/rails:9:in `require'
    from /opt/zammad/bin/rails:9:in `<main>'

Is it possible that zammad 3.4 isn’t compatible with ubuntu 18.04 because it has an old ruby version installed?

Please have a look at our documentation:
https://docs.zammad.org/en/latest/appendix/backup-and-restore.html

OK, so basically I forgot to reinstall zammad after restoring my backup.

$ dpkg -r --force-depends zammad
$ apt install zammad

fixed this. But now I can’t login anymore. It tells me I’m using the wrong password, but it’s from my passwort manager, so it should be correct.

So i tried to find my user with the rails console:

zammad run rails c
Loading production environment (Rails 5.2.4.3)
irb(main):001:0> User.find_by(email: 'my@address')
=> nil

So I try all zammad account starting from 1:

irb(main):003:0> User.find(1)
=> #<User id: 1, organization_id: nil, login: "-", firstname: "-", lastname: "", email: "", image: nil,     image_source: nil, web: "", password: nil, phone: "", fax: "", mobile: "", department: "", street: "", zip: "", city: "", country: "", address: "", vip: false, verified: false, active: false, note: "", last_login: nil, source: nil, login_failed: 0, out_of_office: false, out_of_office_start_at: nil, out_of_office_end_at: nil, out_of_office_replacement_id: nil, preferences: {}, updated_by_id: 1, created_by_id: 1, created_at: "2020-06-15 21:41:56", updated_at: "2020-06-15 21:41:56">
irb(main):004:0> User.find(2)
=> #<User id: 2, organization_id: 1, login: "nicole.braun@zammad.org", firstname: "Nicole", lastname: "Braun", email: "nicole.braun@zammad.org", image: nil, image_source: nil, web: "", password: nil, phone: "", fax: "", mobile: "", department: "", street: "", zip: "", city: "", country: "", address: "", vip: false, verified: false, active: true, note: "", last_login: nil, source: nil, login_failed: 0, out_of_office: false, out_of_office_start_at: nil, out_of_office_end_at: nil, out_of_office_replacement_id: nil, preferences: {"tickets_closed"=>0, "tickets_open"=>1}, updated_by_id: 2, created_by_id: 1, created_at: "2020-06-15 21:41:58", updated_at: "2020-06-15 21:42:42">
irb(main):005:0> User.find(3)
=> #<User id: 3, organization_id: nil, login: "Admin@mydomain", firstname: "Tech", lastname: "Nick", email: "Admin@mydomain", image: nil, image_source: nil, web: "", password: "$argon2id$v=[filtered]", phone: "", fax: "", mobile: "", department: "", street: "", zip: "", city: "", country: "", address: "", vip: false, verified: false, active: true, note: "", last_login: "2020-06-15 23:23:57", source: nil, login_failed: 0, out_of_office: false, out_of_office_start_at: nil, out_of_office_end_at: nil, out_of_office_replacement_id: nil, preferences: {"notification_config"=>{"matrix"=>{"create"=>{"criteria"=>{"owned_by_me"=>true, "owned_by_nobody"=>true, "no"=>false}, "channel"=>{"email"=>true, "online"=>true}}, "update"=>{"criteria"=>{"owned_by_me"=>true, "owned_by_nobody"=>true, "no"=>false}, "channel"=>{"email"=>true, "online"=>true}}, "reminder_reached"=>{"criteria"=>{"owned_by_me"=>true, "owned_by_nobody"=>false, "no"=>false}, "channel"=>{"email"=>true, "online"=>true}}, "escalation"=>{"criteria"=>{"owned_by_me"=>true, "owned_by_nobody"=>false, "no"=>false}, "channel"=>{"email"=>true, "online"=>true}}}}, "locale"=>"de-de"}, updated_by_id: 3, created_by_id: 1, created_at: "2020-06-15 23:23:54", updated_at: "2020-06-15 23:24:00">
irb(main):006:0> User.find(4)
Traceback (most recent call last):
    1: from (irb):7
ActiveRecord::RecordNotFound (Couldn't find User with 'id'=4)

What I derive from this: the restore wasn’t working. I’m lost right now. How do I get my sql dump into zammad?

That’s odd, did you remove Zammad and it’s dependencies before?
Looks like a fresh install. The wizard never appears upon a restoration.


  • install Zammad
  • copy your backup into your desired backup directory
  • adjust your config for the backup as needed
  • run restore and restore your backup
  • reinstall Zammad (usually this doesn’t remove any database information etc etc)
    • apt install -f zammad should be absolutely fine
  • login and be a happy panda

Above should be all you need to do.

Thank you for your fast and helpful answer!
Here is what I did after your post:

  1. reinstall ubuntu, start completely fresh
  2. install zammad from package
  3. ensure that it works, I see the install wizard, but do not execute it.
  4. copy backup files in my backup path and backup config in /opt/zammad/contrib/backup

Then I did this:

$ su zammad
$ cd /opt/zammad/contrib/backup/
$ ./zammad_restore.sh
# Zammad restored started - Tue Jun 16 11:42:51 CEST 2020!
The restore will delete your current config and database! 
Be sure to have a backup available! 

Enter 'yes' if you want to proceed!
Restore?: yes
Enter file date to restore: 
20200615164746
File date: 20200615164746
Enter db date to restore: 
20200615164746
DB date: 20200615164746
# Stopping Zammad
Failed to stop zammad.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status zammad.service' for details.
# Restoring Files
tar: opt/zammad/config/database.yml: Cannot open: Permission denied
tar: Exiting with failure status due to previous errors
# Ensuring correct file rights ...
chown: changing ownership of '/opt/zammad/config/.database.yml.swp': Operation not permitted
chown: changing ownership of '`/opt/zammad/config/database.yml`': Operation not permitted

I think this i correct, database.yml should not be overwritten from backup because then the password would be wrong.

# ... Dropping current database zammad
WARNING: Nokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.4
rake aborted!
NoMethodError: undefined method `content_security_policy' for #<Rails::Application::Configuration:0x000055aa19404598>
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/railtie/configuration.rb:95:in `method_missing'
[ Stacktrace stripped ]
/opt/zammad/bin/bundle:3:in `<main>'
Tasks: TOP => db:drop => db:check_protected_environments => environment
(See full trace by running task with --trace)
# ... Creating database zammad for owner zammad
Password: 

At this point I typed in the password from the /opt/zammad/config/database.yml file. But it wasn’t right:

su: Authentication failure
# Restoring PostgrSQL DB
su: must be run from a terminal
# Starting Zammad
Failed to start zammad.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status zammad.service' for details.

# Zammad restored successfully - Tue Jun 16 11:44:46 CEST 2020!

So this didn’t worked. What did I missed in the process? I shouldn’t be prompted for a password when restoring, right?
I can connect to postgres manually using the credentials from /opt/zammad/config/database.yml

OK, so I once again scrapped everything and started from a fresh ubuntu install.
This time I tried to execute zammad_restore.sh without switching to the zammad user, so executing it as root. This is the outcome:

root@host:/opt/zammad/contrib/backup#: ./zammad_restore.sh 

# Zammad restored started - Tue Jun 16 16:31:46 CEST 2020!

The restore will delete your current config and database! 
Be sure to have a backup available! 

Enter 'yes' if you want to proceed!
Restore?: yes
Enter file date to restore: 
2
File date: 2
Enter db date to restore: 
2
DB date: 2
# Stopping Zammad
# Restoring Files
# Ensuring correct file rights ...
# ... Dropping current database zammad
WARNING: Nokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.4
rake aborted!
NoMethodError: undefined method `content_security_policy' for #<Rails::Application::Configuration:0x000056347efd5760>
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/railtie/configuration.rb:95:in `method_missing'
[Stacktrace snipped]
/opt/zammad/bin/bundle:3:in `load'
/opt/zammad/bin/bundle:3:in `<main>'
Tasks: TOP => db:drop => db:check_protected_environments => environment
(See full trace by running task with --trace)
# ... Creating database zammad for owner zammad
ERROR:  database "zammad" already exists
# Restoring PostgrSQL DB
SET
SET
SET
SET
 set_config 
------------

And like a thousand lines of SQL output, some with errors. So this didn’t worked either.

I still don’t know why all this happened, but I was able to patch up Zammad by manually performing the steps from the restore script.
Something is still wrong because agents can’t assign tickets to each other anymore. Everything else seems to be working. We will probably have to abandon this installation and restart from scratch.

Hmm sorry but… is there any specific reason why you transfer your backup file into the data directory of Zammad that you’re going to overwrite…?

I mean, especially that part already might create tons of issues.
If you run the restore-script as root, you should be fine.

You may also want to ensure that your backup itself is good and created by root.

The SQL statements are normal, one could think of hiding the output script wise - I didn’t think it’d be bad yet. (It helps to see issues right away).

By the way, this is the part that seems to be striking you:

I just did a restoration run to ensure it works on my machine™ and is not a general issue with the script. You might want to try dropping the table manually or run the tasks of the migration manually in general.

I’m not sure if I understood what you mean.
I put my two backup files xx_zammad_files.tar.gz and xx_zammad_db.psql.gz in /var/backups/ This is the folder, that is defined in the BACKUP_DIR= variable of this file: /opt/zammad/contrib/backup/config
And then I call /opt/zammad/contrib/backup/zammad_restore.sh
So it is true that the restore script will overwrite data in /opt/zammad but from reading the /opt/zammad/contrib/backup/functions file I think this is intended behavior, right?

I did both. Running the restore script as zammad and also as root. Both lead to a broken state.

Well, here it gets interesting. My backup cronjob runs as zammad. Because of this ticket, i think: Backup permission issue: Could not change directory · Issue #2508 · zammad/zammad · GitHub

So the reason for all of this could be that I created the backup as the zammad user? This still doesn’t really makes sense, but here we are.

BTW: The Proxmox forum has a board where it is allowed to write in german. I think this thread here would have been easier for both of us if we had the same possibility here :slight_smile:

I’m sorry, I misunderstood you in this regard. I suspected you’d put your backup files into /opt/zammad/ which would be a fatal move… :smiley:

Correct, the script does restore the complete /opt/zammad directory of the old host, which is why you’ll then need to reinstall Zammad to update thes files.

The backup of your database should fail, unless your zammad user is allowed to su to the postgres user:

I suggest backing up and restoring as root user in this case.

I’m afraid that this is not possible.
One of the main reasons for this is that if I’d helpy ou in german only, it would have very little impact on helping other persons with the same issue. If it’s written in english, this helps a much bigger audience.

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