Ejabberd2, blog-ul meu

Omul a descoperit accidental de CUCM ei spun că Ogogo chatik etc., după cum este necesar și în cazul în care nu aveți acest lucru, atunci nu aveți, și PBX. Pfff. Alegerea a fost între Openfire și ejabberd2. În primul rând mâncăcios, dar frumos, al doilea în Erlang (nu mâncăcios), configurările pentru a scrie un fișier într-un text, iar dacă ai citit titlul articolului vă va da seama că am ales) + am vrut să fac sprijin ejabberd și cravată tot acest lucru de Asterisk.






1. Instalare
2. Setarea inițială
3. Configurarea
3.a Ascultă
3.b ACL
3.c Drepturi de acces
3.d Shaper
3.e Cocoșelul
3.f STUN
3.g Macros
3.h Comunicarea cu baza de date
4. Plug-in-uri
!Din moment ce jabberul a fost descoperit pentru prima dată în viața mea, tacturi, jamburi, etc. sunt prezente într-un număr foarte mare, care a observat că am cerut să scriu.

1. Instalare
1. Punem din porturi

2. Generați un certificat)

3. Regulă Inetrc

4. Acum trebuie să creați o bază de date și să completați fișierul din distfiles și zapilivayem în baza de date creată.
Nu uitați să conectați odbc în configurația jabber și includeți modulele corespunzătoare (după cum veți vedea în textul de mai jos).

2. Setarea inițială
1. Pentru a începe, trebuie să creați un cont pentru administrator, pentru a intra în panoul de administrare web:

2. Regula ejabberd.cfg

Opțiunile pentru cluster, nodurile locale și listele de control al accesului vor fi suprascrise.
Acum ia în considerare opțiunile:
hosts definește lista domeniilor deservite.
sintaxa:
.
exemplu:

host_config definește setările individuale pentru fiecare gazdă virtuală.
sintaxa:

exemple:

Modulele cazului sunt mai complicate,
, OptionValue> pentru a adăuga un anumit modul la o anumită gazdă.
exemplu:

3.c Drepturi de acces
Înregistrările restricționează accesul la diverse servicii.
sintaxa:
, ...]>.
Când JID este verificat pentru accesul la Accessname, serverul verifică secvențial pentru a vedea dacă acest JID se potrivește cu ACL-urile specificate în a doua intrare din înregistrare. Dacă se potrivește, primul element din prima înregistrare de potrivire este returnat, altfel se refuză returnarea.
Regulile globale sunt prioritare față de cele locale (pentru gazda Virt)
exemplu:

AccessName specificat este predefinit:
toate întoarce întotdeauna "permite".
nimeni nu întoarce mereu "nega".
Limitarea sesiunilor deschise folosind ACL
max_user_sessions definește numărul maxim de conexiuni deschise per utilizator. implicit este infinitul.
sintaxa:
, ...]>.
Limitați numărul de sesiuni la 5 pentru fiecare utilizator, pentru toți utilizatorii și 10 pentru administratori:
, ]>.

max_s2s_connections
Conexiuni multiple la un server XMPP la distanță cu ACL, în mod prestabilit 1. De asemenea, este disponibil și parametrul max_s2s_connections_per_node.
sintaxa:
, ...]>.
exemplu:
Până la 3 conexiuni la fiecare server de la distanță:
]>.

De asemenea, aveți nevoie de o intrare DNS SRV, astfel încât clienții să poată găsi cu ușurință serverul STUN pentru domeniul dvs. XMPP.
Exemplu de DNS SRV:

Conectați fișiere de configurare suplimentare:
include_config_file
sintaxa:
.
.
Subopțiunea permisă:

Interzice utilizarea acestei subopțiuni într-un fișier suplimentar. implicit nimic.

Permite ca această subopțiune să fie utilizată într-un fișier suplimentar. implicit toate.
exemplu:

3.g Macros:
. neapărat în litere mari și în citate simple, iar valoarea poate fi orice expresie valabilă pentru Erlang.
Două moduri de a utiliza macrocomenzile, în loc să setați doar "MACRO", dacă macroul nu a fost declarat anterior, atunci programul va cădea. sau
Dacă macroul nu a fost definit, va fi folosit Defaultvalue.
exemplu:

3.h Conexiune la baza de date (MySQL)
Adăugăm aici această linie:
>.
În mod implicit, 10 conexiuni la baza de date sunt deschise, o puteți modifica
.
Puteți configura cereri falsificate la serverul SQL pentru a menține conexiunea pe linia de plutire
.
Dacă conexiunea a dispărut, așteptați 30 de secunde și reconectați-o
.
De exemplu, pentru autentificarea prin DB MySQL, trebuie să specificați
.

Exemplul 2 (toate intrările sunt separate prin virgule, cu excepția ultimului!)

Module disponibile:
mod_adhoc
mod_announce necesită mod_adhoc
mod_announce_odbc necesită mod_adhoc
mod_blocking necesită mod_privacy
mod_blocking_odbc necesită mod_privacy_odbc
mod_caps
mod_configure necesită mod_adhoc
mod_disco
mod_echo
mod_http_bind
mod_http_fileserver
mod_irc IRC transport
mod_irc_odbc
mod_last






mod_last_odbc
mod_muc
mod_muc_odbc
mod_muc_log necesită mod_muc sau mod_muc_odbc
mod_offline
mod_offline_odbc
mod_ping
mod_pres_counter
mod_privacy
mod_privacy_odbc
mod_private
mod_private_odbc
mod_proxy65
mod_pubsub necesită mod_caps
mod_pubsub_odbc necesită mod_caps
mod_register
mod_register_web
mod_roster
mod_roster_odbc
mod_service_log
mod_shared_roster necesită mod_roster sau mod_roster_odbc
mod_shared_roster_odbc necesită mod_roster sau mod_roster_odbc
mod_shared_roster_ldap mod_roster sau mod_roster_odbc
mod_sic
mod_stats
mod_time
mod_vcard
mod_vcard_ldap
mod_vcard_odbc
mod_vcard_xupdate necesită mod_vcard sau mod_vcard_odbc
mod_vcard_xupdate_odbc necesită mod_vcard sau mod_vcard_odbc
mod_version

gazdă specifică ID-ul Jabber al serviciului furnizat de modulul ejabberd.
sintaxa:

Dacă utilizați "@ HOST @", se va introduce numele gazdei virtuale.
exemplu:

Dacă mai multe gazde virtuale și aceleași module sunt ridicate, atunci trebuie să utilizați:

Modulul este voros, pe mii de utilizatori este mai bine să nu îl porniți!
mod_disco
Cu acest modul, clienții pot găsi ce servicii sunt disponibile pe server.
opțiuni:

Specifică procesarea cererilor de Descoperire de servicii.

Am setat lista de domenii suplimentare pentru Descoperirea Serviciilor.
, ...]>
Informații suplimentare despre server (XEP-0157). În Modul Service cuvânt "toate" - informațiile se aplică tuturor serviciilor sau listei de module, altfel numai pentru un anumit modul. Câmpurile Câmp și Valoare pot fi populate în mod arbitrar și nu numai cu informațiile de contact.
Pentru a menține linkurile către directorul unui utilizator:

Pentru a menține legături cu transportul pe alte domenii

Legături către mai multe servere prietenoase:

mod_echo
Trimite în mod sincer toate mesajele trimise expeditorului (necesare atunci când se depanează)
opțiuni:

Definește ID-ul Jabber al serviciului. Dacă nu este specificat Jabber ID, numele gazdei virtuale va fi prefixat cu 'echo.'. Cuvântul de serviciu "@ HOST @" este înlocuit cu numele real al gazdei virtuale.

mod_http_bind
suport pentru XMPP prin Bosh (HTTP Binding) nu este proiectat pentru browser, clientul trebuie să se ocupe

opțiuni:

Timpul maxim în secunde. valoarea implicită este 30

Nu uitați să adăugați portul:


Numai membrii camerei pot intra.

Numai utilizatorii cu drept de vot pot trimite mesaje publice.

Parola camerei

Solicitați o parolă la intrarea în cameră

Lăsați camera activă chiar dacă ultimul membru a plecat.

Camera este publică și este afișată în lista de chat.

Lista de participanți este în general disponibilă, chiar și fără a intra în cameră (a se vedea cine în cameră fără a intra chiar în ea)

Numele omului clar al camerei.
exemple:
Toată lumea are voie să folosească chatul. Toată lumea poate crea camere, dar numai [email protected] poate administra orice cameră. El este, de asemenea, un admin.Kogda la nivel mondial [email protected] trimite mesajul „krevest“ pe conference.example.org, acesta va fi afișat în toate camerele activi. Istoria este dezactivată.

Exemplul 3: Opțiunea Anti-abuz (abuz, reclamații) este activată. Utilizatorul nu poate trimite mai mult de un mesaj în 0.4 secunde și starea utilizatorului nu poate fi schimbată mai des decât la fiecare 4 secunde. Numele camerei și numele camerei sunt limitate la 20 de caractere, iar descrierea camerei are o lungime de 300 de caractere. ACL-urile nu sunt definite, dar pot fi setate anumite restricții ale utilizatorilor:

Exemplul 4 arată modul de utilizare a opțiunii default_room_option:

mod_offline
Stocarea mesajelor offline. Ejabberdctl are comanda de a șterge mesajele expirate.
opțiuni:

Stabilește cota de mesaje offline. Când sunt depășite, mesajele noi sunt ignorate, iar expeditorul primește un mesaj de eroare. Implicit este max_user_offline_messages. Puteți defini o regulă de acces, cum ar fi max_user_sessions.
Exemplu: pentru cota poweruser 5K, pentru adminii 2K, pentru restul 100.

mod_ping
Suport pentru mesajele XMPP Ping și menținerea în viață
opțiuni:
Opțiuni de configurare:

Trimiteți ping către clienți care nu sunt activi în timpul ping_interval. Util pentru menținerea unei conexiuni client sau verificare a accesibilității, dezactivată implicit.

Cât de des să trimiteți ping-uri către clienți conectați Dacă clientul nu trimite sau recepționează rânduri în acest interval de timp, atunci clientul trimite un ping. Valoarea implicită este de 60 de secunde.

Ce trebuie să faceți dacă clientul nu a răspuns la ping timp de 32 de secunde, implicit nimic.
exemplu:
Include ping atunci când inactivitatea este de 4 minute, iar pentru clienții care nu au răspuns la ping timp de 32 de secunde - cuiul sesiunii.

mod_pres_counter
Detectarea spamului.
opțiuni:

Numărul de linii pentru (abonare, dezabonare, abonament, nesubscris) este permis pentru o anumită direcție (intrare sau ieșire) pentru o perioadă de timp. 2 utilizatori sunt abonați unul la altul, generează de obicei 4 stanzuri, Implicit 5.

Intervalul de timp în secunde. Setarea prestabilită este 60.
Exemplu: include un modul și permite trimiterea sau primirea a până la 5 stanzas într-un mesaj de stare într-un interval de 60 de secunde:


Formator pentru transfer. Nu există nici o valoare implicită.
Exemplul 1: Configurația cea mai simplă

Exemplul 2: Mai complex

Exemplu2: În mod implicit, sunt permise noduri plate, noduri plane, nodetree și pep:

Exemplu3 Configul anterior, dar folosind ODBC (aster refuzat să vorbească astfel):

Exemplul 3 stabilește un mesaj de întâmpinare și două conturi cărora le vom scrie la crearea utilizatorului:

mod_roster
Suport pentru listarea (lista de contacte)
opțiuni:

Procesarea managementului comportamentului IQ (jabber: iq: roster).

Conectează versiunile roster, setarea implicită este dezactivată.

Dacă această opțiune este activată, versiunea listă este stocată în bază de date (reduce încărcarea bazei de date și a serverului). Dacă este dezactivată, numărul versiunii se calculează în zbor. IMPORTANT: În cazul în care yuzaete mod_shared_roster, mod_shared_roster_odbc sau mod_shared_roster_ldap, este necesară pentru a dezactiva această opțiune.
Exemplu cu timp util:

mod_service_log
Suportă logarea pachetelor de utilizatori finali printr-un serviciu precum Bandersnatch. Toate pachetele de utilizatori sunt încapsulate într-o etichetă de traseu și trimise la un serviciu special.
opțiuni:

Lista serviciilor care vor primi pachete
Exemplu de logare a tuturor pachetelor personalizate la Bandersnatch la bandersnatch.example.com

Configurația generală sa dovedit a fi ceva de genul asta







Trimiteți-le prietenilor: