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

3 minute read

In 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.

XMPP Smack Android Comprehensive Video Course Available! By the very same author of this tutorial.


Follow up course on Sending and Receiving Files with XMPP and Smack also available!


Commenting not available on this page at the moment! Please hit the author on various social media channels or share your thoughts on this github issue. Worthy conversations will be reproduced here. Thanks for understanding

May 3, 2017 at 12:55 pm Reply	

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.
May 6, 2017 at 2:31 am Reply	

Have you followed the instructions here : ?
May 9, 2017 at 4:16 pm Reply	

Sir,I installment it follow your blog.But I don’t know admin password and can you help me?Thank you very much.
    May 9, 2017 at 4:55 pm Reply	

    You create a normal user account and you add it in the admin list in the configuration file
    as shown here

Categories: ,