===== Öffentliche Registrierung aktivieren =====
==== Voraussetzung ====
* Diese Howtos setzt [[de:ejabberd_installation|ejabberd Installation]] voraus.
* Die Verwendung eines [[de:letsencrypt_einrichten|Zertifikats von Let's Encrypt ist]] dringend empfohlen
==== Einleitung ====
Wenn du deinen XMPP Server für andere Nutzer:innen anbieten möchtest, ist es anstrengend jede:n Nutzer:in einzeln über die Shell anzulegen. Deshalb bietet XMPP die Möglichkeit, dass sich Nutzer:innen selbst über Ihren XMPP Client registrieren (Inband Registration). Um Spam Konten zu vermeiden solltest du die Registrierung mit einem Captcha absichern.
==== Einrichtung ====
Benötigte Pakete installieren:
$ apt install imagemagick ghostscript
Damit die Konfiguration beim Update nicht jedes mal an neue Pfade angepasst werden muss, kopieren wir das Captcha Script in ein eigenes Verzeichnis:
$ su - ejabberd
$ mkdir captcha
$ cp opt/ejabberd-22.10/lib/captcha-ng.sh captcha/captcha-ng.sh
Die Konfiguration anpassen:
$ jed opt/ejabberd/conf/ejabber.yml
Suche nach:
mod_register:
## Only accept registration requests from the "trusted"
## network (see access_rules section above).
## Think twice before enabling registration from any
## address. See the Jabber SPAM Manifesto for details:
## https://github.com/ge0rg/jabber-spam-fighting-manifesto
ip_access: trusted_network
und ändere es ab:
mod_register:
captcha_protected: true
access: register
Suche nach:
access_rules:
local:
allow: local
c2s:
deny: blocked
allow: all
announce:
allow: admin
configure:
allow: admin
muc_create:
allow: local
pubsub_createnode:
allow: local
trusted_network:
allow: loopback
und ändere es ab:
access_rules:
local:
allow: local
c2s:
deny: blocked
allow: all
announce:
allow: admin
configure:
allow: admin
muc_create:
allow: local
pubsub_createnode:
allow: local
trusted_network:
allow: loopback
register:
allow: all
captcha_cmd: "/home/ejabberd/captcha/captcha-ng.sh"
captcha_url: "https://:5443"
language: "de"
Die Änderungen mit [STRG] + [x] und [STRG] + [s] speichern und den Editor mit [STRG] + [x] und [STRG] + [c] verlassen.
Mache ejabberd die geänderte Konfiguration bekannt:
$ ./opt/ejd/bin/ejabberdctl reload_config