How to Install Zammad Ticketing System on CentOS 7

By Sajid Qureshi, Alibaba Cloud Community Blog author.

Zammad is a free and open source helpdesk/ticketing system written in Ruby. It provides you with many features including customer communication over several channels and is available on GitHub. Customer service representatives can easily deal with customer complaints using Zammad.

In this tutorial, we will be showing you how to install Zammad on an Alibaba Cloud Elastic Compute Service (ECS) instance with CentOS 7.


  1. You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get a free account in your Alibaba Cloud account. If you don’t know about how to set up your ECS instance, you can refer to this quick-start guide. Your ECS instance must have at least 1GB RAM and 1 Core processor.
  2. A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.

Upgrade the System

In this tutorial, we are using root user privileges for the entire installation process. You can switch from non root user to root user using this below given command.

You are recommended to upgrade the available repositories and packages before installing Zammad. You can do so using the following command.

Install Zammad

Zammad doesn’t require any special hardware requirements to install, it will automatically download and install all the dependencies. You will need to install the EPEL repository before installing Zammad, you can add EPEL repository using the following command.

Next, you will need to import Zammad key using the following command.

Now, add the zammad repository in ‘yum.repos.d’ directory using the nano text editor.

Add the following content into the file.

Save the file and exit from the text editor.

The below command will automatically install all the other required packages like Nginx web server and PostgreSQL for the database purpose. Now let’s install Zammad using the following command.

It will take some moments so hold on a bit.

Install and Configure Let’s Encrypt SSL

Now we will need to generate SSL certificates from Let’s Encrypt client. If you wish to use commercial SSL certificates instead, you can purchase SSL Certificate from Alibaba Cloud. Here we will install Certbot tool, a let’s encrypt client using the following command.

Next, change your current directory to the Nginx configuration directory and open the configuration file. Execute the following commands and they will do the job for you.

Add the following content under the ‘server {}’ block.

Save the file and exit from the text editor.

Next, you can test the configuration using the following command.

If nothing goes wrong then you should see Successful as the result in your terminal.

Next, you will need to restart the Nginx server to apply changes.

Now, you will need to modify firewall rules to make sure that your system port for HTTP and HTTPS is not blocked. Execute the following commands and they will do the job for you.

Finally, generate SSL certificate files using certbot as shown below:

(NOTE:- Replace YourDomain with your actual domain name registered with Alibaba Cloud.)

You will be asked for an email so type your email address and hit ENTER button to continue. Accept the terms and conditions by typing A.

Once the installation is complete, you can find all your certificates in the ‘/etc/letsencryp/live/’ directory.

Configure Nginx

We will configure a virtual host file for Zammad. You don’t have to create a new virtual host file for Zammad, It’s automatically created during the Zammad installation.

Change your current directory to /etc/nginx/conf.d/ and edit the zammad.conf file using nano text editor.

Add the following content into the file and change the configuration.

Save the configuration file and exit. Please don’t forget to replace YourDomain with your actual domain name.

Finally, test this configuration file using the following command and make sure there is no error.

Next, restart the web server using the following command.

Web Interface

Zammad ticketing system has been installed on your CentOS 7 server and it’s running under HTTPS secure connection. You will need to configure the installation wizard so open up your favorite web browser and visit You will see a zammad webpage like below. Click the Setup new system button to continue.

On the next interface, you will be asked to create an administrative account. Simply, enter the basic admin details like username, email, and password, and then finally click on Create button to proceed further.

Next, you will have to provide your organization/company name and then click on Next button.

Next, click Continue button for email notification and proceed further.

Next, click Skip for channel configuration and then you will see the Zammad admin dashboard like this:


In this guide, you learned how to install Zammad ticketing system on your CentOS 7 server. Now you can manage your customer support system through various channels. We hope now you have enough knowledge to work with Zammad Ticketing System.

Original Source

Follow me to keep abreast with the latest technology news, industry insights, and developer trends.