How to install ejabberd with os specific package(.deb)

ejabberd-xmpp-logoIn a previous tutorial we showed how to install ejabberd from source code wich is rather involved process but also flexible.In this tutorial we show a less complicated way to get your ejabberd instance up and running.

This will work for you only if processOne or someone has already provided packages for the operating system flavour you are using.The ProcessOne installation page states that they provide both RPM and DEB packages respectively for RedHat and Debian based systems.

To quote them “ProcessOne now provides RPM and DEB all in one packages as well, since ejabberd version 15.06. This is self-sufficient packages also containing a minimal Erlang distribution. It ensures that it does not interfere with your existing Erlang version. This is also a good way to make sure ejabberd will run with the latest Erlang version.”

.If your operating system is not covered ,you hay have to build from the source code .I show how to install the DEB package on an Ubuntu 14.04LTS system.

Grab yourself a copy of the package from the ProcessOne download page and store it somewhere on your filesystem:


Install your package by running dpkg -i on the downloaded deb package :


After the dpkg -i command is done, the system only tells you that it has finished setting up ejabberd and nothing more.This makes it unclear where ejabberd was installed on the system especially if you are not very familiar with ejabberd or linux in general.If this is the case ,go to your root directory and run the locate command on the ejabberdctl program .


We can see that ejabberdctl is located in my /opt/ejabberd-15.11/bin directory .If we go up one directory we can see the directory structure of our installation.


Note that this directory structure is different from the one you get when you install from the source code ,which is reproduced below for reference .


The most important directories for now are bin and conf , bin is where your control programs are located : ejabberdctl is in there and beside that there are start ,stop and status scripts that you can run directly without going through ejabberdctl.


The conf dir contains your configuration files and the one you will need straight away is ejabberd.yml:


With your control programs and configuration files in place the rest is configuring host names and admin account credentials as we did in the from source install tutorial.

If you run into any problems in your installation process ,don’t hesitate to drop me a line.I hope this will come in handy for someone around there.

Complete step by step video Course on XMPP and Smack on Android now available. By the Same Author of this Tute.Help spread the news.

We publish both written&video tutorials on XMPP and it’s application on different platforms. Subscribe below to be among the first to be notified.

Liked this tutorial ? Would be great if you helped us back, here is how :

  • Share this tutorial with your friends
  • Buy or recommend video courses from our online school

You can also join our XMPP Learner Square Group on Facebook to find like minded people!

Posted in Tips and tricks, Tutorials and tagged , , .

Daniel Gakwaya loves computer Hardware/Software.He is a Software Engineer at BLIKOON and lead developer of bliboard-The whiteboard system currently marketed by the company.He is known to hack around on any piece of tech that happens to pick his interest. More on his tech endeavors here
Follow him on Twitter


  1. Sir, i am unable to register a new user in the server.
    sudo ejabberdctl register admin localhost password
    doesnt work, cant log into admin web panel for the same.
    the config file also doesnt have this info.

  2. Sir´╝îI installment it follow your blog.But I don’t know admin password and can you help me?Thank you very much.

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.