Migration fails: LoadError: libssl.so.1.0.2: cannot open shared object file: No such file or directory

Dear Community,

I try to move my ticket system from one server to another.
Both are on Ubuntu 20.04
The Ticketsystem was on Zammad 5.0, but I Updatet through apt update / upgrade

I installed Zammad on the new server by package (so I did before with the old server).
Both servers run with postgresql.

Backup ran smoothly and most of the restore also but I got one Error saying

LoadError: libssl.so.1.0.2: cannot open shared object file: No such file or directory - /opt/zammad/vendor/bundle/ruby/3.0.0/gems/openssl-3.0.0/lib/openssl.so

But the path and file is there.
Zammad Services are starting up but I cannot access the page.

I also tried zammad run rake db:migrate but I get the same error message here.

I really don’t know what to do.

Any hints? Thank you in advance!

The backup and restore process, especially when you’re migrating from A to B, is documented very detailed. If I’d had to guess you didn’t reinstall Zammad cleanly.

Please follow the documentation:
https://docs.zammad.org/en/latest/appendix/backup-and-restore/index.html

Hello,

I followed this documentation.
And so I tried another attempt today after upgrading the “old” enviroment as proposed and perfoming a backup.

The following steps describes how I set up the new enviroment (with Ubuntu 20.04)

apt install curl apt-transport-https gnupg

apt install apt-transport-https sudo wget curl gnupg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main"| \
  tee -a /etc/apt/sources.list.d/elastic-7.x.list > /dev/null
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
  gpg --dearmor | tee /etc/apt/trusted.gpg.d/elasticsearch.gpg> /dev/null
apt update
apt install elasticsearch
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

systemctl start elasticsearch
systemctl enable elasticsearch

nano /etc/elasticsearch/elasticsearch.yml

        # Tickets above this size (articles + attachments + metadata)
        # may fail to be properly indexed (Default: 100mb).
        #
        # When Zammad sends tickets to Elasticsearch for indexing,
        # it bundles together all the data on each individual ticket
        # and issues a single HTTP request for it.
        # Payloads exceeding this threshold will be truncated.
        #
        # Performance may suffer if it is set too high.
        http.max_content_length: 400mb

        # Allows the engine to generate larger (more complex) search queries.
        # Elasticsearch will raise an error or deprecation notice if this value is too low,
        # but setting it too high can overload system resources (Default: 1024).
        #
        # Available in version 6.6+ only.
        indices.query.bool.max_clause_count: 2000



apt install nginx
apt install postgresql

curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
  gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
  
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 20.04 main"| \
  tee /etc/apt/sources.list.d/zammad.list > /dev/null
  
apt update
apt install zammad


$ # Allow nginx or apache to access public files of Zammad and communicate
$ chcon -Rv --type=httpd_sys_content_t /opt/zammad/public/
$ setsebool httpd_can_network_connect on -P
$ semanage fcontext -a -t httpd_sys_content_t /opt/zammad/public/
$ restorecon -Rv /opt/zammad/public/
$ chmod -R a+r /opt/zammad/public/


$ # Open Port 80 and 443 on your Firewall
$ ufw allow 80
$ ufw allow 443
$ ufw reload



# Set the Elasticsearch server address
$ zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"

# Build the search index
$ zammad run rake zammad:searchindex:rebuild

zammad run rails c
Setting.get('fqdn')
Setting.set('fqdn', 'support.realURLdoesntMatterAtThisPoint.de')
exit

cp /opt/zammad/contrib/nginx/zammad_ssl.conf /etc/nginx/sites-enabled/zammad.conf

# Changing the Servername etc in the  .conf accordingling

systemctl reload nginx

cd /opt/zammad/contrib/backup/
cp config.dist config

mkdir /var/tmp/zammad_backup
chmod 777 /var/tmp/zammad_backup

systemctl stop zammad

/opt/zammad/contrib/backup/zammad_restore.sh

The Restore even runs smoothly. I now found out that I run into this error while trying to Clear the Cache.
I can reproduce it when running

zammad run rails r “Cache.clear”

I really hope that somebody can help me as I have to get rid this old server.

Thanks again in advance!

Hey!

Important update (and solution)

After running again in this Error I just re-issued

apt update
apt upgrade

That fixed it!

So in the end you did follow the docuementation. Great! :slight_smile:
Zammad packages are OS specific.