Install Zammad v2.6.0 with Apache and Mysql in Centos Web Panel | Centos 6/7


Zammad is a web based open source helpdesk/ticket system with many features to manage customer communication via several channels like Telephone, Facebook, Twitter, chat and e-mails.


Easy data historization

Zammad is auditable. That’s the reason it is often used in banks. Via the ticket history it’s possible to reconstruct at any time who changed which attribute to which value.

Individual fields

With Zammad you can easily create individual fields like a desired deadline. And here’s the kicker: It doesn’t only work for tickets, but also for clients and organizations.

Your own overview

Create individual overviews – especially for your different teams. The admin is able to define numbers, names, columns, attributes and authorizations.


The Zammad API helps you to integrate your telephone system into in- and outgoing calls. Clients are picked and shown via their telephone number and outgoing calls can be initialized by click.


Individual guys need individual styles. That’s why clients and agents are able to change the look of Zammad according to their wishes and give the user interface their own personality.


No need to be scared of closing without saving. The current progress is being saved automatically and work can be continued on other devices.

Permanent marking

You wish to mark important sections for the whole team? Zammad supports the permanent marking of important sections in order to provide indication for your colleagues.


Play it safe with Zammad: We support different guidelines for keywords, device-logging and two-factor-authentication.

Customer interface

Customers are able to track the current editing at any time via the customer interface and can provide further information easily.

External authentication

Zammad is up to date. It’s possible to log in via Twitter, Facebook, LinkedIn or Google via OAuth.


Would you like to ensure your clients an individual escalation or solution time limit? Zammad will help you to adhere to your agreements and their evaluation

Immediate changes

The change of objects is reported immediately in the application. The advantage? Double editing is impossible and your colleagues are always provided with the newest information.


It’s worth to be quick: Customer requests can be solved seven times faster via our chat than via email.


The Zammad Web-App supports nine languages. You only have to choose the preferred language for your user interface.


Zammad supports multitasking: Your agents are up to open and edit several documents (tickets, user, organization) at once without switching between browser windows.

Text modules

Zammad is comfortable: With the aid of our flexible text modules, customer requests can be solved more efficiently.

Full-text search

Looking for the needle in a haystack? No problem with Zammad. Our full-text search doesn’t only browse tickets but also their attachments. And this with full power: The search within 40 GB of data for example takes only up to three seconds.

Twitter integration

The world’s talking about you? We guarantee your attention. You can answer immediately via status updates or message.


Zammad shows you who’s important. Via the VIP-feature important clients can be “marked” and will be presented marked in the interface.

Zammad migrator

Moving without missing data? It’s easy: By moving to Zammad you can migrate your previous data straightforwardly. Use the Zammad migrator and migrate from OTRS or Zendesk to Zammad.



Find and save your MySQL root password somewhere as we will need that later.

cat /root/.my.cnf | grep password | cut -d' ' -f1 | cut -d'=' -f2


[root@cwp ~]# cat /root/.my.cnf | grep password | cut -d' ' -f1 | cut -d'=' -f2

In my case the password is oTBbvCNGYKHg. It will be different in your case.


Increase max_allowed_packet to 128M or above in file /etc/my.cnf  under [mysqld]

nano /etc/my.cnf

Add bellow line under [mysqld] and save


Check if it looks like below

cat /etc/my.cnf


[root@cwp ~]# cat /etc/my.cnf

Restart Mysql

Centos 6

service mysqld restart

Centos 7

systemctl restart mariadb.service


Install Ruby 2.4.4 using RVM

yum install curl gpg gcc gcc-c++ make
gpg --keyserver hkp:// --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL | sudo bash -s stable
sudo usermod -a -G rvm `whoami`
source /etc/profile.d/
rvm requirements
rvm install 2.4.4
rvm use 2.4.4 --default


Install ElasticSearch

rpm --import
echo "[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
type=rpm-md"| sudo tee /etc/yum.repos.d/elasticsearch-5.x.repo
yum install -y java-1.8.0-openjdk elasticsearch
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Start and Enable ElasticSearch

Centos 6

service elasticsearch start
chkconfig elasticsearch on

Centos 7

systemctl start elasticsearch.service
systemctl enable elasticsearch.service

Install Zammad


This installation is done for MySQL

useradd zammad -m -d /opt/zammad -s /bin/bash
sudo usermod -a -G rvm zammad
cd /opt
tar -xzf zammad-latest.tar.gz -C zammad
chown -R zammad:zammad zammad
su - zammad
gem install bundler
bundle install --without test development postgres


Configure Datatabse

cp config/database/database.yml config/database.yml

Edit MySQL Database. Uncomment #### mysql config ##### part and add your MySQL root login

Under Prerequisites (STEP – I) we saved MySQL root login

nano config/database.yml


#### mysql config #####

# adapter: mysql2
# username: zammad
# password: <password>

Change to

#### mysql config #####

adapter: mysql2
username: root
password: oTBbvCNGYKHg


Initialize your database

export RAILS_ENV=production
rake db:create
rake db:migrate
rake db:seed
rake assets:precompile


Change to Root and setup Zammad Services

su - root

Centos 6

cp /opt/zammad/script/init.d/zammad /etc/init.d/zammad
service zammad start

Centos 7

sh /opt/zammad/script/systemd/
systemctl start zammad.service

Now we have Zammad running on port 3000


Setup Apache Virtual Host

Replace with your Domain name.

Copy and paste all lines not one by one.

cat > /usr/local/apache/conf.d/zammad.conf << "EOF"
<VirtualHost *:80>
# replace 'localhost' with your fqdn if you want to use zammad from remote

## don't loose time with IP address lookups
HostnameLookups Off

## needed for named virtual hosts
UseCanonicalName Off

## configures the footer on server-generated documents
ServerSignature Off

ProxyRequests Off
ProxyPreserveHost On

<Proxy localhost:3000>
Require local

ProxyPass /assets !
ProxyPass /favicon.ico !
ProxyPass /robots.txt !
ProxyPass /ws ws://localhost:6042/
ProxyPass / http://localhost:3000/

DocumentRoot "/opt/zammad/public"

<Directory />
Options FollowSymLinks
AllowOverride None

<Directory "/opt/zammad/public">
Options FollowSymLinks
Require all granted


Restart Apache

service httpd restart

Now you can access Zammad with your domain name.