Description: Hands-on step-by-step guide that shows how to configure Prosody for security, mobile messaging and ease of use.
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:
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):
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
:::console
cd /etc/prosody
cd /etc/prosody
@ -196,13 +195,13 @@ The homebrewserver.club prosody config:
"*syslog";
"*syslog";
}
}
VirtualHost "placeholderdomain.org"
VirtualHost "myserver.org"
-- Enable http_upload to allow image sharing across multiple devices and clients
-- 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:
---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
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:
Replace all instances of the placeholder domain name and passwords in the config file with your own:
:::console
:::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
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:
Users can be added from the command line, you will also be prompted for a password:
:::console
:::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.
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)
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).
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).