Zammad ticketing/helpdesk on Nethserver available

(HF) #41

Installed zammad on a semi production NS7 with Nextcloud, OnlyOffice and Elasticsearch. No issues at all, all functioning properly!

Spoke a bit too soon.

Zammad gives me an error: StatusCode 500

{“error”:“Unable to process GET request to elasticsearch URL ‘’. Elasticsearch is not reachable, probably because it’s not running or even installed.\n\nResponse:\n#\u003cUserAgent::Result:0x00007f25ec4739e8 @success=false, @body=nil, @data=nil, @code=0, @content_type=nil, @error=”#\u003cErrno::ECONNREFUSED: Failed to open TCP connection to (Connection refused - connect(2) for \“\” port 9200)\u003e"\u003e\n\nPayload:\n{:query=\u003e{:bool=\u003e{:must=\u003e[{:range=\u003e{“created_at”=\u003e{:from=\u003e"2019-01-01", :to=\u003e"2019-12-31"}}}], :must_not=\u003e[{:term=\u003e{“state”=\u003e"merged"}}]}}, :size=\u003e0, :aggs=\u003e{:time_buckets=\u003e{:date_histogram=\u003e{:field=\u003e"created_at", :interval=\u003e"month"}}}}\n\nPayload size: 0M"}

To reproduce: Log in as admin or user and click ‘Reporting’ ( lower left corner, right of the user profile)

I rebooted the server after installing zammad, but I’m not sure if the error was present before.

“systemctl status elasticsearch” shows that it IS running and elasticsearch in Nextcloud is working properly.


(Markus Neuberger) #42

I can not reproduce the error except of when I stop elasticsearch. Did you edit /etc/elasticsearch/elasticsearch.yml ?

Which other packages are installed?

rpm -qa "nethserver-*" | sort

Just to compare the elasticsearch output:

[root@testserver ~]# curl -X GET localhost:9200
  "name" : "miqcSTK",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "90cgbWNtTx2WqAvPoDro9A",
  "version" : {
    "number" : "5.6.15",
    "build_hash" : "fe7575a",
    "build_date" : "2019-02-13T16:21:45.880Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  "tagline" : "You Know, for Search"

I am going to test some more when updating the module…

(HF) #43

As a follow up, some issues have been manually corrected. Awaiting the next test version for further testing.

(Markus Neuberger) #44

Update available!

  • zammad.conf - servername fixed
  • templated nginx zammad.conf
  • change port from 3000 to 3001 to safely coexist with ntopng
  • integrated to network services
  • app button
  • backup postgres db

Fresh install:

yum -y install
yum -y install nethserver-zammad
config setprop zammad VirtualHost myserver.domain.local
yum -y install zammad
signal-event nethserver-zammad-update


yum -y update nethserver-zammad

(HF) #45

Updated the initial install. All issues gone! Verified various config files and all ok.:slight_smile:

Your ‘trick’ by using the db key value of the virtual host for the app button should be integrated into all apps. Most of them (if not all) are hardcoded I guess.

Many thanks again!

(Markus Neuberger) #46

Thanks again for testing!

I copied it from nethserver-mattermost.
With a virtualhost a db value is used.
In most other cases the browser url host is used and just “/appname” appended.

(HF) #47

One more thing… :wink:

If I disable (config setprop zammad status disabled) zammad followed by signal-event nethserver-zammad-update, the httpd zammad.conf is still in place, where I would expect it to be removed.

After the above, and manually removing the zammad.conf file, the signal-event re-generates the zammad.conf file.

Would it be more consistent to have the signal-event check the status and thus will or will not generate the zammad.conf file?

Visiting the zammad virtualhost (e.g. now leads to and error message when zammad is set to disabled.


(Markus Neuberger) #48

Yes it would so I updated the module.
The zammad.conf is still generated as it’s a template but it gets emptied now when zammad is disabled.
Visiting the zammad virtualhost now shows the Nethserver page.

I added a Zammad wiki page.

(HF) #49

I’ve updated the module and can confirm the zammad.conf file is now ‘empty’ when status is set to disabled.

Again, many thanks. It now appears to be a very robust module.

(Markus Neuberger) #50

You’re welcome, thanks for testing.

@mandcsharma, seems the module is ready. :grinning:

(Alessio Fattorini) #51

Ehy guys! Great job. Wow a lot of testing and code here.
As we said at the conference in bruxelles in our community people ask things and most likely they get it
Kudos @mrmarkuz and @LayLow

(markshaz) #52

Bravo guys, great job as usual :clap::clap::clap:

(Markus Neuberger) #53

I found out that Zammad has a backup/restore script usable for cron so I updated the module.

  • Integrated daily backup cron jobsaves db and files for 10 days
  • Fixed restore-data procedure
  • Tested both (Nethserver and Zammad) backup/restore methods

This way we have another file/db backup if something goes wrong.

(HF) #54

I can verify that all works fine!


(HF) #55

Tested the Telegram integration option. Works like a charm. Inbound Telegram messages get delivered within seconds to Zammad and replies from Zammad to Telegram the same. Very cool!

(markshaz) #56

Kudos Markus, Zammad works brilliantly. Even better than I expected. :clap::clap::clap::clap::clap: