Zammad ticketing/helpdesk on Nethserver available

…and it works after reboothing the whole server :thinking:

Hi all,

I made a terrible error with the restoration of Zammad to another server. I didn’t checked all the users and maily the email notification. Shame on me!

Did someone ever tried to restore a Zammad backup to another server using /opt/zammad/contrib/backup/zammad_restore.sh ?

Michel-André

@mrmarkuz a little question…
New setup. Current NethServer hostname is “someserver.somedomain.local”.
New installation of Zammad, virtualhost is “helpdesk.public.ext”. It’s an internal portal but i want to build it in the right way.
So…

Where in earth i should see this virtualhost? Only fetching the prop?
The virtualhost package is still not installed on the server… But if is needed for view that info on cockpit, maybe should be installed automatically with nethserver-zammad… am i wrong?

For now it needs to be set and shown in terminal. You can see the used virtualhosts with httpd -S

A future goal is to have Zammad application settings in the UI to set the FQDN for the virtualhost (like Nextcloud).

That’s ok, it’s not needed.
The virtualhost package is intended to create a virtualhost with webspace in /var/lib/nethserver/vhost/..., ftp option etc.

Thanks a lot for your answer. Maybe a Linux experienced sysadmin (which I am not) could think that is quite easy to get it but adding that to the wiki might be a nice help.
I’m gonna ask if the virtualhost is “right”, so maybe i will report a “tested procedure” for edit the virtual hostname for Zammad.

1 Like

You’re right, it’s confusing. I edited the wiki page.

There’s already a feature thread to improve the virtualhosts to avoid the confusion:

Zammad requires nginx and to run next to apache it needs to listen to another port. To make it work without using a non-default port I used a virtualhost name reverse proxy. A path reverse proxy (https://www.nethdomain.tld/zammad) didn’t work in my tests so only way was the virtualhost name reverse proxy and therefore a separate domain name is needed.

2 Likes

I updated the Zammad module. It works with Zammad 3.6.
You don’t need the 2 step installation process as described in the wiki anymore.

It’s enough to install one package and maybe set the VirtualHost prop when needed. If you like to test:

yum --enablerepo=mrmarkuz install https://mrmarkuz.dynu.net/mirror/devtest/nethserver-zammad-1.0.0-7.ns7.noarch.rpm

2 Likes

Installed.

1 Like

@mrmarkuz

NS Rsync Backup fails due to Zammad:

/etc/e-smith/events/pre-backup-data/S50nethserver-zammad-backup

-bash: /var/lib/nethserver/zammad/backup/zammad.sql: Permission denied

Not sure how to solve this.

What permissions?

ls -hal /var/lib/nethserver/zammad/backup
1 Like

I couldn’t reproduce. Rsync backup is working here.

Right permissions to compare:

[root@testserver ~]# ls -hal /var/lib/nethserver/zammad/backup/
total 11M
drwxr-xr-x 2 postgres postgres  24 Aug  5 21:59 .
drwxr-xr-x 3 root     root      20 Aug  5 21:07 ..
-rw-r--r-- 1 postgres postgres 11M Aug  5 22:17 zammad.sql

You may just delete /var/lib/nethserver/zammad/backup/zammad.sql, it’s recreated at next backup.

1 Like
ls -hal /var/lib/nethserver/zammad/backup
total 1.2G
drwxr-xr-x 2 root     root     4.0K Aug  5 01:30 .
drwxr-xr-x 3 root     root       20 Jul 28 01:30 ..
-rw-r--r-- 1 postgres postgres 4.2M Jul 28 01:30 20210728013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Jul 28 01:30 20210728013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Jul 29 01:30 20210729013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Jul 29 01:30 20210729013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Jul 30 01:30 20210730013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Jul 30 01:30 20210730013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Jul 31 01:30 20210731013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Jul 31 01:30 20210731013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Aug  1 01:30 20210801013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Aug  1 01:30 20210801013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Aug  2 01:30 20210802013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Aug  2 01:30 20210802013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Aug  3 01:30 20210803013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Aug  3 01:30 20210803013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Aug  4 01:30 20210804013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Aug  4 01:30 20210804013001_zammad_files.tar.gz
-rw-r--r-- 1 postgres postgres 4.2M Aug  5 01:30 20210805013001_zammad_db.psql.gz
-rw-r--r-- 1 root     root     123M Aug  5 01:30 20210805013001_zammad_files.tar.gz
lrwxrwxrwx 1 root     root       66 Aug  5 01:30 latest_zammad_db.psql.gz -> /var/lib/nethserver/zammad/backup/20210805013001_zammad_db.psql.gz
lrwxrwxrwx 1 root     root       68 Aug  5 01:30 latest_zammad_files.tar.gz -> /var/lib/nethserver/zammad/backup/20210805013001_zammad_files.tar.gz

No /var/lib/nethserver/zammad/backup/zammad.sql file yet, new install, first time trying to backup.

chown postgres:postgres /var/lib/nethserver/zammad/backup/ solved it, thanks!

1 Like

@mrmarkuz Zammad 5 is released now, do you see when would it be updated in the repo?

Also as I noticed, if there is any elasticsearch update, then we need to run:

/usr/share/elasticsearch/bin/elasticsearch-plugin remove ingest-attachment
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Otherwise the plugin version mismatches the elasticsearch version.

I guess signal-event nethserver-zammad-update would do the same, but that does not get called automatically at elasticsearch updates.

I am not sure how signal events works, is it possible to add it to elasticsearch updates?

1 Like

Interested and following like a backpack…

Well… Prerequisite “interesting” from Install from package — Zammad documentation

# CentOS 7
$ yum install postgresql14-server
$ postgresql-14-setup initdb
$ systemctl start postgresql-14
$ systemctl enable postgresql-14

# general
$ yum install zammad

Let’s see my setup what carries…

# rpm -qa postgre*
postgresql-libs-9.2.24-7.el7_9.x86_64
postgresql-server-9.2.24-7.el7_9.x86_64
postgresql-9.2.24-7.el7_9.x86_64

Oh dear.

 yum list postgresql*
Loaded plugins: changelog, fastestmirror, nethserver_events
Loading mirror speeds from cached hostfile
 * ce-base: mirrors.prometeus.net
 * ce-extras: mirrors.prometeus.net
 * ce-sclo-rh: mirrors.prometeus.net
 * ce-sclo-sclo: mirrors.prometeus.net
 * ce-updates: mirrors.prometeus.net
 * epel: epel.mirror.wearetriple.com
 * nethforge: nethserver.interlin.nl
 * nethserver-base: nethserver.interlin.nl
 * nethserver-updates: nethserver.interlin.nl
Installed Packages
postgresql.x86_64                                                                        9.2.24-7.el7_9                                                      @ce-updates
postgresql-libs.x86_64                                                                   9.2.24-7.el7_9                                                      @ce-updates
postgresql-server.x86_64                                                                 9.2.24-7.el7_9                                                      @ce-updates
Available Packages
postgresql.i686                                                                          9.2.24-7.el7_9                                                      ce-updates
postgresql-contrib.x86_64                                                                9.2.24-7.el7_9                                                      ce-updates
postgresql-devel.i686                                                                    9.2.24-7.el7_9                                                      ce-updates
postgresql-devel.x86_64                                                                  9.2.24-7.el7_9                                                      ce-updates
postgresql-docs.x86_64                                                                   9.2.24-7.el7_9                                                      ce-updates
postgresql-jdbc.noarch                                                                   9.2.1002-8.el7_8                                                    ce-updates
postgresql-jdbc-javadoc.noarch                                                           9.2.1002-8.el7_8                                                    ce-updates
postgresql-libs.i686                                                                     9.2.24-7.el7_9                                                      ce-updates
postgresql-odbc.x86_64                                                                   09.03.0100-2.el7                                                    ce-base
postgresql-pgpool-II.x86_64                                                              3.4.6-1.el7                                                         epel
postgresql-pgpool-II-devel.x86_64                                                        3.4.6-1.el7                                                         epel
postgresql-pgpool-II-extensions.x86_64                                                   3.4.6-1.el7                                                         epel
postgresql-plperl.x86_64                                                                 9.2.24-7.el7_9                                                      ce-updates
postgresql-plpython.x86_64                                                               9.2.24-7.el7_9                                                      ce-updates
postgresql-plruby.x86_64                                                                 0.5.3-13.el7                                                        epel
postgresql-plruby-doc.x86_64                                                             0.5.3-13.el7                                                        epel
postgresql-pltcl.x86_64                                                                  9.2.24-7.el7_9                                                      ce-updates
postgresql-static.i686                                                                   9.2.24-7.el7_9                                                      ce-updates
postgresql-static.x86_64                                                                 9.2.24-7.el7_9                                                      ce-updates
postgresql-test.x86_64                                                                   9.2.24-7.el7_9                                                      ce-updates
postgresql-upgrade.x86_64                                                                9.2.24-7.el7_9                                                      ce-updates
postgresqltuner.noarch                    

Something tells me that a “little” version change is… advisable.
Anyway, PostgreSQL 9.3 or later seems still supported. So a small update.
But a ruby upgrade is requrested to 2.7.4.

And if i add as requested this repository…
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
PostgreSQL 9.6 tells me “Ding dong, Hello! I want to land on your setup”.

Moreover… nodejs in Nethserver is 6.something, and Zammad “not so kindly” asks 12. Oh dear act II

1 Like

Thanks for the information. I’m going to update it as soon as the DB migration to the required postgresql 9.3+ works. I’ll provide a testing package asap.

Maybe it’s time for nethserver-elasticsearch to check ingrest attachment on update…with preconfig for Nextcloud full text search :thinking:

OK, Update and DB migration needed, I’d go for nethserver-postgresql12 as used with mattermost but I need to check. I guess this avoids the ruby upgrade…

Node.js is only needed for JS or CSS changes, see documentation

EDIT:

Ah, now I understand, zammad requires postgresql-server in version 9.3+ so we can’t use rh-postgresql*. :unamused:

Maybe we should just use docker?

https://docs.zammad.org/en/latest/install/docker-compose.html

YEAH

One oft the best news

Would you please explain me why the repository that I added could not suit that good? Package conflict with already installed PostgreSQL?
PostgreSQL could not be upgraded to 9.6 without breaking all the surroundings?

Hard pass. Sorry, not going to dockerize a server than one day or another will be… shipped elsewhere (hosting), plain server suits better to me.

1 Like

It’s not a conflict, it updates the default postgresql 9.2 provided by CentOS 7 that’s still used by Webtop, zabbix and phpmyadmin for example.
Upgrading packages provided by the distro with external ones can cause problems.
SCL aims to avoid these problems by providing newer versions of software and run it in a special environment. This would allow installing rh-postgresql12 next to the postgresql 9.2 packages.
The new zammad 5 RPM requires the external postgres packages so it’s not installable without upgrading.

So at least if we go the external upgrade way we need to test impacted software and maybe need to upgrade modules that use it - that’s effort.

I feel you as I always fighted for native integration of software because of ressources/performance/security.
But even if docker generates overhead and another layer, it would solve update or package requirements issues.
If we had used docker, we could just run Zammad 5 now without issues.

We could Install from source or repackage zammad but that’s effort too. I’m going to check and test possible solutions.

From Zammad docs:

The source installation is the most difficult installation type of Zammad.

if this was done throu yum install nethserver-zammad, then i wont mind docker.
but there are many hops to isntalling dockerized versions of apps.

1 Like

from looking at Zammad docs,
i don’t see major new features and functions in Zammad 5 that would make me want to break things on my server to get it.
i will however test on a testing server, and when it works accordingly, ill update as required.

this is a good one but pricey: MessageBird | An omnichannel communications platform, built for global scale