Zammad ticketing/helpdesk on Nethserver available

I don’t think so, they use different nginx config files and IIRC they use different ports.
But I didn’t test it yet…

2 Likes

@mrmarkuz, is this still your objective please?

TIA

1 Like

Yes, I am going to move on when I have more time.

2 Likes

How can we help you man?

@LayLow how are you helping him?

2 Likes

Thanks, I have some open projects at the moment:

  • moodle upgrade
  • keycloak
  • zammad
  • onlyoffice upgrade

But it’s just a matter of time when I can finish them…I assume to move on and have something ready this weekend.

5 Likes

I’ll test and provide feedback if I can.

1 Like

You may use the reverse proxy module and create a virtualhost rule:

http://docs.nethserver.org/en/v7/proxy_pass.html#path-and-virtual-host-rules

Now you should be able to browse to https://myserver.domain.local and use zammad on default HTTPS port.

Next step is to check if it’s possible to disable nginx and use apache only and allow to browse to https://NETHSERVER/zammad

2 Likes

Hello did you see this maybe useful :wink:https://github.com/zammad/zammad/blob/develop/contrib/apache2/zammad_ssl.conf

1 Like

Thanks, that’s working! I just had to stop/disable nginx, comment out the SSLCertificate lines and set the ServerName and the Redirect.

systemctl disable nginx --now
/etc/httpd/conf.d/zammad.conf
<VirtualHost *:80>
    ServerName myserver.domain.local
    Redirect permanent / https://myserver.domain.local
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

#    SSLCertificateFile /etc/letsencrypt/live/example.com-0000/fullchain.pem
#    SSLCertificateKeyFile /etc/letsencrypt/live/example.com-0000/privkey.pem
#    SSLCertificateChainFile /etc/ssl/lets-encrypt-x3-cross-signed.pem
#    SSLOpenSSLConfCmd DHParameters /etc/ssl/dhparam.pem

    # replace 'localhost' with your fqdn if you want to use zammad from remote
    ServerName myserver.domain.local

    ## don't loose time with IP address lookups
    HostnameLookups Off

    ## needed for named virtual hosts
    UseCanonicalName Off

    ## configures the footer on server-generated documents
    ServerSignature Off

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy 127.0.0.1:3000>
      Require local
    </Proxy>

    ProxyPass /assets !
    ProxyPass /favicon.ico !
    ProxyPass /robots.txt !
    ProxyPass /ws ws://127.0.0.1:6042/
    ProxyPass / http://127.0.0.1:3000/

    # Use settings below if proxying does not work and you receive HTTP-Errror 404
    # if you use the settings below, make sure to comment out the above two options
    # This may not apply to all systems, applies to openSuse
    #ProxyPass /ws ws://127.0.0.1:6042/ "retry=1 acque=3000 timeout=600 keepalive=On"
    #ProxyPass / http://127.0.0.1:3000/ "retry=1 acque=3000 timeout=600 keepalive=On"

    DocumentRoot "/opt/zammad/public"

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/opt/zammad/public">
        Options FollowSymLinks
              Require all granted
    </Directory>
</VirtualHost>

Next step would be having zammad available at https://neth/zammad instead of a virtualhost.

2 Likes

It seems not possible to have zammad at https://nethserver/zammad, at least I couldn’t make it work and I found no documentation. I tried several reverse proxy/url rewrite methods.
Zammad needs a virtualhost like mattermost.

1 Like

Work in progress:

EDIT:

I am actually fighting with the provided zammad package. It installs and configures zammad during yum install. If nethserver-postgresql is installed it does not work. I have to check what the zammad package does and find a workaround or maybe repackage it. This may take some more time.

3 Likes

Sounds like a great project. It would be great having a module like that for our platform

1 Like

@mrmarkuz, kindly asking if it works out please?

1 Like

Not much time actually, hopefully I can release something working til end of the week, I keep you updated.

1 Like

Thanks for your efforts!

Zammad module is ready for testing…

Zammad needs a virtualhost, I used myserver.domain.local, change it to fit your needs.

yum -y install https://mrmarkuz.goip.de/mirror/mrmarkuz/7/noarch/nethserver-mrmarkuz-0.0.1-3.ns7.noarch.rpm
yum -y install nethserver-zammad
config setprop zammad VirtualHost myserver.domain.local
yum -y install zammad
signal-event nethserver-zammad-update

Zammad should be reachable at https://myserver.domain.local.after a few seconds.

5 Likes

@mrmarkuz, thanks, testing some stuff on a vanilla updated NS7 VM, but not yet finished.

For reference, install log: [root@localhost ~]# yum -y install https://mrmarkuz.goip.de/mirror/mrmarkuz/7/no - Pastebin.com

Q1. Is it correct that nethserver-httpd-virtualhosts is not installed? If I install it after the zammad installation, the virtual hosts only holds the default and not the vhost set bythe installation db command.

Q2. Would your module also work with PostgreSQL10 module from @stephdl


Name Version Release
elasticsearch 5.6.15 1

Q3. An update to Elasticsearch is immediately available via software center. The dependency installed one is elasticsearch.noarch 0:5.6.14-1. Is this on purpose or simply a mid-air collision with an Elasticsreach update?

Q4. How would the zammad installation behave on a NS7 with Nextcloud/Onlyoffice?

Q5. For now I installed zammad, but can’t reach the webinterface, instead I see the main NS webpage. This could be due to me working with a local VM and entry in /etc/hosts on my pc to mimic the FQDN and vhost. I can’t tell right now.

Q6. “config show zammad” shows:

[root@localhost ~]# config show zammad
zammad=service
VirtualHost=zammad.ns7.localdomain
access=
status=enabled

where “access” is empty. Should this be the case? Although zammad is running (services panel), there is no entry in the “network services” panel.

Very nice work!

HTH

1 Like

Thanks for testng!
I found another bug, nginx is not started because a conf file still exists, I am going to fix it by templating the nginx conf file.

Yes, because nethserver-httpd-virtualhosts is for user customized virtualhosts. A module just uses a httpd .conf file, in this case /etc/httpd/conf.d/zammad.conf, to configure a virtualhost.

I have to test it. The problem could be that I use the original zammad.rpm that is only installable on vanilla centos 7 and maybe not compatible to newer postgres versions.

Thanks, I uploaded an older elasticsearch.rpm to my repo. I’ll fix this asap.

I didn’t test yet but should work. I don’t see an overlap.

I tested with a local hosts file too, it should work.
Maybe you need another signal-event nethserver-zammad-update to apply it?

The first lines of /etc/httpd/conf.d/zammad.conf should show your virtualhost:

<VirtualHost *:80>
    ServerName myserver.domain.local
    Redirect permanent / https://myserver.domain.local

I am going to fix it, to be shown in network services. It seems the TCPPort is missing…

1 Like

Thanks very much. I’ll wait for an update before continueing testing. Progress by elimination :wink:

1 Like

It does. My bad :slight_smile:

Now that I have access to Zammad on NS7, it becomes clear to me that another study and learning curve is required to ‘master’ Zammad :slight_smile: :slight_smile:

1 Like