Install with Package Manager¶

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!

Prerequisites¶

Before performing the following steps, make sure to meet Zammad’s software requirements.

1. Install Required Tools¶

In addition to already mentioned software dependencies, some operating systems may require additional packages if not already installed.

$ sudo apt install curl apt-transport-https gnupg

2. Install Elasticsearch¶

Elasticsearch is not a hard dependency of Zammad, but strongly recommended! It needs to be installed before Zammad. Read on in the Elasticsearch section first and continue with the next step after you finished the installation of it.

3. Ensure Correct Locale¶

To make Zammad work correctly, your system has to use the correct locales.

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 tee /etc/default/locale

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

Add Repository and Install Zammad¶

Hint

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

Add Repository¶

Add repository key
$ sudo curl -fsSL "https://go.packager.io/srv/deb/zammad/zammad/gpg-key.gpg" \
    -o /usr/share/keyrings/zammad.gpg && sudo chmod 644 /usr/share/keyrings/zammad.gpg
Add repository (Ubuntu 22.04)
$ sudo curl -fsSL "https://go.packager.io/srv/zammad/zammad/stable/installer/ubuntu/22.04.list" \
    -o /etc/apt/sources.list.d/zammad.list
Add repository (Ubuntu 24.04)
$ sudo curl -fsSL  "https://go.packager.io/srv/zammad/zammad/stable/installer/ubuntu/24.04.list" \
    -o /etc/apt/sources.list.d/zammad.list

Install Zammad¶

$ sudo apt update
$ sudo apt install zammad

Firewall & SELinux¶

Some parts of these steps may not apply to you, feel free to skip them!

SELinux¶

Note

The commands below only work on Ubuntu, Debian and CentOS. If you use a different distribution, please have a look at their documentation.

Allow Nginx or Apache to access public files of Zammad and communicate:

$ sudo chcon -Rv --type=httpd_sys_content_t /opt/zammad/public/
$ sudo setsebool httpd_can_network_connect on -P
$ sudo semanage fcontext -a -t httpd_sys_content_t /opt/zammad/public/
$ sudo restorecon -Rv /opt/zammad/public/
$ sudo chmod -R a+r /opt/zammad/public/

Firewall¶

Ensure to open ports 80 and 443 (TCP & UDP) beside of the ports you need. Below you can find a few examples for different distributions. If you are using a different distribution, please have a look at their documentation.

Please note that the examples below only cover the distribution’s default firewall. It may not cover your case.

Open Port 80 and 443 on your Firewall:

$ sudo ufw allow 80
$ sudo ufw allow 443
$ sudo ufw reload

Manage Services of Zammad¶

Zammad uses three services. These services can be managed individually or all at once by using the parent zammad.

  • zammad: includes the services below

    • zammad-web: internal puma server (relevant for displaying the web app)

    • zammad-worker: background worker - relevant for all delayed- and background jobs

    • zammad-websocket: websocket server for session related information

Manage the services with systemctl’s commands start, restart, stop, status. Example to start Zammad with all sub-services:

$ sudo systemctl start zammad

To stop or restart a service or to check its status, adjust the command as mentioned above.

Next Steps¶

With this Zammad technically is ready to go. However, you’ll need to follow the following further steps to access Zammad’s Web-UI and getting started with it.

  1. Connect Zammad with Elasticsearch

  2. Configure the Webserver

  3. First Steps

  4. You may also find Zammad’s Console commands useful

If you expect usage with 5 agents or more you may also want to consider the following pages.