How to Install Zammad Ticketing System on CentOS 7

Prerequisites

  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.

sudo -i
yum -y update

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.

yum -y install epel-release
rpm --import https://rpm.packager.io/key
nano /etc/yum.repos.d/zammad.repo
[zammad]  
name=Repository for zammad/zammad application.
baseurl=https://rpm.packager.io/gh/zammad/zammad/centos7/stable
enabled=1
yum -y install zammad

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.

yum -y install certbot
cd /etc/nginx/nano nginx.conf
location ~ /.well-known {  
allow all;
}
nginx -t
systemctl restart nginx
firewall-cmd --permanent --add-service=httpsfirewall-cmd --reload
certbot certonly --standalone -d YourDomain.com

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.

cd /etc/nginx/conf.d/nano zammad.conf
upstream zammad {  
server localhost:3000;
}

upstream zammad-websocket {
server localhost:6042;
}

server {
listen 80;
server_name YourDomain.com;
return 301 https://$host$request_uri;
}

server {
listen 443 http2 ssl;

ssl_certificate /etc/letsencrypt/live/YourDomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YourDomain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;


server_name zammad.irsyadf.me;

root /opt/zammad/public;

access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;

client_max_body_size 50M;

location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
expires max;
}

location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
}

location / {
proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 180;
proxy_pass http://zammad;

gzip on;
gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
gzip_proxied any;
}
}
nginx -t
systemctl restart nginx

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 http://YourDomain.com You will see a zammad webpage like below. Click the Setup new system button to continue.

Conclusion

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

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com