CentOS 5.x、6.xおよびEJabberd v2.x + Win2008AD

私は長い間それをやりたいと思っていましたが、最終的には完全に実装されることが判明しました。ActiveDirectory Win 2008のアカウントを持つEJabberdの束です。 名簿構造の形成と、 ADで作成されたユーザーアカウントのプロパティに基づく表示ユーザーエイリアスの形成。 なぜなら 大量の資料を読み直す前に、どこでも断片的で動作していません。





パッケージからejabberdをインストールするには、 EPELリポジトリに接続する必要があります:



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 install ejabberd



config /etc/ejabberd/ejabberd.cfgを編集するために開きます



リモート管理権限をadminに割り当てます。 セクションを見つけます:



%%

%%新しいアクセスコントロールリストを追加する前に、アクセスコントロールリストを削除します。

%%

%% override_acls





そして次の行を追加します。



{acl、admin、{user、 "admin"、 "server.int"}}。



SERVED HOSTNAMESセクションを見つけて、 の行でドメイン名を編集します。



{hosts、["server.int"]}。



ejabberdサービスを開始してみましょう。



サービスejabberdの開始



サービスが正常に開始された場合、サービスのすべての設定を管理できる最初のユーザーを追加する必要があります。次を実行します。



ejabberdctl register admin server.int 123456



次にブラウザに移動します。



server.int:5280 / admin /と入力し、ユーザーadmin@server.intとパスワード123456を入力します。 ejabberdサービスの管理パネルが表示されます。



自動実行するサービスを追加します。



chkconfig ejabberd on



最初の簡単な段階が完了し、 ejabberdは機能しますが、この構成のユーザーは手動で追加する必要があり、ローカルのejabberdデータベースに保存されます。 しかし、 EJabberdアカウントとWin2008ADアカウントをリンクすることが決定されたため、引き続き構成を行います。



config /etc/ejabberd/ejabberd.cfgを編集するために開きます



管理Webパネルに入るために作成した行を見つけます。



{acl、admin、{user、 "admin"、 "server.int"}}。



その後、新しい行を追加します。



{acl、admin、{user、 "userjabber"、 "server.int"}}。



将来管理Webパネルにアクセスするには、このuserjabberユーザー最初にADで作成する必要があります。



注意、 ADに接続した後、管理Webパネルへのアクセス権を持っていローカル管理ユーザーは電源を失い、 userjabberユーザーのみが管理パネルにログインできます。



次に、 ADへの接続を構成します。



行を見つけてフォームに追加します(内部認証を無効にします):



%% {auth_method、internal}。



行を見つけてフォームに持ってきますLDAPAD認証を接続します ):



{auth_method、ldap}。



ブロックを見つけます:



%%

LDAPを使用した%%認証

%%



ADサーバーに接続するための設定を追加します。



{ldap_servers、["192.168.151.2"]}。

{ldap_port、389}。



{ldap_uids、[{"sAMAccountName"、 "%u"}]}。

{ldap_filter、 "(objectCategory = person)"}。



{ldap_base、「DC =開発者、DC = com」}。

{ldap_rootdn、 "userjabber@developer.com"}。

{ldap_password、 "123456"}。





次に、モジュールを接続して名簿構造を形成し、 ADで作成されたユーザーアカウントのプロパティに基づいて表示されるユーザーエイリアスを形成する必要があります。 たとえば、 ADで ivanov.i、 petrov.pユーザーを作成しました。 ユーザープロパティの[ ホーム ]タブには、ユーザーivanov.iのエントリが姓:Ivanov名:Ivan 、および[ 部門:開発者]フィールドの[ 組織 ]タブにあります。 ユーザーpetrov.pには、 Department:Developersフィールドにもエントリがあります。



これで、jabberクライアントに美しさと秩序があるように、モジュールを接続します

mod_shared_roster_ldapおよびmod_vcard_ldap



行を見つけてフォームに持ってきます:



%% {mod_shared_roster、[]}、



名簿形成を追加します(接続クライアントによって表示されるグループごとのユーザーのリストの形成。グループメンバーシップは、 AD 2008で作成されたユーザーのプロパティ、[ 組織 ]タブ、[ 部門 ]フィールドから読み取られます)。



{mod_shared_roster_ldap、

[{ldap_groupattr、 "department"}、

{ldap_groupdesc、 "department"}、

{ldap_rfilter、 "(objectCategory = person)"}、

{ldap_memberattr、 "sAMAccountName"}、

{ldap_userdesc、 "cn"}

]

}、



行を見つけてフォームに持ってきます:



%% {mod_vcard、[]}、



ユーザーエイリアス( AD 2008の各ユーザーのVCardフィールド、つまりユーザープロパティに含まれるフィールドの読み取り。名前、姓など)の形成を追加します。



{mod_vcard_ldap、

[{ldap_vcard_map、

[{"NICKNAME"、 "%s"、["displayname"]}、

{「GIVEN」、「%s」、[「givenName」]}、

{「MIDDLE」、「%s」、[「頭文字」]}、

{「家族」、「%s」、[「sn」]}、

{「FN」、「%s」、[「displayName」]}、

{「EMAIL」、「%s」、[「メール」]}、

{「ORGNAME」、「%s」、[「会社」]}、

{「ORGUNIT」、「%s」、[「部門」]}、

{「CTRY」、「%s」、["c"]}、

{「LOCALITY」、「%s」、[「l」]}、

{「ストリート」、「%s」、[「streetAddress」]}、

{「地域」、「%s」、[「st」]}、

{「PCODE」、「%s」、[「postalCode」]}、

{「タイトル」、「%s」、[「タイトル」]}、

{「URL」、「%s」、["wWWHomePage"]}、

{「DESC」、「%s」、[「説明」]}、

{「TEL」、「%s」、["telephoneNumber"]}]}、

{ldap_search_fields、

[{"ユーザー"、 "%u"}、

{「名前」、「givenName」}、

{「家族名」、「sn」}、

{「メール」、「メール」}、

{「会社」、「会社」}、

{「部門」、「部門」}、

{「役割」、「タイトル」}、

{「説明」、「説明」}、

{「電話」、「telephoneNumber」}]}、

{ldap_search_reported、

[{"フルネーム"、 "FN"}、

{「ニックネーム」、「NICKNAME」}、

{「メール」、「メール」}]}

]

}、



サービスを再起動します。



サービスejabberdの再起動



エラーが発生しない場合は、jabberクライアントをサーバーに接続してみてください。



サービスに関するエラーおよびその他のすべてのレコードは、 / var / log / ejabberdディレクトリーのログで見つけることができます。



jabberクライアントで接続した後、 Developersフォルダーがあり、その中にIvan IvanovPetr Petrovの 2人のユーザーがいます。



私は100%作業設定をもたらします:



作業設定
%%%

%%% ejabberd構成ファイル

%%%

%%% '



%%%この構成ファイルで使用されるパラメーターについて詳しく説明します

ejabberdインストールおよび操作ガイドの%%%。

%%%疑問がある場合は、ガイドを参照してください。

ejabberdのコピーを%%%で、オンラインでも入手できます

%%% www.process-one.net/en/ejabberd/docs



%%%この構成ファイルには、Erlangの用語が含まれています。

%%%構文を理解したい場合の概念は次のとおりです。

%%%

%%%-行をコメントする文字は%です

%%%

%%%-各用語はドットで終わります。例:

%%% override_global。

%%%

%%%-タプルには固定の定義があり、その要素は

{}で囲まれ、コンマで区切られた%%%:

%%% {loglevel、4}。

%%%

%%%-リストには必要な数の要素を含めることができますが、

%%%であり、[]で囲まれています。例:

%%% [http_poll、web_admin、tls]

%%%

%%%-ejabberdのキーワードは小文字の単語です。

%%%文字列は「」で囲まれ、スペース、ドットなどを含めることができます

%%% {言語、「en」}。

%%% {ldap_rootdn、 "dc = example、dc = com"}。

%%%

%%%-この用語には、タプル、キーワード、リスト、および2つの文字列が含まれます。

%%% {hosts、["jabber.example.net"、 "im.example.com"]}。

%%%



%%%。 =========================

%%% '保存されたオプションを上書き



%%

%%データベースに保存されている古い値を上書きします。

%%



%%

%%グローバルオプションをオーバーライドします(クラスター内のすべてのejabberdノードで共有)。

%%

%% override_global。



%%

%%ローカルオプションをオーバーライドします(この特定のejabberdノードに固有)。

%%

%% override_local。



%%

%%新しいアクセスコントロールリストを追加する前に、アクセスコントロールリストを削除します。

%%

%% override_acls



{acl、admin、{user、 "userjabber"、 "server.int"}}。



%%%。 ==========

%%% 'デバッグ中



%%

%% loglevel:ejabberdによって生成されたログファイルの詳細。

%% 0:ejabberdログがまったくありません(推奨されません)

%% 1:クリティカル

%% 2:エラー

%% 3:警告

%% 4:情報

%% 5:デバッグ

%%

{loglevel、4}。



%%

%% watchdog_admins:開発者のみに有用:ejabberdプロセスの場合

%%は大量のメモリを消費し、これらのXMPPにライブ通知を送信します

%%アカウント。

%%

%% {watchdog_admins、["bob@example.com"]}。



%%%。 =================

%%% '提供されたホスト名



%%

%%ホスト:ejabberdが提供するドメイン。

%%以下のように、1つまたは複数を定義できます。

%% {hosts、["example.net"、 "example.com"、 "example.org"]}。

%%

{hosts、["server.int"]}。



%%

%% route_subdomains:サブドメインを他のXMPPサーバーに委任します。

%%たとえば、このejabberdがexample.orgにサービスを提供していて、

%。im.example.orgと呼ばれるXMPPサーバーとの通信を許可します。

%%

%% {route_subdomains、s2s}。



%%%。 ================

%%% 'リスニングポート



%%

%% listen:ejabberdがリッスンするポート、それぞれが処理されるサービス

%% byおよびそれを開始するオプション。

%%

{聞く、

[



{5222、ejabberd_c2s、[



%%

%% TLSがコンパイルされ、SSLをインストールした場合

%%証明書、へのフルパスを指定します

%%ファイルを作成し、この行のコメントを解除します。

%%

{certfile、 "/etc/ejabberd/ejabberd.pem"}、starttls、



{access、c2s}、

{shaper、c2s_shaper}、

{max_stanza_size、65536}

]}、



%%

%%ポート5223で古いSSL接続方法を有効にするには:

%%

%% {5223、ejabberd_c2s、[

%% {access、c2s}、

%% {shaper、c2s_shaper}、

%% {certfile、 "/etc/ejabberd/ejabberd.pem"}、tls、

%% {max_stanza_size、65536}

%%]}、



{5269、ejabberd_s2s_in、[

{shaper、s2s_shaper}、

{max_stanza_size、131072}

]}、



%%

%% ejabberd_service:外部コンポーネントとの対話(トランスポート、...)

%%

%% {8888、ejabberd_service、[

%% {access、all}、

%% {shaper_rule、fast}、

%% {ip、{127、0、0、1}}、

%% {hosts、["icq.example.org"、 "sms.example.org"]、

%% [{password、 "secret"}]

%%}

%%]}、



%%

%% ejabberd_stun:STUN Binding要求を処理します

%%

%% {{3478、udp}、ej​​abberd_stun、[]}、



{5280、ejabberd_http、[

%% {request_handlers、

%% [

%% {["pub"、 "archive"]、mod_http_fileserver}

%%]}、

キャプチャ、

http_bind

http_poll、

%%レジスタ、

web_admin

]}



]}。



%%

%% s2s_use_starttls:S2S接続のSTARTTLS +ダイヤルバックを有効にします。

%%許可される値は次のとおりです。falseオプションrequired required_trusted

%%証明書ファイルを指定する必要があります。

%%

%% {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、allow}。



%%

%%特定のサーバーとの通信を許可または拒否します。

%%

%% {{s2s_host、 "goodhost.org"}、allow}。

%% {{s2s_host、 "badhost.org"}、拒否}。



%%

%%発信S2Sオプション

%%

%%優先アドレスファミリ(最初に試す)および接続タイムアウト

ミリ秒単位の%%。

%%

%% {outgoing_s2s_options、[ipv4、ipv6]、10000}。



%%%。 ===============

%%% '認証



%%

%% auth_method:ユーザーの認証に使用される方法。

%%デフォルトの方法は内部です。

%%別の方法を使用する場合は、

%%はこの行をコメント化し、正しい行を有効にします。

%%

%% {auth_method、internal}。

%%

%%プレーンパスワードを保存するか、SCRAM用にハッシュします:

%% {auth_password_format、plain}。

%% {auth_password_format、scram}。

%%

%% ejabberdがFQDNを検出しない場合、FQDNを定義します。

%% {fqdn、 "server3.example.com"}。



%%

外部スクリプトを使用した%%認証

%%スクリプトがejabberdによって実行可能であることを確認してください。

%%

%% {auth_method、external}。

%% {extauth_program、 "/ path / to / authentication / script"}。



%%

ODBCを使用した%%認証

%%次のセクションでデータベースをセットアップすることを忘れないでください。

%%

%% {auth_method、odbc}。



%%

PAMを使用した%%認証

%%

%% {auth_method、pam}。

%% {pam_service、 "ejabberd"}。



%%

LDAPを使用した%%認証

%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% AD 2008に接続します。ユーザーのリスト。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

{auth_method、ldap}。



{ldap_servers、["192.168.151.2"]}。

{ldap_port、389}。



{ldap_uids、[{"sAMAccountName"、 "%u"}]}。

{ldap_filter、 "(objectCategory = person)"}。



{ldap_base、「DC =開発者、DC = com」}。

{ldap_rootdn、 "userjabber@developer.com"}。

{ldap_password、 "123456"}。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%

LDAPサーバーの%%リスト:

%% {ldap_servers、["localhost"]}。

%%

LDAPサーバーへの接続の%%暗号化:

%% {ldap_encrypt、none}。

%% {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"}。

%%

ユーザーIDを保持する%% LDAP属性:

%% {ldap_uids、[{"mail"、 "%u@mail.example.org"}]}。

%%

%% LDAPフィルター:

%% {ldap_filter、 "(objectClass = shadowAccount)"}。



%%

%%匿名ログインのサポート:

%% auth_method:匿名

%% anonymous_protocol:sasl_anon | login_anon | 両方

%% allow_multiple_connections:true |

%%

%% {host_config、 "public.example.org"、[{auth_method、anonymous}、

%% {allow_multiple_connections、false}、

%% {anonymous_protocol、sasl_anon}]}。

%%

%%匿名認証と内部認証の両方を使用するには:

%%

%% {host_config、 "public.example.org"、[{auth_method、[internal、anonymous]}]}。



%%%。 ===============

%%% 'データベース設定



%% ejabberdはデフォルトで内部Mnesiaデータベースを使用しますが、

%%なので、このセクションは必ずしも必要ではありません。

%%このセクションでは、ケースの構成例を示します。

他のデータベースバックエンドを使用したい%%。

%%データベース作成の詳細については、ejabberdガイドを参照してください。



%%

%% MySQLサーバー:

%%

%% {odbc_server、{mysql、 "server"、 "database"、 "username"、 "password"}}。

%%

%%ポートを指定する場合:

%% {odbc_server、{mysql、 "server"、1234、 "database"、 "username"、 "password"}}。



%%

%% PostgreSQLサーバー:

%%

%% {odbc_server、{pgsql、 "server"、 "database"、 "username"、 "password"}}。

%%

%%ポートを指定する場合:

%% {odbc_server、{pgsql、 "server"、1234、 "database"、 "username"、 "password"}}。

%%

%% 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、未定義}。



%%%。 ================

%%% 'トラフィックシェイパー



%%

%%「通常の」シェーパーは、トラフィック速度を1000 B / sに制限します

%%

{shaper、normal、{maxrate、1000}}。



%%

%%「高速」シェーパーは、トラフィック速度を50,000 B / sに制限します

%%

{shaper、fast、{maxrate、50000}}。



%%

%%このオプションは、キュー内の要素の最大数を指定します

FSMの%%。 詳細については、ドキュメントを参照してください。

%%

{max_fsm_queue、1000}。



%%%。 ======================

%%% 'アクセス制御リスト



%%

%%「admin」ACLは、管理特権をXMPPアカウントに付与します。

%%必要な数のアカウントをここに配置できます。

%%

%% {acl、admin、{user、 "aleksey"、 "localhost"}}。

%% {acl、admin、{user、 "ermine"、 "example.org"}}。



%%

%%ブロッ​​クされたユーザー

%%

%% {acl、blocked、{user、 "baduser"、 "example.org"}}。

%% {acl、blocked、{user、 "test"}}。



%%

%%ローカルユーザー:この行を変更しないでください。

%%

{acl、local、{user_regexp、 ""}}。



%%

%% ACLのその他の例

%%

%% {acl、jabberorg、{server、 "jabber.org"}}。

%% {acl、aleksey、{user、 "aleksey"、 "jabber.ru"}}。

%% {acl、test、{user_regexp、 "^ test"}}。

%% {acl、test、{user_glob、 "test *"}}。



%%

%%仮想ホストで特定のACLを定義します。

%%

%% {host_config、 "localhost"、

%% [

%% {acl、admin、{user、 "bob-local"、 "localhost"}}

%%]

%%}。



%%%。 =============

%%% 'アクセス規則



%% 1人のユーザーに許可される同時セッションの最大数:

{access、max_user_sessions、[{10、all}]}。



%%ユーザーが持つことができるオフラインメッセージの最大数:

{access、max_user_offline_messages、[{5000、admin}、{100、all}]}。



%%このルールは、ローカルユーザーのみにアクセスを許可します。

{アクセス、ローカル、[{許可、ローカル}]}。



%%ブロッ​​クされていないユーザーのみがc2s接続を使用できます。

{アクセス、c2s、[{拒否、ブロック}]、

{許可、すべて}]}。



%% C2S接続の場合、管理者を除くすべてのユーザーは「通常の」シェーパーを使用します

{access、c2s_shaper、[{none、admin}、

{通常、すべて}]}。



%%すべてのS2S接続は「高速」シェーパーを使用します

{access、s2s_shaper、[{fast、all}]}。



%%アナウンスメッセージを送信できるのは管理者のみです:

{アクセス、アナウンス、[{許可、管理者}]}。



%%管理者のみが構成インターフェイスを使用できます。

{アクセス、構成、[{許可、管理者}]}。



このサーバーの%%管理者は、MUCサービスの管理者でもあります。

{access、muc_admin、[{allow、admin}]}。



%%ルームを作成できるのは、ローカルejabberdサーバーのアカウントのみです:

{access、muc_create、[{allow、local}]}。



%%すべてのユーザーがMUCサービスを使用できます。

{access、muc、[{allow、all}]}。



%%ローカルejabberdサーバー上のアカウントのみがPubsubノードを作成できます:

{access、pubsub_createnode、[{allow、local}]}。



%%帯域内登録では、任意のユーザー名を登録できます。

%%帯域内登録を無効にするには、「allow」を「deny」に置き換えます。

{アクセス、登録、[{許可、すべて}]}。



%%デフォルトでは、同じIPからのアカウント登録の頻度

%%は10分ごとに1アカウントに制限されています。 無効にするには、次を指定します:infinity

%% {registration_timeout、600}。



%%

%%仮想ホストで特定のアクセスルールを定義します。

%%

%% {host_config、 "localhost"、

%% [

%% {access、c2s、[{allow、admin}、{deny、all}]}、

%% {アクセス、登録、[{拒否、すべて}]}

%%]

%%}。



%%%。 =================

%%% 'デフォルト言語



%%

%% language:サーバーメッセージに使用されるデフォルト言語。

%%

{言語、「ru」}。



%%

%%仮想ホストに別のデフォルト言語を設定します。

%%

%% {host_config、 "localhost"、

%% [{language、 "ru"}]

%%}。



%%%。 =======

%%% 'CAPTCHA



%%

%%イメージを生成するスクリプトへのフルパス。

%%

%% {captcha_cmd、 "/usr/lib64/ejabberd/priv/bin/captcha.sh"}。



%%

%% ejabberdがCAPTCHAリクエストをリッスンするURLおよびポートのホスト。

%%

%% {captcha_host、 "example.org:5280"}。



%%

%% JID / IPの1分あたりのCAPTCHA呼び出しを制限して、DoSを回避します。

%%

%% {captcha_limit、5}。



%%%。 =======

%%% 'モジュール



%%

すべてのejabberd仮想ホストで有効なモジュール%%。

%%

{モジュール、

[

{mod_adhoc、[]}、

{mod_announce、[{access、announce}]}、%は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"}、

%% {accesslog、 "/var/log/ejabberd/access.log"}

%%]}、

{mod_last、[]}、

{mod_muc、[

%% {host、 "conference。@ HOST @"}、

{access、muc}、

{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、[{count、5}、{interval、60}]}、

{mod_privacy、[]}、

{mod_private、[]}、

%% {mod_proxy65、[]}、

{mod_pubsub、[

{access_createnode、pubsub_createnode}、

{ignore_pep_from_offline、true}、%はリソース消費を削減しますが、XEPに準拠しません

%% {ignore_pep_from_offline、false}、%XEP準拠、ただしリソース消費が増加

{last_item_cache、false}、

{plugins、["flat"、 "hometree"、 "pep"]}%pepにはmod_capsが必要です

]}、

{mod_register、[

%%

%% CAPTCHAで帯域内アカウント登録を保護します。

%%

%% {captcha_protected、true}、



%%

%%パスワードの最小情報エントロピーを設定します。

%%

%% {password_strength、32}、



%%

%%登録が成功すると、ユーザーは

%%この件名と本文を含むメッセージ。

%%

{welcome_message、{"Welcome!"、

「こんにちは。このXMPPサーバーへようこそ。」}}、



%%

%%ユーザーが登録したら、通知を送信します

これらのXMPPアカウントは%%です。

%%

%% {registration_watchers、["admin1@example.org"]}、



%%

%%サーバーマシンのクライアントのみがアカウントを登録できます

%%

{ip_access、[{allow、 "127.0.0.0/8"}、

{deny、 "0.0.0.0/0"}]}、



%%

%%ローカルc2sまたはリモートs2sユーザーはアカウントを登録できません

%%

%% {access_from、deny}、



{アクセス、登録}

]}、

%% {mod_register_web、[

%%

%%ユーザーが登録したら、通知を送信します

これらのXMPPアカウントは%%です。

%%

%% {registration_watchers、["admin1@example.org"]}

%%]}、

{mod_roster、[]}、

%% {mod_service_log、[]}、

%% {mod_shared_roster、[]}、



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!

AD 2008の%%名簿。

%%接続者によって表示されるグループによるユーザーのリストの形成

%%の顧客。 グループメンバーシップは、作成されたユーザーのプロパティから読み取られます。

AD 2008、組織タブ、部門フィールドの%%。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!

{mod_shared_roster_ldap、

[{ldap_groupattr、 "department"}、

{ldap_groupdesc、 "department"}、

{ldap_rfilter、 "(objectCategory = person)"}、

{ldap_memberattr、 "sAMAccountName"}、

{ldap_userdesc、 "cn"}

]

}、

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!



{mod_stats、[]}、

{mod_time、[]}、

%% {mod_vcard、[]}、



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!

%% AD 2008からの各ユーザーのVCardフィールドの読み取り、つまり フィールド

%%はユーザープロパティに含まれています。 姓、名など。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!



{mod_vcard_ldap、

[{ldap_vcard_map、

[{"NICKNAME"、 "%s"、["displayname"]}、

{「GIVEN」、「%s」、[「givenName」]}、

{「MIDDLE」、「%s」、[「頭文字」]}、

{「家族」、「%s」、[「sn」]}、

{「FN」、「%s」、[「displayName」]}、

{「EMAIL」、「%s」、[「メール」]}、

{「ORGNAME」、「%s」、[「会社」]}、

{「ORGUNIT」、「%s」、[「部門」]}、

{「CTRY」、「%s」、["c"]}、

{「LOCALITY」、「%s」、[「l」]}、

{「ストリート」、「%s」、[「streetAddress」]}、

{「地域」、「%s」、[「st」]}、

{「PCODE」、「%s」、[「postalCode」]}、

{「タイトル」、「%s」、[「タイトル」]}、

{「URL」、「%s」、["wWWHomePage"]}、

{「DESC」、「%s」、[「説明」]}、

{「TEL」、「%s」、["telephoneNumber"]}]}、

{ldap_search_fields、

[{"ユーザー"、 "%u"}、

{「名前」、「givenName」}、

{「家族名」、「sn」}、

{「メール」、「メール」}、

{「会社」、「会社」}、

{「部門」、「部門」}、

{「役割」、「タイトル」}、

{「説明」、「説明」}、

{「電話」、「telephoneNumber」}]}、

{ldap_search_reported、

[{"フルネーム"、 "FN"}、

{「ニックネーム」、「NICKNAME」}、

{「メール」、「メール」}]}

]

}、

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



{mod_version、[]}

]}。



%%

%%特定の仮想ホストでカスタムオプションを使用してモジュールを有効にします

%%

%% {host_config、 "localhost"、

%% [{{追加、モジュール}、

%% [

%% {mod_echo、[{host、 "mirror.localhost"}]}

%%]

%%}

%%]}。



%%%。

%%% '



%%% $ ID $



%%%ローカル変数:

%%%モード:アーラン

%%%終了:

%%% vim:set filetype = erlang tabstop = 8 foldmarker = %%% '、%%%。 foldmethod = marker:





また、構成内の構文(コンマ、括弧、ピリオド)を遵守することを忘れないでください。 サービスが開始されない場合、多くの構文エラーがログに記録されます。



All Articles