Skip to content

Package Installation

TIP

Are you tired of complex setup, configuration, backup and update tasks? Let us handle this stuff for you! 🚀

The easiest and often most cost-effective way to operate Zammad is our cloud service. Give it a try with a free trial instance!

Supported Operating Systems

For package installation, the following Linux distributions are supported:

DistributionVersion
CentOS/RHEL8 & 9
Debian11 & 12
OpenSUSE/SLESLeap 15.x / 15
Ubuntu20.04, 22.04, 24.04

If your distribution is not supported, feel free to use a different installation method or consider using Zammad's cloud service.

To follow the installation steps below, you might need to install additional tools like curl, gnupg and others.

Required Tools
sh
sudo apt install curl apt-transport-https gnupg

Quick Start

Ensure Correct Locale

List your current locale settings:

sh
locale | grep "LANG="

If above does not return <lang_code>.utf8, you can correct this issue as follows:

sh
sudo apt install locales
sh
sudo locale-gen en_US.UTF-8
sh
echo "LANG=en_US.UTF-8" > sudo /etc/default/locale

After fixing it, make sure to check the output again for including <lang_code>.utf8. A reboot may help if unsuccessful.

Install Elasticsearch

The recommended method is to use Elastic's official guide for installing Elasticsearch.

Alternatively, you can follow our example setup of Elasticsearch 7, which we included in another page to keep the install instructions as lean as possible.

Add Zammad Repository

INFO

Packager.io may not be accessible from IPv6-only environments, so make sure to consider this when performing the steps below.

Install repository key:

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

Ubuntu 20.04

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

Ubuntu 22.04

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

Ubuntu 24.04

sh
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

Install Zammad

sh
sudo apt update
sh
sudo apt install zammad

Manage Services of Zammad

Zammad uses three services. They can be (re)started & stopped with the parent zammad:

sh
systemctl (status|start|stop|restart) zammad

Only internal puma server (relevant for displaying the web app):

sh
systemctl (status|start|stop|restart) zammad-web

Only background worker - relevant for all delayed- and background jobs:

sh
systemctl (status|start|stop|restart) zammad-worker

Only websocket server for session related information:

sh
systemctl (status|start|stop|restart) zammad-websocket

Next Steps

Dependencies

Assuming a vanilla system, the following dependencies will automatically be installed during the Zammad package installation. Additionally, you can find some information about Elasticsearch below, which is not automatically installed.

  • imlib2
  • Node.js
  • PostgreSQL
  • Nginx
  • Redis

Database Server

Zammad will store all content in a Database. We supported PostgreSQL in version 10 or higher. The installation script tries to detect a MySQL/MariaDB or PostgreSQL server during the installation. In case none is found, PostgreSQL is automatically installed.

WARNING

If you use database connection pooling software like PgBouncer, make sure to use a pooling mode that is fully compatible with PostgreSQL. Typically this is called “session connection pooling”. Transaction-based connection pooling is not supported and may lead to errors during database migrations.

If you are still using MySQL/MariaDB, you should migrate to PostgreSQL. MySQL/MariaDB are no longer supported starting with Zammad 7.

Reverse Proxy

The following reverse proxies are supported:

  • Nginx 1.3+
  • Apache 2.2+

The installation script tries to detect a Apache or Nginx during the installation. In case none is found, Nginx is automatically installed. You can find a basic configuration guide here.

Elasticsearch optional highly recommended

Elasticsearch is not automatically installed. Because it is crucial for a proper Zammad setup, it is included in the installation instructions above. If you want to connect Zammad to an already existing Elasticsearch instance, make sure to use a supported version and have a look at our config example.

Supported Elasticsearch versions are 7.8 - 8.x.

Elasticsearch version history
ZammadElasticsearch
5.2+>= 7.8, <9
5.0-5.1>= 7.8, <8
4.0-4.1>= 6.5, <=7.12
3.4-3.6>= 5.5, <=7.9
3.3>= 2.4, <=7.6
3.2>= 2.4, <=7.5
3.1>= 2.4, <=7.4
2.0-3.0>= 2.4, <=5.6

The Elasticsearch plugin ingest-attachment is required for version 7 or older to index the contents of email attachments. Starting with Elasticsearch 8, it is included by default.

Memcached optional

Instead of storing Zammads cache files within your filesystem, they can be cached in memory with Memcached.

The installation and configuration is out of our scope of this documentation. Please follow the official guides.

GnuPG optional

If you want to use the PGP integration for sending and receiving signed and encrypted emails, you need to install the GnuPG-Tool. Please have a look at the official GnuPG website.