Zammad is open source helpdesk software linked with Facebook and twitter

Zammad Free Ticketing System

Open Source Helpdesk System Linked with Facebook and Twitter

Free ticketing based customer support system that connects ticket management with popular social networks and email service to provide advanced customer support


Zammad is free and open source helpdesk software with attractive design and social media integration. It can be integrated with many social networks e.g. Facebook, Twitter, Telegram etc. This makes Zammad the only customer support software that connects ticket management with the social networks. Your support team can use different communication mediums in a single platform to accept, transfer or answer client inquires via telephone, email, chat and social networks.

It supports Clearbit integration that inevitably improve tickets with additional information about the individual or organization that is making an inquiry. Zammad let you record work hours, assign business affiliation based email domain and allow multitasking as well support full-text search powered by Elasticsearch. It supports all the modern features which can help to provide most satisfying customer support experience.

System Requirements

Zammad is Ruby and MySQL based customer support system which requires following software.

  • Ruby 2.6.5+
  • MySQL 5.6+ / MariaDB 10.0+ / PostgreSQL 9.1+
  • Apache 2.2+ / Nginx 1.3+


Following are the key features of Zammad

  • Easy data historization
  • Escalations
  • Individual fields
  • Immediate changes
  • Your own overview
  • Chat
  • Phone
  • Multilingual
  • Branding
  • Tasks
  • Autosave
  • Text modules
  • Permanent marking
  • Full-text search
  • Security
  • Twitter integration
  • Customer interface
  • VIP
  • External authentication
  • Zammad migrator


Install Zammad on Debian 7, 8 / Ubuntu 16.04 / Ubuntu 18.04 (with Nginx & MySQL)


apt-get update 
apt-get install curl git-core patch build-essential bison zlib1g-dev libssl-dev libxml2-dev libxml2-dev sqlite3 libsqlite3-dev autotools-dev libxslt1-dev libyaml-0-2 autoconf automake libreadline6-dev libyaml-dev libtool libgmp-dev libgdbm-dev libncurses5-dev pkg-config libffi-dev libmysqlclient-dev mysql-server nginx gawk libimlib2-dev

Add User

useradd zammad -m -d /opt/zammad -s /bin/bash 
echo "export RAILS_ENV=production" >> /opt/zammad/.bashrc 

Create MySQL user zammad

 mysql --defaults-extra-file=/etc/mysql/debian.cnf -e "CREATE USER 'zammad'@'localhost' IDENTIFIED BY 'Your_Pass_Word'; GRANT ALL PRIVILEGES ON zammad_prod.* TO 'zammad'@'localhost'; FLUSH PRIVILEGES;" 

Get Zammad

su - zammad
curl -O
tar -xzf zammad-latest.tar.gz
rm zammad-latest.tar.gz 

Install environment

gpg --keyserver hkp:// --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L | bash -s stable
source /opt/zammad/.rvm/scripts/rvm
echo "source /opt/zammad/.rvm/scripts/rvm" >> /opt/zammad/.bashrc
echo "rvm --default use 2.6.5" >> /opt/zammad/.bashrc
rvm install 2.6.5
gem install bundler

Install Zammad

bundle install --without test development postgres
cp config/database/database.yml config/database.yml

Insert mysql user, pass & change adapter to mysql2 & change database to zammad_prod.

vi config/database.yml 
rake db:create 
rake db:migrate 
rake db:seed 
rake assets:precompile

Start Zammad

rails s -p 3000 &>> log/zammad.log &
script/websocket-server.rb start &>> log/zammad.log &
script/scheduler.rb start &>> log/zammad.log &

Create Nginx Config & restart Nginx

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/sites-available/zammad.conf

Change servername “localhost” to your domain if your’re not testing localy

vi /etc/nginx/sites-available/zammad.conf
ln -s /etc/nginx/sites-available/zammad.conf /etc/nginx/sites-enabled/zammad.conf
systemctl restart nginx

Go to http://localhost and you’ll see

  • “Welcome to Zammad!”, there you need to create your admin user and invite other agents.

Congrats! You have successfully installed Zammad on NGINX