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:
Distribution | Version |
---|---|
CentOS/RHEL | 8 & 9 |
Debian | 11 & 12 |
OpenSUSE/SLES | Leap 15.x / 15 |
Ubuntu | 20.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
sudo apt install curl apt-transport-https gnupg
Quick Start
Ensure Correct Locale
List your current locale settings:
locale | grep "LANG="
If above does not return <lang_code>.utf8
, you can correct this issue as follows:
sudo apt install locales
sudo locale-gen en_US.UTF-8
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:
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
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
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
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
sudo apt update
sudo apt install zammad
Manage Services of Zammad
Zammad uses three services. They can be (re)started & stopped with the parent zammad
:
systemctl (status|start|stop|restart) zammad
Only internal puma server (relevant for displaying the web app):
systemctl (status|start|stop|restart) zammad-web
Only background worker - relevant for all delayed- and background jobs:
systemctl (status|start|stop|restart) zammad-worker
Only websocket server for session related information:
systemctl (status|start|stop|restart) zammad-websocket
Next Steps
- Connect Zammad with Elasticsearch (basic guide)
- Adjust your SELinux rules and firewall (basic guide)
- Configure the Webserver (basic guide)
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
Zammad | Elasticsearch |
---|---|
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.