How To Install Ejabberd XMPP Server On CentOS 7

Ejabberd

Introduction

Ejabberd is an XMPP application widely used around the globe. It is available on several operating systems but in this article,  we will let you know the process to install it on Centos 7 and Ubuntu 15.04, 15.10. It is a free and open source software written in Erlang language. One of the main reasons of its high usage ratio is because it has a user-friendly web interface. It is also available for all flavors of Linux even for FreeBSD which makes it one of the most widely used opensource XMPP implementation. Ejabberd uses XMPP protocol on the backend. It stands for Extensive Messaging and Presence Protocol. It is a protocol which acts as a medium of message sharing between two network nodes. I guess everyone is aware of Email as it uses the same architecture. It is stable and RFC’s are available on internet. You can completely implement security on XMPP protocol with combination of Ejabberd; as TLS is also available on it. There are many applications devloped on the basis of XMPP protocol as it’s very flexible but Ejabberd has an extensive commercial use. Some notable usage of XMPP protocol also include Google Talk, Nimbuzz and Ovi (Nokia).

Installing Ejabberd

Let’s start with the installation of Ejabberd on Centos 7. First step is to add the required repository so that required package of Ejabberd can be installed on your system.

 [root@localhost ~]# rpm -Uvh http://mirrors.nayatel.com/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Retrieving http://mirrors.nayatel.com/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

warning: /var/tmp/rpm-tmp.vELeUe: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY

Preparing... ########################################### [100%]

1:epel-release ########################################### [100%] 

The above line will add the required repository to your CentOS system and after it has been added you can easily install Ejabberd on your server by using the following command. It should take around 40 MB disk space, depending on your internet connection speed, it should take time accordingly.

 [root@localhost ~]# yum install http://files.lucidsolutions.co.nz/linux/centos/ejabberd-el7/ejabberd-14.07-6.el7.centos.x86_64.rpm 

It should take few minutes to  complete the installation process for Ejabberd, once the installation process is finished, you should be seeing /opt//ejabberd-16.02 directory on your system. Now we will go to this folder and will play with Ejabberd service executable here.

Ejabberd

As you can see in the above screenshot, there are multiple folders so normally “bin” folder is the one with the services binaries. We will enter the “bin” folder and start Ejabberd service so that we can access its web console. The following command will start Ejabberd service

[root@localhost ejabberd-16.02]# ./bin/ejabberdctl start 

Now we have successfully started the Ejabberd service. You can use the following URL to access Ejabberd web console.

http://Your-IP:5280/admin/

Replace “Your-IP” with your system’s actual IP address, i.e. 192.168.0.119. It will prompt you for username and password, here are default administrator username and passwords for this new ejabberd installation.

Usernmae: admin@localhost
Password: admin

It will immediately take you to the web console of the Ejabberd. You can start creating users, managing ACLs, chat logging etc from here.

Ejabberd

Conclusion

Ejabberd is a modern, fault-tolerant, massively salable, modular and verstile XMPP system. It is an enterprise ready system, you can easily configure its replication and load balancing to scale it to your needs and liking. You can also configure it with MySQL database engine.