The sys admin's daily grind: Prosody

Speed Chat

Article from Issue 174/2015

Columnist Charly Kühnast has been looking into the options of running an instant messaging back end. He chose a particularly lean and easily extendable version.

Prosody [1] is a lean XMPP (Extensible Messaging and Presence Protocol, formerly known as Jabber) server in Lua. It can speak IPv6, supports encrypted transport and – in the default configuration – very little else. You can, however, extend Prosody with modules to add virtually any kind of functionality you need. The number of modules is nearly into three figures [2].

Setting up a basic configuration is a two-step process: You need to create a user and then set up a domain. For my first steps on my home test network, I will be using as the domain, but you can easily replace this with another domain when you go live. The following command sets up the user:

sudo prosodyctl adduser

You then need to add the account as the administrator to Prosody's central configuration file prosody.cfg.lua. The file typically resides below /etc/prosody/, but it can also live directly in /etc on older systems. The entry for this is:

admins = { "" }

If you like, you can define multiple admins.


The next step is to describe the domain. You do this in older versions in prosody.cfg.lua, but most up-to-date Prosody systems store this in two separate directories: /etc/prosody/conf.avail and /etc/prosody/conf.d. You create the configuration file in /etc/prosody/conf.avail. Listing 1 shows that the file only contains a couple of lines.

Listing 1


The dummy certificate normally comes free with your distribution, and you can replace it with a self-signed or purchased certificate later. To make sure that Prosody recognizes the new domain, I created a symlink to the configuration in the /etc/prosody/conf.d/ directory:

sudo ln -s /etc/prosody/conf.avail/ /etc/prosody/conf.d/

After restarting the XMPP server by typing the following:

sudo service prosody restart

you can log in to the server as the administrator. If you then create a couple more user accounts, you can put on your reading glasses (if you need them) and start chatting right away!


  1. Prosody:
  2. Add-on modules for Prosody:

The Author

Charly Kühnast is a Unix operating system administrator at the Data Center in Moers, Germany. His tasks include firewall and DMZ security and availability. He divides his leisure time into hot, wet, and eastern sectors, where he enjoys cooking, freshwater aquariums, and learning Japanese, respectively.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Charly's Column: SSLScan

    If, like our author Charly, you manage SSL-secured servers, read on to discover a tool that you will definitely appreciate. It checks whether the complete security setup is up to date.

  • Filter Proxy for AD

    You might want to reap the benefits of active directory’s single sign-on for your virus scanning and content filtering. If you also use Squid to handle user access to the internet, you have a front-row seat for “when worlds collide.”

  • Charly's Column: lsof

    The shorter a command, the longer the list of support parameters. This rule applies to lsof, one of Charly’s favorite commands.

  • Jitsi

    If you are looking for an alternative to commercial videoconferencing platforms, Jitsi offers an open source solution that lets you build and deploy online videoconferences.

  • Charly's Column

    The Postfix Policyd plugin fights spam using techniques such as greylisting, source detection, volume measurements, blacklisting, and HELO rotation detection.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More