Prosody is an XMPP server written in the Lua programming language. Prosody is designed to be lightweight and highly extensible. It is licensed under a permissive MIT/X11 license. Prosody is available for Arch Linux from packages found in the AUR.
Installation of Prosody on Arch Linux requires building Prosody and two of its dependencies, luaexpat and luasec, from the AUR (the remaining dependencies are available in the main Arch Linux repositories). Use whatever method (yaourt, aurbuild, etc.) you prefer to download, build, and install luaexpat, luasec, and Prosody from the AUR. To build manually from the terminal:
To download the source tarball:
Extract the tarball:
$ tar xzf luaexpat.tar.gz
Make the package (the -s flag will automatically pull dependencies with pacman):
$ cd luaexpat $ makepkg -s
To install the built package using pacman (must be done as root, the '--asdeps' flag tells pacman to install it as a dependency so it can be removed automatically with pacman -Rs if you choose to remove Prosody):
# pacman -U --asdeps *.pkg.tar.gz
The steps to build and install luasec and prosody are near identical:
$ wget http://aur.archlinux.org/packages/luasec/luasec.tar.gz $ tar xzf luasec.tar.gz $ cd luasec $ makepkg -s # pacman -U --asdeps *.pkg.tar.gz $ wget http://aur.archlinux.org/packages/prosody/prosody.tar.gz $ tar xzf prosody.tar.gz $ cd prosody $ makepkg -s # pacman -U *.pkg.tar.gz
At this point Prosody is fully installed.
Configuration & Running
The main configuration file is located in /etc/prosody/prosody.cfg.lua, information on how to configure Prosody can be found in Prosody's documentation. The Arch Linux Prosody package is preconfigured to log to /var/log/prosody/prosody.err and /var/log/prosody/prosody.log. The Arch Linux package also includes a logrotate script in /etc/logrotate.d/prosody, configure it to suit your needs.
You can start Prosody through the included rc.d script:
# /etc/rc.d/prosody start
Of course you can add prosody to your DAEMONS array in your rc.conf file to have it automatically started at boot. Prosody uses the default XMPP ports 5222 and 5269 for client-to-server and server-to-server communications.
You can mainpulate Prosody users by using the prosodyctl program. To add a user:
# prosodyctl adduser <JID>
Issue prosodyctl without any parameters to see all the operations prosodyctl can perform.
If you need to, you can get an SSL/TLS certificate for your XMPP server from the XMPP Standards Foundation.
Prosody and all its dependencies can be removed using pacman:
# pacman -Rs prosody
Prosody may leave the following directories on your filesystem that you may want to remove if you don't plan on reinstalling Prosody:
/etc/prosody /var/lib/prosody /var/log/prosody /var/log/archive/prosody