CentOS 5.x, 6.x और EJabberd v2.x + Win2008AD

मैं लंबे समय से इसे करना चाहता था और अंत में यह पूरी तरह से लागू हो गया, सक्रिय निर्देशिका विन 2008 के खातों के साथ EJabberd का एक गुच्छा। रोस्टर संरचना के गठन और AD में बनाए गए उपयोगकर्ता खातों के गुणों के आधार पर प्रदर्शित उपयोगकर्ता उपनामों के गठन के साथ। क्योंकि सामग्री का एक गुच्छा फिर से पढ़ने से पहले, हर जगह टुकड़ों में और काम नहीं करना।


पैकेज से इज़बर्ड स्थापित करने के लिए, आपको ईपीएल रिपॉजिटरी से कनेक्ट करना होगा, निष्पादित करें:

CentOS 5 के लिए :

rpm -Uvh dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

CentOS 6 के लिए:

rpm -Uvh dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm

या

rpm -Uvh dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

अब ejabberd पैकेज स्थापित करें:

yum इंस्टॉल करें

हम एक config /etc/ejabberd/ejabberd.cfg संपादन के लिए खोलते हैं

प्रशासन के लिए दूरस्थ प्रशासन अधिकार निर्दिष्ट करें। अनुभाग खोजें:

%%
%% नए लोगों को जोड़ने से पहले एक्सेस कंट्रोल लिस्ट निकालें।
%%
%% ओवरराइड_कल्स


और लाइन जोड़ें:

{acl, admin, {user, "admin", "server.int"}}।

हम सेवित HOSTNAMES अनुभाग पाते हैं और लाइन में डोमेन नाम संपादित करते हैं:

{मेजबानों, ["server.int"]}।

आइए आइज़बर्ड सेवा शुरू करने का प्रयास करें:

सेवा ejabberd प्रारंभ

यदि सेवा सामान्य रूप से शुरू हुई है, तो आपको पहले उपयोगकर्ता को जोड़ना होगा जो सेवा की सभी सेटिंग्स को प्रबंधित कर सकता है, प्रदर्शन:

ejabberdctl रजिस्टर व्यवस्थापक server.int 123456

अब ब्राउज़र पर जाएं:

हम server.int टाइप करते हैं : 5280 / admin / और user admin@server.int और पासवर्ड 123456 दर्ज करेंइज़बर्ड सेवा के लिए व्यवस्थापक पैनल दिखाई देगा।

ऑटोरन में सेवा जोड़ें:

पर chkconfig ejabberd

पहला और सरल चरण पूरा हो गया था, ejabberd काम करता है, लेकिन इस कॉन्फ़िगरेशन में उपयोगकर्ताओं को मैन्युअल रूप से जोड़ने की आवश्यकता होती है और उन्हें स्थानीय ejabberd डेटाबेस में संग्रहीत किया जाएगा। लेकिन चूंकि EJabberd और Win2008AD खातों को लिंक करने का निर्णय लिया गया था, इसलिए हम कॉन्फ़िगर करना जारी रखते हैं।

हम एक config /etc/ejabberd/ejabberd.cfg संपादन के लिए खोलते हैं

हमें वह लाइन मिल जाती है जिसे हमने व्यवस्थापक वेब पैनल में प्रवेश करने के लिए बनाया था

{acl, admin, {user, "admin", "server.int"}}।

इसके बाद हम एक नई लाइन जोड़ते हैं:

{acl, admin, {user, "userjabber", "server.int"}}।

भविष्य में व्यवस्थापक वेब पैनल तक पहुंचने के लिए यह उपयोगकर्ता- योग्य उपयोगकर्ता पहले AD में बनाया जाना चाहिए

ध्यान दें, AD से कनेक्ट होने के बाद , स्थानीय व्यवस्थापक उपयोगकर्ता, जिनके पास व्यवस्थापक वेब पैनल तक पहुंच थी, शक्ति खो देंगे और केवल उपयोगकर्ता- योग्य उपयोगकर्ता ही व्यवस्थापक पैनल में लॉग इन कर पाएंगे।

अगला, AD से कनेक्शन को कॉन्फ़िगर करें।

हम लाइन ढूंढते हैं और इसे फ़ॉर्म में लाते हैं (आंतरिक प्राधिकरण अक्षम करें):

%% {od_method, आंतरिक}।

हम लाइन ढूंढते हैं और इसे फ़ॉर्म में लाते हैं (हम LDAP , AD प्राधिकरण से कनेक्ट करते हैं):

{od_method, ldap}।

ब्लॉक का पता लगाएं:

%%
LDAP का उपयोग करके %% प्रमाणीकरण
%%

AD सर्वर से कनेक्ट करने के लिए सेटिंग्स जोड़ें:

{ldap_servers, ["192.168.151.2"]}।
{ldap_port, 389}।

{ldap_uids, [{"sAMAccountName", "% u"}]}।
{ldap_filter, "(वस्तु श्रेणी = व्यक्ति)"}।

{ldap_base, "DC = डेवलपर, DC = com"}।
{ldap_rootdn, "userjabber@developer.com"}।
{ldap_password, "123456"}।


अब आपको रोस्टर संरचना बनाने के लिए मॉड्यूल को कनेक्ट करने और AD में बनाए गए उपयोगकर्ता खातों के गुणों के आधार पर प्रदर्शित उपयोगकर्ता उपनाम बनाने की आवश्यकता है। उदाहरण के लिए, हमने ईवान में ivanov.i, petrov.p उपयोगकर्ता बनाए। उपयोगकर्ता गुणों में, होम टैब पर, उपयोगकर्ता ivanov.i के पास प्रविष्टियां हैं अंतिम नाम: इवानोव , पहला नाम: इवान , और विभाग में संगठन टैब पर : डेवलपर्स फ़ील्ड। उपयोगकर्ता petrov.p विभाग में भी एक प्रविष्टि है : डेवलपर्स फ़ील्ड।

ताकि अब जैबर क्लाइंट में सुंदरता और व्यवस्था हो, हम मॉड्यूल कनेक्ट करते हैं
mod_sared_roster_ldap और mod_vcard_ldap

हम लाइन ढूंढते हैं और उसे फ़ॉर्म में लाते हैं:

%% {mod_sared_roster, []},

रोस्टर गठन जोड़ें (जुड़े हुए ग्राहकों द्वारा प्रदर्शित समूहों द्वारा उपयोगकर्ताओं की एक सूची का गठन। समूह सदस्यता AD 2008 , संगठन टैब, विभाग के क्षेत्र में बनाए गए उपयोगकर्ता के गुणों से पढ़ी जाती है।):

{Mod_shared_roster_ldap,
[{ldap_groupattr, "विभाग"},
{ldap_groupdesc, "विभाग"},
{ldap_rfilter, "(वस्तु श्रेणी = व्यक्ति)"},
{ldap_memberattr, "sAMAccountName"},
{ldap_userdesc, "cn"}
]
}

हम लाइन ढूंढते हैं और उसे फ़ॉर्म में लाते हैं:

%% {mod_vcard, []},

हम उपयोगकर्ता उपनामों के गठन को जोड़ते हैं (प्रत्येक उपयोगकर्ता के VCard फ़ील्ड को AD 2008 से पढ़ना, यानी ऐसे फ़ील्ड जो उपयोगकर्ता गुणों में हैं। नाम, उपनाम, आदि):

{Mod_vcard_ldap,
[{Ldap_vcard_map,
[{"NICKNAME", "% s", ["displayname"]},
{"GIVEN", "% s", ["दिया गया"]},
{"MIDDLE", "% s", ["आद्याक्षर"]},
{"FAMILY", "% s", ["sn"]},
{"FN", "% s", ["displayName"]},
{"EMAIL", "% s", ["मेल"]},
{"ORGNAME", "% s", ["कंपनी"]},
{"ORGUNIT", "% s", ["विभाग"]},
{"CTRY", "% s", ["c"]},
{"LOCALITY", "% s", ["l"]},
{"STREET", "% s", ["StreetAddress"]},
{"क्षेत्र", "% s", ["st"]},
{"PCODE", "% s", ["पोस्टलकोड"]},
{"TITLE", "% s", ["शीर्षक"]},
{"URL", "% s", ["wWWHomePage"]},
{"DESC", "% s", ["विवरण"]},
{"TEL", "% s", ["टेलीफोननंबर"]}]},
{Ldap_search_fields,
[{"उपयोगकर्ता", "% u"},
{"नाम", "दिया गया"},
{"परिवार का नाम", "एसएन"},
{{ईमेल "," मेल "},
{"कंपनी", "कंपनी"},
{"विभाग", "विभाग"},
{"भूमिका", "शीर्षक"},
{"विवरण", "विवरण"},
{"फोन", "टेलीफोननंबर"}]},
{Ldap_search_reported,
[{"पूरा नाम", "एफएन"},
{"उपनाम", "NICKNAME"},
{{ईमेल "," ईमेल "}]}
]
}

सेवा को पुनरारंभ करें:

सेवा ejabberd पुनरारंभ

यदि यह त्रुटियों के बिना चला गया, तो जैबर क्लाइंट को हमारे सर्वर से जोड़ने का प्रयास करें।

त्रुटियों और सेवा के बारे में अन्य सभी रिकॉर्ड लॉग / var / log / ejabberd निर्देशिका में लॉग में पाए जा सकते हैं।

जब्बार क्लाइंट में कनेक्ट होने के बाद, हमारे पास डेवलपर्स फ़ोल्डर है और इसमें दो उपयोगकर्ता हैं, इवान इवानोव और पेट्र पेट्रोव

मैं 100% वर्किंग कॉन्फिगर लाता हूँ:

काम कर रहे विन्यास
%%%
%% ईज़बर्ड कॉन्फ़िगरेशन फ़ाइल
%%%
% %% '

%%% इस विन्यास फाइल में प्रयुक्त मापदंडों को और अधिक विस्तार से समझाया गया है
Ejabberd स्थापना और ऑपरेशन गाइड में %%%।
%%% संदेह के मामले में कृपया मार्गदर्शिका से परामर्श करें, यह शामिल है
% ejabberd की प्रति को %%, और ऑनलाइन भी उपलब्ध है
%%% www.process-one.net/en/ejabberd/docs

%%% इस कॉन्फ़िगरेशन फ़ाइल में Erlang शब्द हैं।
%%% यदि आप वाक्य रचना को समझना चाहते हैं, तो यहां अवधारणाएं हैं:
%%%
%%% - एक पंक्ति टिप्पणी करने के लिए चरित्र% है
%%%
%%% - प्रत्येक शब्द एक बिंदु में समाप्त होता है, उदाहरण के लिए:
%%% ओवरराइड_ग्लोइड।
%%%
%%% - एक टपल की एक निश्चित परिभाषा है, इसके तत्व हैं
%%% {} में संलग्न है, और अल्पविराम से अलग हो गया है:
%%% {loglevel, 4}।
%%%
%%% - एक सूची में जितने चाहें उतने तत्व हो सकते हैं,
%%% और उदाहरण में संलग्न है:
%%% [http_poll, web_admin, tls]
%%%
%%% - ejabberd का एक कीवर्ड लोअरकेस में एक शब्द है।
%%% स्ट्रिंग्स "" में संलग्न हैं और इसमें रिक्त स्थान, डॉट्स, हो सकते हैं ...
%%% {भाषा, "en"}।
%%% {ldap_rootdn, "dc = example, dc = com"}।
%%%
%%% - इस शब्द में एक टपल, एक कीवर्ड, एक सूची और दो तार शामिल हैं:
%%% {मेजबान, ["jabber.example.net", "im.example.com"]}।
%%%

%%%। =======================
%% 'ओवरराइड स्टोरेड विकल्प

%%
%% डेटाबेस में संग्रहीत पुराने मानों को ओवरराइड करें।
%%

%%
%% ओवरराइड ग्लोबल ऑप्शन्स (एक क्लस्टर में सभी ईज़बर्ड नोड्स द्वारा साझा)।
%%
%% ओवरराइड_ग्लोबल।

%%
%% ओवरराइड स्थानीय विकल्प (इस विशेष ejabberd नोड के लिए विशिष्ट)।
%%
%% ओवरराइड_लोक।

%%
%% नए लोगों को जोड़ने से पहले एक्सेस कंट्रोल लिस्ट निकालें।
%%
%% ओवरराइड_कल्स

{acl, admin, {user, "userjabber", "server.int"}}।

%%%। =========
%% 'DEBUGGING

%%
%% लॉजेल: ejabberd द्वारा उत्पन्न लॉग फ़ाइलों की क्रिया।
%% 0: कोई ईज़बर्ड लॉग बिल्कुल नहीं (अनुशंसित नहीं)
%% 1: महत्वपूर्ण
%% 2: त्रुटि
%% 3: चेतावनी
%% 4: जानकारी
%% 5: डिबग
%%
{लॉजवेल, 4}।

%%
%% watchdog_admins: केवल डेवलपर्स के लिए उपयोगी है: यदि एक ejabberd प्रक्रिया
%% बहुत मेमोरी खा जाता है, इन XMPP को लाइव नोटिफिकेशन भेजें
%% खाते।
%%
%% {watchdog_admins, ["bob@example.com"]}।

%%%। ================
%%% 'सेवित सदन

%%
%% मेजबान: ejabberd द्वारा सेवा किए गए डोमेन।
%% आप एक या कई को परिभाषित कर सकते हैं, उदाहरण के लिए:
%% {मेजबान, ["example.net", "example.com", "example.org"]}।
%%
{मेजबानों, ["server.int"]}।

%%
%% path_subdomains: अन्य XMPP सर्वरों को उप डोमेन भेजें।
%% उदाहरण के लिए, यदि यह ejabberd example.org पर काम करता है और आप चाहते हैं
XMPP सर्वर के साथ संचार की अनुमति देने के लिए %% जिसे im.example.org कहा जाता है।
%%
%% {मार्ग_सूचना, s2s}।

%%%। ===============
%% 'लिस्टेनिंग पोर्स

%%
%% सुनें: पोर्ट्स एज्बर्ड पर सुनेंगे, प्रत्येक किस सेवा को संभाला जाता है
%% और इसके साथ इसे शुरू करने के लिए कौन से विकल्प हैं।
%%
{सुनो,
[

{5222, ejabberd_c2s, [

%%
%% यदि TLS संकलित है और आपने एक SSL स्थापित किया है
%% प्रमाणपत्र, के लिए पूर्ण पथ निर्दिष्ट करें
%% फाइल और इस लाइन को अनलंक करें:
%%
{सर्टिफाइल, "/etc/ejabberd/ejabberd.pem"}, starttls,

{पहुंच, c2s},
{शेपर, c2s_shaper},
{max_stanza_size, 65536}
]}

%%
%% पोर्ट 5223 पर पुराने एसएसएल कनेक्शन विधि को सक्षम करने के लिए:
%%
%% {5223, ejabberd_c2s, [
%% {पहुंच, c2s},
%% {शेपर, c2s_shaper},
%% {सर्टिफ़ाइल, "/etc/ejabberd/ejabberd.pem"}, tls
%% {max_stanza_size, 65536}
%%]},

{5269, ejabberd_s2s_in, [
{शेपर, s2s_shaper},
{max_stanza_size, 131072}
]}

%%
%% ejabberd_service: बाहरी घटकों के साथ सहभागिता (परिवहन, ...)
%%
%% {8888, ejabberd_service, [
%% {पहुंच, सभी},
%% {shaper_rule, fast},
%% {IP, {127, 0, 0, 1}},
%% {होस्ट, ["icq.example.org", "sms.example.org"],
%% [{पासवर्ड, "गुप्त"}]
%%}
%%]},

%%
%% ejabberd_stun: हैंडल स्टंड बाइंडिंग अनुरोध
%%
%% {{3478, udp}, ejabberd_stun, []},

{5280, ejabberd_http, [
%% {request_handlers,
%% [
%% {["पब", "संग्रह"], mod_http_fileserver}
%%]},
कैप्चा,
http_bind,
http_poll,
%% रजिस्टर,
web_admin
]}

]}।

%%
%% s2s_use_starttls: S2S कनेक्शन के लिए STARTTLS + डायलबैक सक्षम करें।
%% अनुमत मान हैं: गलत वैकल्पिक आवश्यक अपेक्षित_ट्रेड
%% आपको एक प्रमाणपत्र फ़ाइल निर्दिष्ट करनी होगी।
%%
%% {s2s_use_starttls, वैकल्पिक}।

%%
%% s2s_certfile: एक प्रमाणपत्र फ़ाइल निर्दिष्ट करें।
%%
%% {s2s_certfile, "/etc/ejabberd/ejabberd.pem"}।

%%
%% domain_certfile: प्रत्येक दिए गए होस्टनाम के लिए एक अलग प्रमाणपत्र निर्दिष्ट करें।
%%
%% {domain_certfile, "example.org", "/path/to/example_org.pem"}।
%% {domain_certfile, "example.com", "/path/to/example_com.pem"}।

%%
%% S2S श्वेतसूची या ब्लैकलिस्ट
%%
अनिर्धारित होस्ट के लिए %% डिफ़ॉल्ट s2s नीति।
%%
%% {s2s_default_policy, अनुमति दें}।

%%
%% विशिष्ट सर्वर के साथ संचार की अनुमति दें या अस्वीकार करें।
%%
%% {{s2s_host, "goodhost.org"}, allow}।
%% {{s2s_host, "badhost.org"}, इनकार}।

%%
%% आउटगोइंग S2S विकल्प
%%
%% पसंदीदा पते वाले परिवार (जो पहले प्रयास करें) और टाइमआउट कनेक्ट करें
%% मिलीसेकंड में।
%%
%% {outgoing_s2s_options, [ipv4, ipv6], 10000}।

%%%। ==============
%% 'AUTHENTICATION

%%
%% Andor_method: उपयोगकर्ताओं को प्रमाणित करने के लिए प्रयोग की जाने वाली विधि।
%% डिफ़ॉल्ट विधि आंतरिक है।
%% यदि आप एक अलग विधि का उपयोग करना चाहते हैं,
%% इस लाइन पर टिप्पणी करें और सही लोगों को सक्षम करें।
%%
%% {od_method, आंतरिक}।
%%
%% SCRAM के लिए सादे पासवर्ड या हैश स्टोर करें:
%% {Andor_password_format, plain}।
%% {od_password_format, scram}।
%%
%% FQDN को परिभाषित करें यदि ejabberd इसका पता नहीं लगाता है:
%% {fqdn, "server3.example.com"}।

%%
%% बाहरी स्क्रिप्ट का उपयोग करके प्रमाणीकरण
%% सुनिश्चित करें कि स्क्रिप्ट इज़बर्ड द्वारा निष्पादित हो।
%%
%% {od_method, बाहरी}।
%% {extauth_program, "/ path / to / Authentication / script"}।

%%
ODBC का उपयोग करके %% प्रमाणीकरण
%% अगले भाग में एक डेटाबेस सेटअप करने के लिए याद रखें।
%%
%% {od_method, odbc}।

%%
PAM का उपयोग करके %% प्रमाणीकरण
%%
%% {od_method, pam}।
%% {pam_service, "ejabberd"}।

%%
LDAP का उपयोग करके %% प्रमाणीकरण
%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% AD 2008 से कनेक्ट करें। उपयोगकर्ताओं की सूची के लिए।
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{od_method, ldap}।

{ldap_servers, ["192.168.151.2"]}।
{ldap_port, 389}।

{ldap_uids, [{"sAMAccountName", "% u"}]}।
{ldap_filter, "(वस्तु श्रेणी = व्यक्ति)"}।

{ldap_base, "DC = डेवलपर, DC = com"}।
{ldap_rootdn, "userjabber@developer.com"}।
{ldap_password, "123456"}।
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%
LDAP सर्वरों की %% सूची:
%% {ldap_servers, ["localhost"]}।
%%
LDAP सर्वर से कनेक्शन की %% एन्क्रिप्शन:
%% {ldap_encrypt, कोई नहीं}।
%% {ldap_encrypt, tls}।
%%
%% पोर्ट LDAP सर्वर पर कनेक्ट करने के लिए:
%% {ldap_port, 389}।
%% {ldap_port, 636}।
%%
%% LDAP प्रबंधक:
%% {ldap_rootdn, "dc = example, dc = com"}।
%%
LDAP प्रबंधक का %% पासवर्ड:
%% {ldap_password, "******"}।
%%
% LDAP निर्देशिका का खोज आधार:
%% {ldap_base, "dc = example, dc = com"}।
%%
उपयोगकर्ता आईडी रखने वाले %% LDAP विशेषता:
%% {ldap_uids, [{"mail", "%u@mail.example.org"}]}।
%%
%% LDAP फ़िल्टर:
%% {ldap_filter, "(objectClass = shadowAccount)"}।

%%
%% बेनामी लॉगिन समर्थन:
%% INTERN_method: अनाम
%% अनाम_प्रकृति चॉकलेट: sasl_anon | login_anon | दोनों
%% allow_multiple_connections: सच | झूठा
%%
%% {host_config, "public.example.org", [{Ord_method, अनाम},
%% {allow_multiple_connections, false},
%% {अनाम_प्रणाली, sasl_anon}]}।
%%
अनाम और आंतरिक प्रमाणीकरण दोनों का उपयोग करने के लिए %%:
%%
%% {host_config, "public.example.org", [{Ord_method, [आंतरिक, अनाम]}}}।

%%%। ==============
%% 'DATABASE SETUP

%% ejabberd डिफ़ॉल्ट रूप से आंतरिक Mnesia डेटाबेस का उपयोग करता है,
%% इसलिए आपको इस खंड की आवश्यकता नहीं है।
%% यह खंड मामले में विन्यास उदाहरण प्रदान करता है
%% आप अन्य डेटाबेस बैकएंड का उपयोग करना चाहते हैं।
%% कृपया डेटाबेस निर्माण के विवरण के लिए ejabberd गाइड से परामर्श करें।

%%
%% MySQL सर्वर:
%%
%% {odbc_server, {mysql, "server", "database", "username", "password"}}।
%%
%% यदि आप पोर्ट निर्दिष्ट करना चाहते हैं:
%% {odbc_server, {mysql, "server", 1234, "डेटाबेस", "उपयोगकर्ता नाम", "पासवर्ड"}}।

%%
%% PostgreSQL सर्वर:
%%
%% {odbc_server, {pgsql, "server", "database", "username", "password"}}।
%%
%% यदि आप पोर्ट निर्दिष्ट करना चाहते हैं:
%% {odbc_server, {pgsql, "server", 1234, "डेटाबेस", "उपयोगकर्ता नाम", "पासवर्ड"}}।
%%
%% यदि आप PostgreSQL का उपयोग करते हैं, तो एक बड़ा डेटाबेस है, और इसकी आवश्यकता है
"उपयोगकर्ताओं से" गिनती (*) चुनें
%%
%% {pgsql_users_number_estimate, true}।

%%
%% ODBC संगत या MSSQL सर्वर:
%%
%% {odbc_server, "DSN = ejabberd; UID = ejabberd; PWD = ejabberd"}।

%%
प्रत्येक वर्चुअल होस्ट के लिए डेटाबेस में खोलने के लिए %% कनेक्शन की संख्या
%%
%% {odbc_pool_size, 10}।

%%
कनेक्शन को रखने के लिए डमी SQL अनुरोध करने के लिए %% अंतराल
%% डेटाबेस जीवित। सेकंड में निर्दिष्ट करें: उदाहरण के लिए 28800 का मतलब 8 घंटे है
%%
%% {odbc_keepalive_interval, अपरिभाषित}।

%%%। ===============
%% 'TRAFFIC SHAPERS

%%
%% "सामान्य" शेपर 1000 B / s की ट्रैफिक गति को सीमित करता है
%%
{शेपर, सामान्य, {अधिकतम, 1000}}।

%%
%% "तेज" शेपर यातायात की गति को 50,000 B / s तक सीमित करता है
%%
{शेपर, तेज, {अधिकतम, 50000}}।

%%
%% यह विकल्प कतार में अधिकतम तत्वों को निर्दिष्ट करता है
एफएसएम के %%। विवरण के लिए प्रलेखन देखें।
%%
{max_fsm_queue, 1000}।

%%%। ====================
%% 'तक पहुंच नियंत्रण रेखाएं

%%
%% 'व्यवस्थापक' XLP खातों को ACL प्रशासनिक विशेषाधिकार प्रदान करता है।
%% आप जितने चाहे उतने खाते यहाँ रख सकते हैं।
%%
%% {acl, admin, {user, "aleksey", "localhost"}}।
%% {acl, admin, {user, "ermine", "example.org"}}।

%%
%% अवरुद्ध उपयोगकर्ता
%%
%% {acl, block, {user, "baduser", "example.org"}}।
%% {acl, अवरुद्ध, {उपयोगकर्ता, "परीक्षण"}}।

%%
%% स्थानीय उपयोगकर्ता: इस पंक्ति को संशोधित न करें।
%%
{acl, स्थानीय, {user_regexp, ""}}।

%%
%% एसीएल के और उदाहरण
%%
%% {acl, jabberorg, {सर्वर, "jabber.org"}}।
%% {acl, aleksey, {उपयोगकर्ता, "aleksey", "jabber.ru"}}।
%% {acl, परीक्षण, {user_regexp, "^ test"}}।
%% {acl, परीक्षण, {user_glob, "परीक्षण *"}}।

%%
%% वर्चुअल होस्ट में विशिष्ट ACL को परिभाषित करें।
%%
%% {host_config, "localhost",
%% [
%% {acl, admin, {उपयोगकर्ता, "बॉब-स्थानीय", "लोकलहोस्ट"}}
%%]
%%}।

%%%। ============
%% 'तक पहुंच नियम

%% एकल उपयोगकर्ता के लिए एक साथ अनुमत सत्रों की अधिकतम संख्या:
{पहुंच, max_user_session, [{10, all}]}।

%% अधिकतम ऑफ़लाइन संदेश जो उपयोगकर्ताओं के पास हो सकते हैं:
{पहुंच, max_user_offline_messages, [{5000, व्यवस्थापक}, {100, सभी}]}।

%% यह नियम केवल स्थानीय उपयोगकर्ताओं के लिए उपयोग की अनुमति देता है:
{पहुंच, स्थानीय, [{अनुमति, स्थानीय}]}।

%% केवल गैर-अवरुद्ध उपयोगकर्ता c2s कनेक्शन का उपयोग कर सकते हैं:
{पहुंच, c2s, [{इनकार, अवरुद्ध},
{अनुमति दें, सभी}]}।

%% C2S कनेक्शन के लिए, सभी उपयोगकर्ताओं को छोड़कर, "सामान्य" शेपर का उपयोग करते हैं
{पहुंच, c2s_shaper, [{कोई नहीं, व्यवस्थापक},
{सामान्य, सभी}]}।

%% सभी S2S कनेक्शन "तेज" शेपर का उपयोग करते हैं
{पहुंच, s2s_shaper, [{तेज़, सभी}]}।

%% केवल व्यवस्थापक ही घोषणा संदेश भेज सकते हैं:
{पहुंच, घोषणा, [{अनुमति, व्यवस्थापक}]}।

%% केवल कॉन्फिगरेशन विन्यास इंटरफ़ेस का उपयोग कर सकते हैं:
{पहुंच, कॉन्फ़िगर, [{अनुमति, व्यवस्थापक}]}।

इस सर्वर के %% Admins भी MUC सेवा के प्रवेश हैं:
{पहुंच, muc_admin, [{allow, admin}]}।

%% स्थानीय ejabberd सर्वर के केवल खाते ही कमरे बना सकते हैं:
{पहुँच, muc_create, [{अनुमति, स्थानीय}]}।

%% सभी उपयोगकर्ताओं को MUC सेवा का उपयोग करने की अनुमति है:
{पहुंच, बलगम, [{अनुमति, सब}]}।

%% केवल लोकल इज़बर्ड सर्वर पर अकाउंट Pubsub नोड्स बना सकते हैं:
{पहुंच, pubsub_createnode, [{अनुमति, स्थानीय}]}।

%% इन-बैंड पंजीकरण किसी भी संभव उपयोगकर्ता नाम के पंजीकरण की अनुमति देता है।
%% इन-बैंड पंजीकरण अक्षम करने के लिए, 'अनुमति' को 'अस्वीकृत' से बदल दें।
{पहुंच, रजिस्टर, [{अनुमति, सब}]}।

%% एक ही आईपी से खाता पंजीकरण की आवृत्ति डिफ़ॉल्ट रूप से
%% प्रत्येक 10 मिनट में 1 खाते तक सीमित है। अक्षम करने के लिए, निर्दिष्ट करें: अनंत
%% {पंजीकरण_टाइमआउट, 600}।

%%
%% वर्चुअल होस्ट में विशिष्ट एक्सेस नियमों को परिभाषित करें।
%%
%% {host_config, "localhost",
%% [
%% {एक्सेस, c2s, [{allow, admin}, {deny, all}]},
%% {पहुंच, रजिस्टर, [{इनकार, सब}]}
%%]
%%}।

%%%। ================
%%% 'DEFAULT LANGUAGE

%%
%% भाषा: सर्वर संदेशों के लिए प्रयुक्त डिफ़ॉल्ट भाषा।
%%
{भाषा, "आरयू"}।

%%
%% वर्चुअल होस्ट में एक अलग डिफ़ॉल्ट भाषा सेट करें।
%%
%% {host_config, "localhost",
%% [{भाषा, "आरयू"}]
%%}।

%%%। =======
%% 'कैप्चा

%%
%% एक स्क्रिप्ट को पूर्ण पथ जो छवि उत्पन्न करता है।
%%
%% {captcha_cmd, "/usr/lib64/ejabberd/priv/bin/captcha.sh"}।

%%
URL और पोर्ट के लिए %% होस्ट जहां ezberd CAPTCHA अनुरोधों के लिए सुनता है।
%%
%% {captcha_host, "example.org:5280"}।

%%
DoS से बचने के लिए JID / IP के लिए %% लिमिट कॅप्चा प्रति मिनट।
%%
%% {कैप्चा_लिमिट, 5}।

%%%। =======
%% 'MODULES

%%
सभी ईज़बर्ड वर्चुअल होस्ट में %% मॉड्यूल सक्षम हैं।
%%
{मॉड्यूल,
[
{mod_adhoc, []},
{mod_announce, [{access, घोषणा}]},% mod_adhoc की सिफारिश करता है
{mod_blocking, []},% के लिए mod_privacy की आवश्यकता होती है
{mod_caps, []},
{mod_configure, []},% को mod_adhoc की आवश्यकता होती है
{mod_disco, []},
%% {mod_echo, [{host, "echo.localhost"}]},
{mod_irc, []},
{mod_http_bind, []},
%% {mod_http_fileserver, [
%% {docroot, "/ var / www"},
%% {अभिगमन, "/var/log/ejabberd/access.log"}
%%]},
{mod_last, []},
{mod_muc, [
%% {मेजबान, "सम्मेलन। @ HOST @"},
{पहुँच, बलगम},
{access_create, muc_create},
{access_persistent, muc_create},
{access_admin, muc_admin}
]}
%% {mod_muc_log, []},
{mod_offline, [{access_max_user_messages, max_user_offline_messages}]},
{mod_ping, []},
%% {mod_pres_counter, [{गिनती, 5}, {अंतराल, 60}]},
{mod_privacy, []},
{mod_private, []},
%% {mod_proxy65, []},
{mod_pubsub, [
{access_createnode, pubsub_createnode},
{ign_pep_from_offline, true},% संसाधन में कमी को कम करता है, लेकिन XEP अधूरा है
%% {ign_pep_from_offline, false},% XEP अनुरूप, लेकिन संसाधन में कमी को बढ़ाता है
{last_item_cache, मिथ्या},
{plugins, ["फ्लैट", "hometree", "pep"]}% pep को mod_caps की आवश्यकता होती है
]}
{mod_register, [
%%
%% कैप्चा के साथ इन-बैंड खाता पंजीकरण सुरक्षित रखें।
%%
%% {captcha_protected, true},

%%
%% पासवर्ड के लिए न्यूनतम सूचनात्मक प्रवेश सेट करें।
%%
%% {password_strength, 32},

%%
%% सफल पंजीकरण के बाद, उपयोगकर्ता प्राप्त करता है
% इस विषय और शरीर के साथ एक संदेश।
%%
{welcome_message, {"स्वागत है!"
"इस XMPP सर्वर पर हाय। \ NW Welcome"}},

%%
%% जब कोई उपयोगकर्ता पंजीकरण करता है, तो उसे एक सूचना भेजें
इन XMPP खातों को %%।
%%
%% {Registration_watchers, ["admin1@example.org"]},

%%
%% सर्वर मशीन में केवल ग्राहक ही खाते पंजीकृत कर सकते हैं
%%
{ip_access, [{allow, "127.0.0.0/8"},
{इंकार, "0.0.0.0/0"}]},

%%
%% स्थानीय c2s या दूरस्थ s2s उपयोगकर्ता खाता पंजीकृत नहीं कर सकते हैं
%%
%% {access_from, इनकार},

{पहुँच, रजिस्टर}
]}
%% {mod_register_web, [
%%
%% जब कोई उपयोगकर्ता पंजीकरण करता है, तो उसे एक सूचना भेजें
इन XMPP खातों को %%।
%%
%% {Registration_watchers, ["admin1@example.org"]}
%%]},
{mod_roster, []},
%% {mod_service_log, []},
%% {mod_sared_roster, []},

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2008 ई। से रोस्टर।
%% जुड़े द्वारा प्रदर्शित समूहों द्वारा उपयोगकर्ताओं की एक सूची का गठन
%% ग्राहक। उपयोगकर्ता की बनाई गई संपत्तियों से समूह सदस्यता पढ़ी जाती है
% 2008 ई। में, संगठन टैब, विभाग फ़ील्ड।
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{Mod_shared_roster_ldap,
[{ldap_groupattr, "विभाग"},
{ldap_groupdesc, "विभाग"},
{ldap_rfilter, "(वस्तु श्रेणी = व्यक्ति)"},
{ldap_memberattr, "sAMAccountName"},
{ldap_userdesc, "cn"}
]
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

{mod_stats, []},
{mod_time, []},
%% {mod_vcard, []},

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% प्रत्येक उपयोगकर्ता का VCard फ़ील्ड AD 2008 से पढ़ना, अर्थात्। खेतों जो
%% उपयोगकर्ता गुणों में निहित है। उपनाम, पहला नाम, आदि।
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

{Mod_vcard_ldap,
[{Ldap_vcard_map,
[{"NICKNAME", "% s", ["displayname"]},
{"GIVEN", "% s", ["दिया गया"]},
{"MIDDLE", "% s", ["आद्याक्षर"]},
{"FAMILY", "% s", ["sn"]},
{"FN", "% s", ["displayName"]},
{"EMAIL", "% s", ["मेल"]},
{"ORGNAME", "% s", ["कंपनी"]},
{"ORGUNIT", "% s", ["विभाग"]},
{"CTRY", "% s", ["c"]},
{"LOCALITY", "% s", ["l"]},
{"STREET", "% s", ["StreetAddress"]},
{"क्षेत्र", "% s", ["st"]},
{"PCODE", "% s", ["पोस्टलकोड"]},
{"TITLE", "% s", ["शीर्षक"]},
{"URL", "% s", ["wWWHomePage"]},
{"DESC", "% s", ["विवरण"]},
{"TEL", "% s", ["टेलीफोननंबर"]}]},
{Ldap_search_fields,
[{"उपयोगकर्ता", "% u"},
{"नाम", "दिया गया"},
{"परिवार का नाम", "एसएन"},
{{ईमेल "," मेल "},
{"कंपनी", "कंपनी"},
{"विभाग", "विभाग"},
{"भूमिका", "शीर्षक"},
{"विवरण", "विवरण"},
{"फोन", "टेलीफोननंबर"}]},
{Ldap_search_reported,
[{"पूरा नाम", "एफएन"},
{"उपनाम", "NICKNAME"},
{{ईमेल "," ईमेल "}]}
]
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

{mod_version, []}
]}।

%%
%% विशिष्ट वर्चुअल होस्ट में कस्टम विकल्पों के साथ मॉड्यूल सक्षम करें
%%
%% {host_config, "localhost",
%% [{{जोड़ें, मॉड्यूल},
%% [
%% {mod_echo, [{host, "mirror.localhost"}]}
%%]
%%}
%%]}।

%%%।
% %% '

% त% त $ इद $

% %% स्थानीय चर:
%%% मोड: erlang
%% अंत:
%%% vim: set filetype = erlang tabstop = 8 foldmarker = %%% ', %%%। तहमेथोड = मार्कर:


और विन्यास (अल्पविराम, कोष्ठक, अवधियों) में वाक्य रचना का निरीक्षण करना न भूलें। यदि सेवा शुरू नहीं होती है, तो कई सिंटैक्स त्रुटियां लॉग में देखी जा सकती हैं।

Source: https://habr.com/ru/post/In194582/


All Articles