Description: Hands-on step-by-step guide that shows how to configure Prosody for security, mobile messaging and ease of use.
This is a guide to set up a modern XMPP server focused on security and mobile messaging. The whole guide assumes Debian running on the server, the fact that you will end up hosting a few of your friends and that you have some basic skills working on a linux command line.
This is a guide to set up a modern XMPP server focused on security and mobile messaging. The whole guide assumes Debian stable running on the server, the fact that you will end up hosting a few of your friends and that you have some basic skills working on a linux command line.
To make your server communicate make sure following ports are open in your firewall:
@ -25,15 +25,14 @@ This is among others required for Gajim plugins to work properly; self-generated
Install Certbot and get new certificates for your domain (replace myserver.org with your own):
Make a backup of the default prosody configuration and install [the one by the homebrewserver.club]({filename}/downloads/prosody.cfg.lua)
Make a backup of the default prosody configuration and install [the one by the homebrewserver.club](https://homebrewserver.club/downloads/prosody.cfg.lua)
:::console
cd /etc/prosody
@ -196,13 +195,13 @@ The homebrewserver.club prosody config:
"*syslog";
}
VirtualHost "placeholderdomain.org"
VirtualHost "myserver.org"
-- Enable http_upload to allow image sharing across multiple devices and clients
---Set up a MUC (multi-user chat) room server on conference.example.com:
Component "muc.placeholderdomain.org" "muc"
Component "muc.myserver.org" "muc"
compression_level = 9
@ -211,7 +210,7 @@ The homebrewserver.club prosody config:
Replace all instances of the placeholder domain name and passwords in the config file with your own:
:::console
sed -i 's/placeholderdomain.org/yourdomain.net/g' prosody.cfg.lua && sed -i 's/userPassword/yourownpassword/g' prosody.cfg.lua
sed -i 's/myserver.org/yourdomain.net/g' prosody.cfg.lua && sed -i 's/userPassword/yourownpassword/g' prosody.cfg.lua
Alternatively you can change them by hand. They are on line 61, 69, 72, 75 of prosody.cfg.lua
@ -226,7 +225,7 @@ After you've set up all of the above it is time to start the server:
Users can be added from the command line, you will also be prompted for a password:
:::console
prosodyctl adduser me@placeholderdomain.org
prosodyctl adduser me@myserver.org
Alternatively you can change "allow_registration = false;" to "allow_registration = true;" in the config (line 35) to allow users to register accounts on your server via their clients.
@ -235,3 +234,6 @@ Now you can try connecting to your own server by using a client like Gajim or Co
If you have questions about Prosody, the project's [documentation](http://prosody.im/doc) is quite good. If you can't find answers there, try contacting prosody developers and users directly via [the Prosody XMPP chatroom](xmpp://prosody.conference.prosody.im?join)
This guide is a companion to our article [Have You Considered The Alternative?](http://homebrewserver.club/have-you-considered-the-alternative.html) on instant messaging. Also check out our guide on [XMPP clients](http://homebrewserver.club/picking-modern-xmpp-clients.html).