User:MalakymR/Drafts/Prosody/Rev1
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
+idn
|
Enable support for Internationalized Domain Names |
+libevent
|
Use libevent for event handling |
+sqlite
|
Add support for sqlite - embedded sql database |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+zlib
|
Add support for zlib compression |
icu
|
Enable ICU (Internationalization Components for Unicode) support, using dev-libs/icu |
ldap
|
Add LDAP support (Lightweight Directory Access Protocol) |
mysql
|
Add mySQL Database support |
postgres
|
Add support for the postgresql database |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
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.
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