I discovered Zammad last week and decided to install and use the ticketing tool in my company.
To carry out the installation, follow the official documentation available
I am using Ubuntu version 2204
I had no problems with the installation, on the local machine I can access Zammad via 127.0.0.1.
However, I cannot access it from any other device, even changing the zammad.conf file in the path /etc/nginx/sites-enabled/zammad.conf.
I’ve already put this same file in several paths for testing and still, nothing helped:
/etc/nginx/sites-enabled/zammad.conf
/etc/nginx/sites-available/zammad.conf
/etc/nginx/conf.d/zammad.conf
/etc/nginx/vhosts.d
From another device I can access the nginx page, however,
When I put the IP on port 3000, the Zammad page doesn’t appear
root@vm-02:~# systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-03-01 10:08:31 -03; 50min ago
Docs: man:nginx(8)
Process: 737 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 781 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 785 (nginx)
Tasks: 5 (limit: 4598)
Memory: 4.9M
CPU: 85ms
CGroup: /system.slice/nginx.service
├─785 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─787 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
├─788 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
├─789 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
└─790 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
mar 01 10:08:31 vm-02 systemd[1]: Starting A high performance web server and a reverse proxy server...
mar 01 10:08:31 vm-02 systemd[1]: Started A high performance web server and a reverse proxy server.
root@vm-02:~# systemctl status zammad
● zammad.service
Loaded: loaded (/etc/systemd/system/zammad.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-03-01 10:08:31 -03; 51min ago
Main PID: 623 (sleep)
Tasks: 1 (limit: 4598)
Memory: 88.0K
CPU: 3ms
CGroup: /system.slice/zammad.service
└─623 /bin/sleep infinity
mar 01 10:08:31 vm-02 systemd[1]: Started zammad.service.
root@vm-02:~# systemctl status zammad-web
● zammad-web.service
Loaded: loaded (/etc/systemd/system/zammad-web.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-03-01 10:08:31 -03; 51min ago
Main PID: 626 (sleep)
Tasks: 1 (limit: 4598)
Memory: 92.0K
CPU: 6ms
CGroup: /system.slice/zammad-web.service
└─626 /bin/sleep infinity
mar 01 10:08:31 vm-02 systemd[1]: Started zammad-web.service.
root@vm-02:~# systemctl status zammad-worker
● zammad-worker.service
Loaded: loaded (/etc/systemd/system/zammad-worker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-03-01 10:08:31 -03; 51min ago
Main PID: 642 (sleep)
Tasks: 1 (limit: 4598)
Memory: 96.0K
CPU: 3ms
CGroup: /system.slice/zammad-worker.service
└─642 /bin/sleep infinity
mar 01 10:08:31 vm-02 systemd[1]: Started zammad-worker.service.
root@vm-02:~# systemctl status zammad-websocket
● zammad-websocket.service
Loaded: loaded (/etc/systemd/system/zammad-websocket.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-03-01 10:08:31 -03; 51min ago
Main PID: 639 (sleep)
Tasks: 1 (limit: 4598)
Memory: 84.0K
CPU: 10ms
CGroup: /system.slice/zammad-websocket.service
└─639 /bin/sleep infinity
mar 01 10:08:31 vm-02 systemd[1]: Started zammad-websocket.service.
root@vm-02:~# nano /etc/nginx/sites-available/zammad.conf
GNU nano 6.2 /etc/nginx/sites-available/zammad.conf
#
# this is an example nginx config for using SSL with zammad
# this can be adjusted to be used with self-signed, trusted ca and letsencrypt certs
# this example uses letsencrypt certs. replace all occurrences of example.com with your domain
# If using LetsEncrypt create letsencrypt certificate by: certbot certonly --webroot -w /var/www/html -d www.example.com
# create dhparam.pem by: openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096
# download LetsEncrypt x3 certificate by: wget -q https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem -P /etc/nginx/ssl
# you can test your ssl configuration @ https://www.ssllabs.com/ssltest/analyze.html
#
upstream zammad-railsserver {
server 10.0.10.40:3000;
}
upstream zammad-websocket {
server 10.0.10.40:6042;
}
server {
listen 80;
listen [::]:80;
server_name 10.0.10.40;
# security - prevent information disclosure about server version
server_tokens off;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
location /.well-known/ {
root /var/www/html;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 10.0.10.40;
# security - prevent information disclosure about server version
server_tokens off;
ssl_certificate /etc/nginx/ssl/example.com-fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/example.com-privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers '<code>';
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 180m;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/ssl/lets-encrypt-x3-cross-signed.pem;
resolver 8.8.8.8 8.8.4.4;
add_header Strict-Transport-Security "max-age=31536000" always;
location = /robots.txt {
access_log off; log_not_found off;
}
location = /favicon.ico {
access_log off; log_not_found off;
}
root /opt/zammad/public;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
client_max_body_size 50M;
location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico|apple-touch-icon.png) {
expires max;
}
# legacy web socket server
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
}
# action cable
location /cable {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-railsserver;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# change this line in an SSO setup
proxy_set_header X-Forwarded-User "";
proxy_read_timeout 180;
proxy_pass http://zammad-railsserver;
gzip on;
gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
gzip_proxied any;
}
}
I would like to request help to resolve this issue.
I believe that’s all that’s needed for me to start using Zammad.