User:MalakymR/Drafts/Prosody/Rev1

From Gentoo Wiki
Jump to: navigation, search
Warning
This page is a work in progress by MalakymR (talk | contribs). Treat its contents with caution.
Resources

Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.

Installation

USE flags

USE flags for net-im/prosody Prosody is a modern XMPP communication server

libevent Use libevent for event handling
libressl Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag)
luajit Use dev-lang/luajit instead of dev-lang/lua (ineffective with USE=-lua)
mysql Add mySQL Database support
postgres Add support for the postgresql database
sqlite Add support for sqliteembedded sql database
ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
zlib Support for compressing XMPP streams with mod_compression

Emerge

Install the software on the system.

root #emerge --ask net-im/prosody

Configuration

Files

By default prosody will allow in-band registration, it is important we turn this off unless required, otherwise the server may be used as a spam relay.

FILE /etc/jabber/prosody.cfg.lua
allow_registration = false;
--VirtualHost "localhost"
VirtualHost "example.org"
        -- enabled = false -- Remove this line to enable this host

Service

root #/etc/init.d/prosody start
root #rc-update add prosody default

Adding Users

root #prosodyctl adduser username@domain.tld
Enter new password:
Retype new password:

Add a second user for testing

root #prosodyctl adduser username2

This will produce a working setup that will allow communication between clients on this server only. Unless SRV records are setup client software will require the hostname of the server i.e. xmpp.example.org

Client Software

There are many clients to choose from, with varying levels of support for XEP modules.

  • Conversations - Requires SSL so will not work until a certificate is setup (self-signed okay)
  • Xabber - Android (missing file transfer modules)
  • net-im/pidgin - GUI Windows/Linux/Android
  • Profanity.im - curses based
  • net-irc/xmpp-irssi - Addon for curses based net-irc/irssi