Learn how to install and configure Zammad Ticketing System on Ubuntu


Zammad is a support system that was created using Ruby and is available for use as an open-source tool. It is designed to help customer support teams manage complaints and inquiries coming from various platforms, such as web forms, email, chat, Twitter, Facebook, X and many more. Moreover, Zammad comes with an API that enables you to link your telephone system. It offers a variety of features, including two-factor authentication, external authentication via Google, Apple, LinkedIn, Facebook, or X, auto-save, and full-text search.In this guide, we will be outlining the steps to install the Zammad Ticketing System on Ubuntu. Please note that this process is compatible with Ubuntu 20.04 and Ubuntu 22.04


The following is a list of items that are needed to complete this guide successfully:
1) A desktop or laptop with a dual core processor, 50GB of free disk space and a dual core processor
2) Linux Ubuntu 20.04 or 22.04 LTS
3) An SSH client such as Putty or the Terminal app for MacOS
4) For cloud deployments a fully qualified domain name and a public static IP address may also be needed
5) A stable internet connection


The following is an overview of the steps covered in this tutorial:
1) Download and install Java.
2) Download and install Apache and needed dependancies.
3) Download and install Elastic Search
4) Download, install and configure Zammad
5) Complete the Zammad post installation setup wizard.

Step 1: Download and install Java

The usage of Zammad on your server requires the installation of Java. You can easily install Java JDK 11 by running the following command:
apt-get install openjdk-11-jdk -y
After the installation, you can verify the version of Java that is installed by running the following command:
java -version
Upon successful installation, you should receive an output that looks like this:
openjdk version "11.0.7" 2024-01-21
OpenJDK Runtime Environment
OpenJDK 64-Bit Server VM.

Step 2: Download and install Apache and needed dependencies

To host Zammad, you will need to set up the Apache webserver. The installation process involves running the following command:
apt-get install apache2 -y
Additionally, you will need to install libssl package on your server. The first step is to add the Focal security repository by using this command:
echo "deb focal-security main" | tee /etc/apt/sources.list.d/focal-security.list
After that, update the repository and install the libssl package by running the command below:
apt update -y
apt install libssl1.1
Once you have completed these steps, you can proceed to install Zammad.

Step 3: Download and install Elastic Search

Zammad uses the search function provided by Elasticsearch. To use Elasticsearch on Ubuntu 20.04, you need to add the Elasticsearch repository to your system. You can add it by executing the following commands:

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

After adding the repository, update it and install Elasticsearch by running the following command:

apt-get update -y
apt-get install elasticsearch -y

Once Elasticsearch is installed, start the service and enable it to start at boot with the following commands:

systemctl start elasticsearch
systemctl enable elasticsearch

To allow Elasticsearch to index file attachments, run the following command:

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

You might see a warning indicating that the plugin requires additional permissions. Follow the instructions provided in the warning to continue with the installation.

Finally, restart Elasticsearch to apply the changes:

systemctl restart elasticsearch

Step 4: Download, install and configure Zammad

By default, Zammad is not included in the Ubuntu 20.04 default repository. To install Zammad, you will need to add the Zammad repository in your system. Here are the steps to follow: Step 1: Download and add the GPG key with the command below:
wget -qO- | apt-key add -
Step 2: Add the Zammad repository with the command below:
wget -O /etc/apt/sources.list.d/zammad.list
Step 3: Update the repository and install Zammad with the following command:
apt-get update -y
apt-get install zammad -y
After installing Zammad, you will receive an output requesting you to add your fully qualified domain name or public IP to the servername directive of Apache2 if this installation is done on a remote server. Otherwise, you can open http://localhost/ in your browser to start using Zammad. Lastly, you will need to configure Zammad to work with Elasticsearch, add extra Elasticsearch index name space, and set the max attachment size using the following command:
zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
zammad run rake searchindex:rebuild
zammad run rails r "Setting.set('es_index', Socket.gethostname + '_zammad')"
zammad run rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov','.bin', '.exe', '.box', '.mbox' ] )"
zammad run rails r "Setting.set('es_attachment_max_size_in_mb', 50)"
The next step is to configure Apache as a reverse proxy for Zammad. You need to perform the following: 1. Disable the default Apache virtual host file by entering the following command:
a2dissite 000-default.conf
2. Afterwards, modify the Zammad virtual host configuration file by entering:
nano /etc/apache2/sites-available/zammad.conf
3. Now, change the ServerName and uncomment ServerTokens directive as shown below:
ServerName your-server-ip
# ServerTokens Prod
# RequestHeader unset X-Forwarded-User
4. Save and close the file. Finally, restart the Apache service to apply the changes:
systemctl restart apache2

Step 5: Complete the Zammad post installation setup wizard

Begin by opening your preferred web browser and navigate to the Zammad web interface using the URL http://your-server-ip. Proceed by selecting the “Setup new System” option. Input your administrative username, password, and email, then click on the “Create” button. Provide your Organization’s name, upload a logo, provide system URL, and then select the “Next” button. Select your preferred MTA and click on the “Continue” button. Click on the “Skip” button, and the Zammad dashboard will appear.


You have successfully installed and configured the Zammad Ticketing System on your Ubuntu server. By following the steps outlined in this guide, you can now leverage the power of Zammad to streamline your customer support operations. This open-source solution offers a comprehensive platform for managing complaints and inquiries from diverse platforms, enhancing agent efficiency and improving customer satisfaction. Remember to tailor Zammad further to your specific needs and explore its advanced features to get the most out of it.

Here are some key takeaways from the installation process:

1. Zammad requires several dependencies like Java, Apache, and Elasticsearch. Installing and configuring these components are crucial steps.
2. You need to configure Zammad to work with Elasticsearch by setting the appropriate URLs and parameters.
3. Apache should be configured as a reverse proxy for Zammad to ensure smooth access through the web interface.
4. Finally, complete the Zammad post-installation setup wizard to personalize your system and activate its functionalities.

Feel free to explore the Zammad documentation and community resources for further guidance and customization options. Good luck with your Zammad implementation!

Scroll to Top