Hur du sätter upp en egen XMPP-server med Prosody
Att sätta upp en egen XMPP-server var förvånansvärt enkelt. Om jag hade vetat att det skulle vara så bekymmersfritt hade jag gjort det för länge sedan.
Den här lilla guiden täcker de mest grundläggande som rör själva XMPP-servern, om du vill ha hjälp med att sätta upp en servermaskin får du vända dig till någon annan. Jag känner mig inte bekväm med att göra några rekommendationer där när säkerheten är en faktor.
Installation
När jag satte upp Prosody på Ubuntu 14.04 behövdes bara paketet prosody
, men när jag satte upp Prosody på en server med Arch Linux behövde jag också installera paketet lua51-sec
för att få stöd för TLS/SSL.
Konfiguration
Här är min konfigurationsfil, den hör hemma i mappen /etc/prosody/
. Min konfiguration är i princip orörd och därför en bra utgångspunkt för att komma igång. En av de saker som jag ändrat och som jag tycker är viktigt är de här två inställningarna:
c2s_require_encryption = true
s2s_secure_auth = true
Det innebär att man tvingar anslutningen mellan klienten och servern att alltid vara krypterad. Det innebär också att du behöver sätta upp giltiga certifikat för den domän som du tänker använda dig av till Prosody.
I min konfigurationsfil har jag använt mig av min påhittade exempeldomän hund.xyz
, så att det inte råder någon förvirring med vad ni ska peta in er domän. :)
SSL/TLS-certifikat med Let’s Encrypt
Jag använder mig av Let’s Encrypt till min domän och det går alldeles utmärkt att låta Prosody ta del av den kakan. Jag använder mig att ett litet script vid namn letsencrypt-to-prosody, vilket kopierar certifikatet till Prosody och ändrar rättigheterna på filerna så de kan läsas av Prosody.
När du är klar med konfigurationen är det bara att starta om Prosody:
# service restart profanity
Alternativt om du har Systemd:
# systemctl restart prosody.service
Administration
För att administrera din XMPP-server, t.ex. om du vill lägga till en ny användare, då kan man antingen använda sig av en XMPP-klient med stöd för detta, Pidgin är en av dess klienter:
Eller använda sig av kommandot prosodyctl
direkt på din server. Du kan du läsa mer om de tillgängliga kommandona här.