How to Install Zammad Ticketing System on Ubuntu 18.04 | 16.04

laptop 4662049 640

This brief tutorial shows students and new users how to install Zammad help desk and ticketing system on Ubuntu 18.04 | 16.04 server.

Zammad is a free, open source web-based support and ticketing solution written in Ruby.

You can download and install Zammad on your own server in your own environment. It provides popular features you’ll find in other ticketing platforms including, escalation management, customer communication over multiple channels, issues resolution, ticket routing and more.

If you’re looking for an open source support / ticketing platform for your business, then you might want to look at Zammad.

For more about Zammad, please browse its homepage.

When you’re ready to install Zammad, follow the steps below:

Step 1: Install | Setup Elasticsearch

Elasticsearch is a dependency of Zammad and needs to be provided before installing Zammad.

To install Elasticsearch on Ubuntu run the commands below:

sudo apt-get install apt-transport-https sudo wget
sudo echo "deb stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
wget -qO - | sudo apt-key add -

sudo apt-get update
sudo apt-get install openjdk-8-jre elasticsearch
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

After installing, run the commands below to restart and enable Elasticsearch.

sudo systemctl restart elasticsearch
sudo systemctl enable elasticsearch

Step 2: Add Zammad DEB Repository to Ubuntu

Installing Zammad on Ubuntu is easy. Simply add its repository to Ubuntu and install from it.

You don’t need special hardware requirements to install and run Zammad. It installer will automatically download and install all the dependencies for you.

On Ubuntu 18.04, run the below commands to add its repository:

wget -qO- | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/zammad.list

On Ubuntu 16.04, run the command instead:

wget -qO- | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/zammad.list

Step 3: Install Zammad

When you’re done run the commands below to update the systems’ repository files and install Zammad.

sudo apt-get update
sudo apt-get install zammad

After installing Zammad, simply go to the server’s localhost name and Zammad portal should be accessible.


Zammad ubuntu install

You’ll need to create a new admin user when you first connect to the server.

Zammad ubuntu install

Complete the setup and start using the system.

Zammad Ubuntu setup

If you want to access the platform over your own domain name, then simply make the changes below by running the commands below:

Run the command to open Zammad vhost config file.

sudo nano /etc/nginx/sites-enabled/zammad.conf

Then replace hostname with your own domain name as highlighted below:

# this is the nginx config for zammad
upstream zammad-railsserver {

upstream zammad-websocket {

server {
    listen 80;

    # replace 'localhost' with your fqdn if you want to use zammad from remote

    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;

Save the file and exit

Restart Nginx

sudo systemctl reload nginx

Now you should be able to access Zammad over your own domain

Zammad Ubuntu setup

After all steps above, run these last commands to complete the setup and configure Zammad to work with Elasticsearch.

sudo zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
sudo zammad run rake searchindex:rebuild


This post showed you how to install Zammad free support and ticketing platform on Ubuntu. If you find any errors above, please comment below

You may also like the post below:


  1. Hello sir. I think i have a problem. I have followed CentOS install and now Ubuntu Install. None of then seens to work. Everything goes on smoothly and at the end I visit localhost and i get nothing, just welcome no nginx !. Maybe something i am missing ?

    1. perhaps, your issues same like mine…modify your “localhost”. that should do the trick..

  2. Go to “/etc/nginx/sites-enabled”. Remove the link named “default” and keep the one called “zammad.conf”. Restart or reload nginx.

  3. i also have the problem, removed default, and im only able to see zammand on localhost, on the server . From the network if i load the machine ip, shows me the nginx webpage. Can you help?

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.