Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:die_konfigurationsdatei_von_ejabberd_erklaert

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:die_konfigurationsdatei_von_ejabberd_erklaert [25.11.2022, 12:15] – [Access Rules] Christoph Stoltzde:die_konfigurationsdatei_von_ejabberd_erklaert [04.12.2022, 14:36] (aktuell) – [Listen] Christoph Stoltz
Zeile 7: Zeile 7:
 ==== Einleitung ==== ==== Einleitung ====
  
-Ich werde hier die Konfigurationsdatei von ejabberde "ejabberd.yml" in kleine Abschnitte einteilen und deren Funktion erläutern.+Ich werde hier die Konfigurationsdatei von ejabberd "ejabberd.yml" in kleine Abschnitte einteilen und deren Funktion erläutern. Der Inhalt der Seite entspricht dem aller Howtos. Wenn du also alle Howtos angewendet hast, sieht deine Konfiguration genau so aus
  
-==== ejabber.yml ====+==== ejabberd.yml ====
  
 === Kopfzeilen === === Kopfzeilen ===
Zeile 30: Zeile 30:
 ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description. ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.
 ###</code> ###</code>
 +
 +=== Auth und MySQL ===
 +
 +<code>auth_password_format: scram     ### Art der Passwortspeicherung, scram: gehast und gesalzen
 +auth_scram_hash: sha512         ### Hash-Algorhytmus
 +
 +sql_type: mysql     
 +sql_server: "localhost" 
 +sql_database: "ejabberd"
 +sql_username: "ejabberd"
 +sql_password: "<geheim>"
 +auth_method: sql
 +default_db: sql                 ### Grundsätzlich alles in SQL, nicht mnesia Speicher
 +default_ram_db: sql</code>      
 +
  
 === Hosts, Loglevel und Zertifikate === === Hosts, Loglevel und Zertifikate ===
Zeile 100: Zeile 115:
     turn_ipv4_address: <0.0.0.0>   ### Welche IPv4 Adresse soll verwendet werden, muss definiert werden, Platzhalter für "alle IP Adressen" unzulässig     turn_ipv4_address: <0.0.0.0>   ### Welche IPv4 Adresse soll verwendet werden, muss definiert werden, Platzhalter für "alle IP Adressen" unzulässig
     turn_ipv6_address: <::>        ### Welche IPV6 Adresse soll verwendet werden, muss definiert werden, Platzhalter für "alle IP Adressen" unzulässig     turn_ipv6_address: <::>        ### Welche IPV6 Adresse soll verwendet werden, muss definiert werden, Platzhalter für "alle IP Adressen" unzulässig
-    auth_type: user                ### Wer darf den Server nutzen, alle registrierten User+    auth_type: user                ### Wer darf den Server nutzen, alle registrierten User:innen
     auth_realm: <beispiel.de>      ### Welche Domain wird verwendet     auth_realm: <beispiel.de>      ### Welche Domain wird verwendet
     module: ejabberd_stun     module: ejabberd_stun
Zeile 123: Zeile 138:
     auth_realm: <beispiel.de>     auth_realm: <beispiel.de>
     module: ejabberd_stun     module: ejabberd_stun
 +  -
 +    port: 5360                      ### Beispielport für die Einbindung externer Komponenten
 +    module: ejabberd_service        ### Einbindung eines Transports als service
 +    check_from: false
 +    hosts:
 +      "whatsapp.<beispiel.de>":     ### wie lautet der eindeutige Hostname des Transports. Für jedes Transport muss ein eigener Block mit eigenem Port existieren.
 +        password: "<geheim>"        ### Passwort zur internen Anmeldung
 +    access: all                     ### Alle haben Zugriff
   -   -
     port: 1883                     ### ejabberd bietet auch MQTT, wird vielleicht in einem späteren Howto vorkommen     port: 1883                     ### ejabberd bietet auch MQTT, wird vielleicht in einem späteren Howto vorkommen
Zeile 201: Zeile 224:
 === Captcha === === Captcha ===
  
-<code>captcha_cmd: "/home/ejabberd/captcha/captcha-ng.sh" +<code>captcha_cmd: "/home/ejabberd/captcha/captcha-ng.sh"   ### Pfad zum Captcha Scipt 
-captcha_url: "https://<beispiel.de>:5443" +captcha_url: "https://<beispiel.de>:5443"             ### Wo findet der XMPP Client das generierte Captcha 
-language: "de"</code>+language: "de"                                        ### Voreingestellte Sprache: "deutsch", gilt für alle Meldungen vom Server</code>
  
 === API Berechtigungen === === API Berechtigungen ===
  
-<code>api_permissions:+<code>###Definition der API Berechtigungen. Die Syntax ist dabei so, wie bei ACL und Access Rules 
 +api_permissions:
   "console commands":   "console commands":
     from:     from:
Zeile 213: Zeile 237:
     who: all     who: all
     what: "*"     what: "*"
-  "admin access": +  "admin access":                ### Berechtigung Admin Access 
-    who: +    who:                          
-      access:+      access:                    ### Direkter Zugriff
         allow:         allow:
-          - acl: loopback +          - acl: loopback        ### Erlaube ACL loopback 
-          - acl: admin+          - acl: admin           ### Erlaube ACL admin
       oauth:       oauth:
         scope: "ejabberd:admin"         scope: "ejabberd:admin"
Zeile 238: Zeile 262:
 === Shaper und Shaper Rules === === Shaper und Shaper Rules ===
  
-<code>shaper: +<code>### Bandbreiteneinstellungen 
-  normal: +shaper:                  ### Regel für Bandbreitenbeschränkungen 
-    rate: 3000 +  normal:                ### Standardbandbreite 
-    burst_size: 20000 +    rate: 3000           ### max 3000bit/s 
-  fast: 100000+    burst_size: 20000    ### kurzfristig sind 20000bit/s erlaubt 
 +  fast: 100000           ### Bandbreitenregel fast mit 100000 bit/s
  
-shaper_rules: +shaper_rules:                 
-  max_user_sessions: 10 +  max_user_sessions: 10        ### Jede:r Nutzer:in darf 10 gleichzeitige Sitzungen/Verbindungen haben 
-  max_user_offline_messages: +  max_user_offline_messages:   ### Anzahl an offline Messagess, die vom Server verwahrt werden, bis ihr wieder online seid 
-    5000: admin +    5000: admin                ### 5000 für alle die in der ACL admin sind 
-    100: all+    100: all                   ### 100 für alle anderen
   c2s_shaper:   c2s_shaper:
-    none: admin +    none: admin                ### Keine Bandbreitenbeschränkung für die ACL admin 
-    normal: all +    normal: all                ### alle anderen sind in der Shaper Gruppe normal 
-  s2s_shaper: fast</code>+  s2s_shaper: fast             ### Serververbindungen fallen unter die Shaper Gruppe fast</code>
      
 === Module === === Module ===
  
-modules:+<code>modules:
   mod_adhoc: {}   mod_adhoc: {}
   mod_admin_extra: {}   mod_admin_extra: {}
Zeile 263: Zeile 288:
   mod_avatar: {}   mod_avatar: {}
   mod_blocking: {}   mod_blocking: {}
 +  mod_block_strangers:
 +    access: strangers
 +    captcha: true
   mod_bosh: {}   mod_bosh: {}
   mod_caps: {}   mod_caps: {}
Zeile 268: Zeile 296:
   mod_client_state: {}   mod_client_state: {}
   mod_configure: {}   mod_configure: {}
-  mod_disco: {}+  mod_disco: 
 +    server_info: 
 +    - 
 +      modules: all 
 +      name: "abuse-addresses" 
 +      urls: ["mailto:<deine-email-adresse>"]
   mod_fail2ban: {}   mod_fail2ban: {}
   mod_http_api: {}   mod_http_api: {}
Zeile 277: Zeile 310:
       "Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"       "Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"
       "Access-Control-Allow-Headers": "Content-Type"       "Access-Control-Allow-Headers": "Content-Type"
 +  mod_http_upload_quota:
 +    max_days: 30
   mod_last: {}   mod_last: {}
   mod_mam:   mod_mam:
Zeile 301: Zeile 336:
     access_max_user_messages: max_user_offline_messages     access_max_user_messages: max_user_offline_messages
   mod_ping: {}   mod_ping: {}
 +  mod_pres_counter:
 +    count: 5
 +    interval: 60
   mod_privacy: {}   mod_privacy: {}
   mod_private: {}   mod_private: {}
 +  mod_privilege:
 +    roster:
 +      both:
 +       - allow:
 +          - server:
 +            - "whatsapp.<beispiel.de>"
 +    message:
 +      outgoing:
 +        - allow:
 +          - server:
 +            - "whatsapp.<beispiel.de>"
 +    presence:
 +      roster:
 +        - allow:
 +          - server:
 +            - "whatsapp.<beispiel.de>"
   mod_proxy65:   mod_proxy65:
     access: local     access: local
Zeile 318: Zeile 372:
   mod_push_keepalive: {}   mod_push_keepalive: {}
   mod_register:   mod_register:
-    ## Only accept registration requests from the "trusted" +    captcha_protectedtrue 
-    ## network (see access_rules section above). +    accessregister
-    ## Think twice before enabling registration from any +
-    ## address. See the Jabber SPAM Manifesto for details: +
-    ## https://github.com/ge0rg/jabber-spam-fighting-manifesto +
-    ip_accesstrusted_network+
   mod_roster:   mod_roster:
     versioning: true     versioning: true
Zeile 330: Zeile 380:
   mod_stream_mgmt:   mod_stream_mgmt:
     resend_on_timeout: if_offline     resend_on_timeout: if_offline
-  mod_stun_disco: {}+  mod_stun_disco: 
 +    credentials_lifetime: 12h 
 +    services: 
 +        - 
 +          host: <0.0.0.0> 
 +          port: 3478 
 +          type: stun 
 +          transport: udp 
 +          restricted: false 
 +        - 
 +          host: <0.0.0.0> 
 +          port: 3478 
 +          type: turn 
 +          transport: udp 
 +          restricted: true 
 +        - 
 +          host: <::> 
 +          port: 3478 
 +          type: stun 
 +          transport: udp 
 +          restricted: false 
 +        - 
 +          host: <::> 
 +          port: 3478 
 +          type: turn 
 +          transport: udp 
 +          restricted: true 
 + 
 +          - 
 +          host: <beispiel.de> 
 +          port: 5349 
 +          type: stuns 
 +          transport: tcp 
 +          restricted: false 
 +        - 
 +          host: <beispiel.de> 
 +          port: 5349 
 +          type: turns 
 +          transport: tcp 
 +          restricted: true
   mod_vcard: {}   mod_vcard: {}
   mod_vcard_xupdate: {}   mod_vcard_xupdate: {}
de/die_konfigurationsdatei_von_ejabberd_erklaert.1669374926.txt.gz · Zuletzt geändert: 25.11.2022, 12:15 von Christoph Stoltz