Hund

Hur du sätter upp en egen XMPP-server med Prosody

7 Juli 2017

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.

Meta

Kommentarer

Det finns inga kommentarer för det här inlägget. Använd e-postformuläret om du vill lämna en kommentar på det här inlägget. [Användarvillkor]