Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:ejabberd_installation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
de:ejabberd_installation [25.11.2022, 09:39] – [ejabberd konfigurieren] Christoph Stoltzde:ejabberd_installation [04.12.2022, 14:35] (aktuell) – [Einleitung] Christoph Stoltz
Zeile 4: Zeile 4:
 ==== Einleitung ==== ==== Einleitung ====
  
-Diese Anleitung bezieht sich auf Debian 11 (Bullyseye). Es sollte allerdings sehr leicht sein, diese Anleitung auf andere Distributionen anzuwenden. +Diese Howto-Serie bezieht sich auf Debian 11 (Bullyseye). Es sollte allerdings sehr leicht sein, dieses Howto auf andere Distributionen anzuwenden. 
-Wörter in spitzen Klammern < > bezeichnen einen Platzhalter, der durch eigene Werte sinnvoll ersetzt werden muss. In dem Howto geht es daher immer um die Domain <beispiel.de>, was durch deine eigene Domain ersetzt werden muss. +<Wörterin spitzen Klammern bezeichnen einen Platzhalter, der durch eigene Werte sinnvoll ersetzt werden muss. In dem Howto geht es daher immer um die Domain <beispiel.de>, was durch deine eigene Domain ersetzt werden muss. 
-Wörter in eckigen Klammern [ ] bezeichnen einzelne Tasten oder Menüs zum klicken. +[Wörterin eckigen Klammern bezeichnen einzelne Tasten oder Menüs zum klicken. 
  
-Diese Howto-Serie ist als Copy-Paste Anleitung gedacht. Du musst also nur die Befehle kopieren und bei dir in der Console einfügen. Befehle erkennst du am Dollarzeichen ($):+Diese Howto-Serie ist als Copy-Paste Howto gedacht. Du musst also nur die Befehle kopieren und bei dir in der Console einfügen. Befehle erkennst du am Dollarzeichen ($):
  
 <code>$ ./das/ist/ein/befehl mit option</code> <code>$ ./das/ist/ein/befehl mit option</code>
Zeile 20: Zeile 20:
 Das kannst abkürzen. Wenn du direkt [STRG] + [x] und [STRG] + [c] verwendest wirst du gefragt, ob du die Änderungen vor dem Verlassen speichern möchtest. Das kannst abkürzen. Wenn du direkt [STRG] + [x] und [STRG] + [c] verwendest wirst du gefragt, ob du die Änderungen vor dem Verlassen speichern möchtest.
  
 +Wenn in Konfigurationsdateien Abstände mit Leerzeichen angezeigt sind, dann verwende bitte ausschließlich Leerzeichen über die Leertaste (Space). Bitte füge keine Tabs ein!
  
 +Die späteren Howtos geben in ihrer Einleitung immer an, welche Howtos vorausgesetzt werden. Diese müssen dann vorher abgearbeitet werden.
 +
 +**Dieses Howto beschränkt sich auf die Einrichtung einer einzigen Domain. Wenn du deinen XMPP-Server mit mehreren Domains betreiben möchtest, gibt es das Howto [[de:ejabberd mit mehreren Domains|ejabberd mit mehreren Domains]], welches du dann zuerst lesen solltest.**
 ==== Voraussetzung ==== ==== Voraussetzung ====
  
Zeile 67: Zeile 71:
  
 <code>$ wget -O ejabberd-22.10-1-linux-x64.run https://www.process-one.net/downloads/downloads-action.php?file=/22.10/ejabberd-22.10-1-linux-x64.run <code>$ wget -O ejabberd-22.10-1-linux-x64.run https://www.process-one.net/downloads/downloads-action.php?file=/22.10/ejabberd-22.10-1-linux-x64.run
-$ chmod +x</code>+$ chmod +x ejabberd-22.10-1-linux-x64.run</code>
  
 Installation starten: Installation starten:
  
-<code>$ ./ejabberd-22-10-1-linux-x64.run</code>+<code>$ ./ejabberd-22.10-1-linux-x64.run
  
 Running without superuser privileges (installer wasn't invoked Running without superuser privileges (installer wasn't invoked
 with "sudo"), cannot perform system-wide installation this way. with "sudo"), cannot perform system-wide installation this way.
-Continue anyway? (y/n) [n] **<y**+Continue anyway? (y/n) [n] y
  
-Install ejabberd below /home/ejabberd/opt? (y/n) [n] **<y**+Install ejabberd below /home/ejabberd/opt? (y/n) [n] y
  
 The following installation paths will be used: The following installation paths will be used:
 - /home/ejabberd/opt/ejabberd-22.10 - /home/ejabberd/opt/ejabberd-22.10
 - /home/ejabberd/opt/ejabberd (for configuration, database, and log files) - /home/ejabberd/opt/ejabberd (for configuration, database, and log files)
-Install ejabberd 22.10 now? (y/n) [n] **<y**+Install ejabberd 22.10 now? (y/n) [n] y</code>
  
  
Zeile 99: Zeile 103:
  
 <code>$ rm opt/ejd <code>$ rm opt/ejd
-ln -s /home/ejabberd/opt/ejabberd-xx.yy /home/ejabberd/opt/ejd</code>+ln -s /home/ejabberd/opt/ejabberd-xx.yy /home/ejabberd/opt/ejd</code>
 ==== ejabberd konfigurieren ==== ==== ejabberd konfigurieren ====
  
Zeile 106: Zeile 110:
 <code>$ jed opt/ejabberd/conf/ejabberd.yml</code> <code>$ jed opt/ejabberd/conf/ejabberd.yml</code>
  
-Das ist eine Basiskonfiguration, die du nach deinen Bedürfnissen anpassen kannst. Jetzt musst du nur den Hostname anpassen.+Das ist eine Basiskonfiguration, die du nach deinen Bedürfnissen anpassen kannst. Mehr dazu findest du in späteren Howtos.
  
-<code> +Wir passen zuerst den Hostnamen an.
-### +
-###              ejabberd configuration file +
-### +
-### The parameters used in this configuration file are explained at +
-### +
-###       https://docs.ejabberd.im/admin/configuration +
-### +
-### The configuration file is written in YAML. +
-### ******************************************************* +
-### *******           !!! WARNING !!!               ******* +
-### *******     YAML IS INDENTATION SENSITIVE       ******* +
-### ******* MAKE SURE YOU INDENT SECTIONS CORRECTLY ******* +
-### ******************************************************* +
-### Refer to http://en.wikipedia.org/wiki/YAML for the brief description. +
-###+
  
-hosts: +Suche nach:
-  - beispiel.de+
  
-loglevelinfo+<code>hosts: 
 +  - <deinhostname></code>
  
-ca_file/home/ejabberd/opt/ejabberd/conf/cacert.pem+Und ersetze es mit deiner Domain:
  
-certfiles+<code>hosts
-  - /home/ejabberd/opt/ejabberd/conf/server.pem+  - <beispiel.de></code>
  
-## If you already have certificateslist them here +In der Standardkonfiguration werden die Passwörter deiner User:innen im Klartext gespeichertwas sehr unsicher istWir richten ejabberd deshalb von Anfang an so ein, dass die Passwörter gehasht und gesalzen gespeichert werden.
-# certfiles: +
-#  - /etc/letsencrypt/live/domain.tld/fullchain.pem +
-#  - /etc/letsencrypt/live/domain.tld/privkey.pem+
  
-listen: +Füge über dem hosts Block ein:
-  - +
-    port: 5222 +
-    ip: "::" +
-    module: ejabberd_c2s +
-    max_stanza_size: 262144 +
-    shaper: c2s_shaper +
-    access: c2s +
-    starttls_required: true +
-  - +
-    port: 5223 +
-    ip: "::" +
-    tls: true +
-    module: ejabberd_c2s +
-    max_stanza_size: 262144 +
-    shaper: c2s_shaper +
-    access: c2s +
-    starttls_required: true +
-  - +
-    port: 5269 +
-    ip: "::" +
-    module: ejabberd_s2s_in +
-    max_stanza_size: 524288 +
-  - +
-    port: 5443 +
-    ip: "::" +
-    module: ejabberd_http +
-    tls: true +
-    request_handlers: +
-      /admin: ejabberd_web_admin +
-      /api: mod_http_api +
-      /bosh: mod_bosh +
-      /captcha: ejabberd_captcha +
-      /upload: mod_http_upload +
-      /ws: ejabberd_http_ws +
-  - +
-    port: 5280 +
-    ip: "::" +
-    module: ejabberd_http +
-    request_handlers: +
-      /admin: ejabberd_web_admin +
-      /.well-known/acme-challenge: ejabberd_acme +
-  - +
-    port: 3478 +
-    ip: "::" +
-    transport: udp +
-    module: ejabberd_stun +
-    use_turn: true +
-    ## The server's public IPv4 address: +
-    # turn_ipv4_address: "203.0.113.3" +
-    ## The server's public IPv6 address: +
-    # turn_ipv6_address: "2001:db8::3" +
-  - +
-    port: 1883 +
-    ip: "::" +
-    module: mod_mqtt +
-    backlog: 1000+
  
-s2s_use_starttlsoptional+<code>auth_password_formatscram 
 +auth_scram_hash: sha512</code>
  
-acl: +Jetzt noch mqtt deaktivieren, das benötigen wir nicht und könnte bei einem Wechsel zu SQL Probleme verursachen.
-  local: +
-    user_regexp: "" +
-  loopback: +
-    ip: +
-      - 127.0.0.0/8 +
-      - ::1/128+
  
-access_rules: +Suche nach:
-  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+
  
-api_permissions: +<code>  - 
-  "console commands": +    port1883 
-    from: +    ip: "::" 
-      ejabberd_ctl +    modulemod_mqtt 
-    whoall +    backlog1000</code> 
-    what"*" +     
-  "admin access": +Und lösche den kompletten Block.
-    who: +
-      access: +
-        allow: +
-          - acl: loopback +
-          - acl: admin +
-      oauth: +
-        scope: "ejabberd:admin" +
-        access: +
-          allow: +
-            - acl: loopback +
-            - acl: admin +
-    what: +
-      - "*" +
-      - "!stop" +
-      - "!start" +
-  "public commands"+
-    who: +
-      ip: 127.0.0.1/8 +
-    what: +
-      - status +
-      - connected_users_number+
  
-shaper: +Suche nach:
-  normal: +
-    rate: 3000 +
-    burst_size: 20000 +
-  fast: 100000 +
- +
-shaper_rules: +
-  max_user_sessions: 10 +
-  max_user_offline_messages: +
-    5000: admin +
-    100: all +
-  c2s_shaper: +
-    none: admin +
-    normal: all +
-  s2s_shaper: fast+
  
-modules: +<code>  mod_mqtt: {}</code>
-  mod_adhoc: {} +
-  mod_admin_extra: {} +
-  mod_announce: +
-    access: announce +
-  mod_avatar: {} +
-  mod_blocking: {} +
-  mod_bosh: {} +
-  mod_caps: {} +
-  mod_carboncopy: {} +
-  mod_client_state: {} +
-  mod_configure: {} +
-  mod_disco: {} +
-  mod_fail2ban: {} +
-  mod_http_api: {} +
-  mod_http_upload: +
-    put_url: https://@HOST@:5443/upload +
-    custom_headers: +
-      "Access-Control-Allow-Origin": "https://@HOST@" +
-      "Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS" +
-      "Access-Control-Allow-Headers": "Content-Type" +
-  mod_last: {} +
-  mod_mam: +
-    ## Mnesia is limited to 2GB, better to use an SQL backend +
-    ## For small servers SQLite is a good fit and is very easy +
-    ## to configure. Uncomment this when you have SQL configured: +
-    ## db_type: sql +
-    assume_mam_usage: true +
-    default: always +
-  mod_mqtt: {} +
-  mod_muc: +
-    access: +
-      - allow +
-    access_admin: +
-      - allow: admin +
-    access_create: muc_create +
-    access_persistent: muc_create +
-    access_mam: +
-      - allow +
-    default_room_options: +
-      mam: true +
-  mod_muc_admin: {} +
-  mod_offline: +
-    access_max_user_messages: max_user_offline_messages +
-  mod_ping: {} +
-  mod_privacy: {} +
-  mod_private: {} +
-  mod_proxy65: +
-    access: local +
-    max_connections:+
-  mod_pubsub: +
-    access_createnode: pubsub_createnode +
-    plugins: +
-      - flat +
-      - pep +
-    force_node_config: +
-      ## Avoid buggy clients to make their bookmarks public +
-      storage:bookmarks: +
-        access_model: whitelist +
-  mod_push: {} +
-  mod_push_keepalive: {} +
-  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 +
-  mod_roster: +
-    versioning: true +
-  mod_s2s_dialback: {} +
-  mod_shared_roster: {} +
-  mod_stream_mgmt: +
-    resend_on_timeout: if_offline +
-  mod_stun_disco: {} +
-  mod_vcard: {} +
-  mod_vcard_xupdate: {} +
-  mod_version: +
-    show_os: false+
  
-### Local Variables: +Und lösche die komplette Zeile.
-### mode: yaml +
-### End: +
-### vim: set filetype=yaml tabstop=8 +
-</code>+
  
 Die Änderungen mit [STRG] + [s] speichern und den Editor mit [STRG] + [x] und [STRG] + [c] verlassen. Die Änderungen mit [STRG] + [s] speichern und den Editor mit [STRG] + [x] und [STRG] + [c] verlassen.
Zeile 382: Zeile 175:
 ExecReload=/home/ejabberd/opt/ejd/bin/ejabberdctl reload_config</code> ExecReload=/home/ejabberd/opt/ejd/bin/ejabberdctl reload_config</code>
  
-Die Änderungen mit [STRG] + [x] und [STRG] + [s] speichern und den Editor mit mit [STRG] + [x] und [STRG] + [c] verlassen. +Die Änderungen mit [STRG] + [x] und [STRG] + [s] speichern und den Editor mit [STRG] + [x] und [STRG] + [c] verlassen. 
  
 Zum Schluss den Dienst aktivieren und starten: Zum Schluss den Dienst aktivieren und starten:
Zeile 393: Zeile 186:
  
 <code>$ su - ejabberd <code>$ su - ejabberd
-$ ./opt/ejabberd-22.10/bin/ejabberdctl register <benutzer> <beispiel.de> <passwort></code>+$ ./opt/ejd/bin/ejabberdctl register <benutzer> <beispiel.de> <passwort></code>
  
 Das wars, du kannst dich jetzt mit einem beliebigen XMPP Client am Server anmelden und direkt loschatten. Das wars, du kannst dich jetzt mit einem beliebigen XMPP Client am Server anmelden und direkt loschatten.
de/ejabberd_installation.1669365562.txt.gz · Zuletzt geändert: 25.11.2022, 09:39 von Christoph Stoltz