,

How to Install Zammad on Ubuntu 24.04

This article provides a detailed guide on installing the Zammad Community Ticketing system on Ubuntu 24.04. It outlines the steps for installing Elasticsearch, configuring it, and then installing Zammad. Additionally, it includes instructions for connecting Zammad to Elasticsearch, using a reverse proxy, and setting up an SSL certificate.

This article explains how to install Zammad Community Ticketing system on Ubuntu 24.04.

Zammad is an open-source helpdesk and support ticket system that manages customer communication and support requests. It provides a user-friendly interface for support agents and customers, allowing for easy tracking of tickets, communications via various channels (such as email, chat, and social media), and managing customer interactions.

Installing Zammad on Ubuntu provides a reliable environment in which to enhance and maintain the system. The Ubuntu platform ensures that Zammad can be set up with up-to-date libraries and packages, lending to its stability and performance.

The steps below walk you through installing Zammad on Ubuntu 24.04.

Install Elasticsearch

To use Zammad on Ubuntu, you must install Elasticsearch. The easiest way to install Elasticsearch is from our APT repository. It can install Elasticsearch on any Debian-based system, such as Debian and Ubuntu.

Before adding the Elasticsearch repository, install these packages.

sudo apt-get install apt-transport-https curl

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

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.

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.

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.

--------------------------- 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.

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

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

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl enable elasticsearch.service

Configure Elasticsearch

Once you are done installing Elasticsearch, adjust its configuration file /etc/elasticsearch/elasticsearch.yml.

sudo nano /etc/elasticsearch/elasticsearch.yml

Optimize the config file to suit your environment.

# /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

After installing and configuring Elasticsearch, continue to install Zammad below.

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

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.

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.

sudo apt update
sudo apt install zammad

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


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.

http://localhost

Set up a new system and create an admin account.

Log in and begin configuring Zammad.

Connect Zammad to Elasticsearch

Zammad is ready to use at this point. However, you must connect Zammad to access Zammad Web-UI and get started.

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.

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 an Elasticsearch account, you should also set up an Elasticsearch certificate in Zammad.

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

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.

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

sudo zammad run rake zammad:searchindex:rebuild

Use a Reverse Proxy Server

You may want to set up a reverse proxy server using Nginx or Apache to use the software better.

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

Set up Let’s Encrypt SSL Certificate

Another setting you can use is an SSL certificate for the service. Below are two posts that show you how to set up a Let’s Encrypt SSL certificate for web servers on Ubuntu.

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.

Richard Avatar

Comments

Leave a Reply

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