Skip to content

How to Install Zammad on Ubuntu 24.04

Richard
Written by
Richard
Jan 23, 2025 Updated Jun 20, 2026 7 min read
How to Install Zammad on Ubuntu 24.04

You install Zammad on Ubuntu 24.04 by following a straightforward command-line process using its official repository.

Zammad is a powerful, open-source helpdesk and ticketing system designed to streamline your customer support operations. It centralizes communication and ticket management, making it easier for you to handle requests from various channels.

By installing Zammad on Ubuntu 24.04, you leverage a recent and stable Linux distribution, ensuring your helpdesk runs on modern software foundations. The process typically involves adding Zammad’s package repository and then using apt to install the latest stable version, such as Zammad 6.0 or newer.

⚡ Quick Answer

Install Elasticsearch first by adding its APT repository and running sudo apt-get update && sudo apt-get install elasticsearch. Then, configure Elasticsearch by editing /etc/elasticsearch/elasticsearch.yml and enabling/starting the service with systemctl commands.

Install Elasticsearch

You’ll need to install Elasticsearch first to get Zammad working on Ubuntu 24.04. Start by installing a couple of essential packages, then download and add the GPG key for Elasticsearch’s software source.

Before adding the Elasticsearch repository, install these packages.

🐧Bash / Shell
sudo apt-get install apt-transport-https curl

Then, download and add the GPG key for its APT package in the repository.

💻Code
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Next, run the command below to add the Elasticsearch version 8 repository to Ubuntu.

Command Prompt
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Finally, run the command below to install Elasticsearch from the APT repository.

🐧Bash / Shell
sudo apt-get update && sudo apt-get install elasticsearch

When installing Elasticsearch, security features are enabled and configured by default. The password, certificate and keys are output to your terminal.

Take notes of the password, as you will need it later for Zammad configuration.

💻Code
--------------------------- Security autoconfiguration information ------------------------------

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.

The generated password for the elastic built-in superuser is : x5cZ629H+clPySZLBAsQ

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

-------------------------------------------------------------------------------------------------

You can reset the password for the elastic user with the elasticsearch-reset-password command.

💻Code
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

After installing Elasticsearch, please enable it by default and start it.

🐧Bash / Shell
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl enable elasticsearch.service

Configure Elasticsearch

After installing Elasticsearch, you need to open its main settings file, located at /etc/elasticsearch/elasticsearch.yml, to make it work best for your system. This file lets you fine-tune how Elasticsearch runs.

🐧Bash / Shell
sudo nano /etc/elasticsearch/elasticsearch.yml

Optimize the config file to suit your environment.

💻Code
# /etc/elasticsearch/elasticsearch.yml

# Tickets above this size (articles + attachments + metadata)
# may fail to be properly indexed (Default: 100mb).
#
# When Zammad sends tickets to Elasticsearch for indexing,
# it bundles together all the data on each individual ticket
# and issues a single HTTP request for it.
# Payloads exceeding this threshold will be truncated.
#
# Performance may suffer if it is set too high.
http.max_content_length: 400mb

# Allows the engine to generate larger (more complex) search queries.
# Elasticsearch will raise an error or deprecation notice if this value is too low,
# but setting it too high can overload system resources (Default: 1024).
#
# Available in version 6.6+ only.
indices.query.bool.max_clause_count: 2000

Save and exit.

Install Zammad

Now that Elasticsearch is ready, you can install Zammad on your Ubuntu 24.04 system by adding the Zammad software source. First, add the Zammad GPG key to your system using the provided command.

First, add the Zammad GPG APT repository to Ubuntu by running the command below.

💻Code
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | 
gpg --dearmor | sudo tee /etc/apt/keyrings/pkgr-zammad.gpg> /dev/null

Then, run the command below to add the Zammad APT repository to Ubuntu.

Command Prompt
echo "deb [signed-by=/etc/apt/keyrings/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 24.04 main"| 
sudo tee /etc/apt/sources.list.d/zammad.list > /dev/null

Finally, install Zammad by running the command below.

🐧Bash / Shell
sudo apt update
sudo apt install zammad

Once Zammad is installed, you can manage its services using the command below.

🐧Bash / Shell

sudo systemctl stop zammad
sudo systemctl start zammad
sudo systemctl enable zammad

You can use Zammad at this point using the localhost name in your browser.

💻Code
http://localhost
zammad login portal

Set up a new system and create an admin account.

zammad login portal account
zammad login portal account

Log in and begin configuring Zammad.

zammad login admin portal
zammad login admin portal

Connect Zammad to Elasticsearch

To make Zammad work and let you use its web page, you must connect it to Elasticsearch. Run the command to link Zammad with Elasticsearch version 8 or newer, using the account details you set up during the Elasticsearch installation.

Run the command below to connect Zammad to Elasticsearch version 8 and up. The command will configure Zammad with Elasticsearch using the account and password displayed when you install Elasticsearch above.

🐧Bash / Shell
sudo zammad run rails r "Setting.set('es_url', 'https://localhost:9200')"
sudo zammad run rails r "Setting.set('es_user', 'elastic')"
sudo zammad run rails r "Setting.set('es_password', 'x5cZ629H+clPySZLBAsQ')"

Add Elasticsearch certificate to Zammad.

After setting up your Elasticsearch account, you need to add its security certificate to Zammad so they can talk to each other safely. You can find the certificate file at /etc/elasticsearch/certs/http_ca.crt, then copy its contents into Zammad’s admin settings.

Run the command below to display the Elasticsearch certificate installed on the system.

🐧Bash / Shell
sudo cat /etc/elasticsearch/certs/http_ca.crt

Copy the certificate content, go to Zammad’s admin panel, and add your copied certificate under SSL Certificates.

zammad login admin portal certificate
zammad login admin portal certificate

After that, rebuild the Elasticsearch index by running the command below.

🐧Bash / Shell
sudo zammad run rake zammad:searchindex:rebuild

Use a Reverse Proxy Server

Using a reverse proxy server like Nginx or Apache can make your Zammad experience on Ubuntu better. These guides show you how to set up a proxy server on Ubuntu Linux for Zammad.

Below are two posts that show you how to set up a proxy server on Ubuntu Linux.

Set up Let’s Encrypt SSL Certificate

You can add a free Let’s Encrypt SSL certificate to keep your Zammad service on Ubuntu secure. Follow these guides to set up Let’s Encrypt with Apache or Nginx on Ubuntu, then access Zammad using your domain name.

After setting up your environment, access the Zammad portal using the domain name created in the Nginx or Apache virtual host.

If not, use the server’s default hostname to access Zammad.

Conclusion

Installing and configuring the Zammad Community Ticketing System on Ubuntu 24.04 is a straightforward process that empowers organizations with efficient customer support capabilities. Here are the key takeaways:

  • User-Friendly Interface: Zammad offers a seamless experience for support agents and customers, enhancing communication and ticket management.
  • Stable Environment: Utilizing Ubuntu ensures Zammad runs on a secure and updated platform, promoting system stability.
  • Elasticsearch Integration: The integration with Elasticsearch allows for efficient search and indexing of tickets, optimizing response times.
  • Custom Configuration: Users can tailor the configuration of Elasticsearch to fit their specific environment and workload needs.
  • SSL Security: Setting up a reverse proxy with SSL certificates enhances the security of the Zammad instance.
  • Comprehensive Resources: Various guides are available for configuring proxy servers and SSL certificates, ensuring users have the necessary support throughout the setup process.

With these steps completed, you can effectively leverage Zammad to improve your customer support services.

Was this guide helpful?

Was this helpful?
Richard

About the Author

Richard

Tech Writer, IT Professional

Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

No comments yet — be the first to share your thoughts!

Leave a Comment

Your email address will not be published. Required fields are marked *

Exit mobile version