]> granicus.if.org Git - ejabberd/commitdiff
* src/guide.tex: Improved documentation for adding a vhost
authorMickaël Rémond <mickael.remond@process-one.net>
Thu, 6 Sep 2007 07:45:04 +0000 (07:45 +0000)
committerMickaël Rémond <mickael.remond@process-one.net>
Thu, 6 Sep 2007 07:45:04 +0000 (07:45 +0000)
specific option (EJAB-297).

SVN Revision: 922

doc/guide.html
doc/guide.tex

index 6b6a2f3870cce9f2bc6fd9fb97c074c9063df63c..06b0d23e3ba2782dcf39a87db31ad7615681d696 100644 (file)
@@ -492,6 +492,43 @@ while domain <TT>example.com</TT> is using the LDAP servers running on the domai
                               {ldap_rootdn, "dc=localdomain"},
                               {ldap_rootdn, "dc=example,dc=com"},
                               {ldap_password, ""}]}.
+</PRE></LI></UL><P>If you have several virtual hosts, 
+and you want to define options such as <TT>modules</TT>
+with values specific for some virtual host, 
+instead of defining each option with the syntax
+</P><PRE CLASS="verbatim">  {&lt;option-name&gt;, &lt;option-value&gt;}
+</PRE><P>you must use this syntax:
+</P><PRE CLASS="verbatim">  {{add, &lt;option-name&gt;}, &lt;option-value&gt;}
+</PRE><P>Example:
+</P><UL CLASS="itemize"><LI CLASS="li-itemize">
+       In this example three virtual hosts have some similar modules, but there are also
+       other different modules for some specific virtual hosts:
+<PRE CLASS="verbatim">% This ejabberd server has three vhosts:
+{hosts, ["one.example.org", "two.example.org", "three.example.org"]}.
+
+% Configuration of modules that are common to all vhosts
+{modules,
+ [
+  {mod_roster,     []},
+  {mod_configure,  []},
+  {mod_disco,      []},
+  {mod_private,    []},
+  {mod_time,       []},
+  {mod_last,       []},
+  {mod_version,    []}
+ ]}.
+
+% Add some modules to vhost one:
+{host_config, "one.example.org", [{{add, modules}, [
+  {mod_echo,       [{host, "echo-service.one.example.org"}]}
+  {mod_http_bind,  []},
+  {mod_logxml,     []}
+]}]}.
+
+% Add a module just to vhost two:
+{host_config, "two.example.org", [{{add, modules}, [
+  {mod_echo,       [{host, "mirror.two.example.org"}]}
+]}]}.
 </PRE></LI></UL><!--TOC subsection Listened Sockets-->
 <H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc18">3.1.3</A>&#XA0;&#XA0;Listened Sockets</H3><!--SEC END --><P>
 <A NAME="listened"></A>
@@ -719,16 +756,6 @@ authentication on <TT>example.net</TT>:
 {host_config, "example.net", [{auth_method, [ldap]}]}.
 </PRE></LI><LI CLASS="li-itemize">To use internal authentication on all virtual hosts:
 <PRE CLASS="verbatim">{auth_method, internal}.
-</PRE></LI></UL><P>If you want to define more <TT>registration_watchers</TT> or <TT>modules</TT> for a virtual host and add them to the defined for all the Jabber server, instead of defining the option name simply as <TT>modules</TT> use this: <TT>{add, modules}</TT>.</P><P>Examples:
-</P><UL CLASS="itemize"><LI CLASS="li-itemize">
-       If you defined two global watchers but on a certain virtual host only Ann should be watcher:
-<PRE CLASS="verbatim">{registration_watchers, ["tom@example.com", "moe@example.net"]}.
-
-{host_config, "example.org", [{registration_watchers, ["ann@example.net"]}]}.
-</PRE></LI><LI CLASS="li-itemize">If you prefer all three to be registration watchers on that virtual host:
-<PRE CLASS="verbatim">{registration_watchers, ["tom@example.com", "moe@example.net"]}.
-
-{host_config, "example.org", [{{add, registration_watchers}, ["ann@example.net"]}]}.
 </PRE></LI></UL><!--TOC subsubsection SASL Anonymous and Anonymous Login-->
 <H4 CLASS="subsubsection"><!--SEC ANCHOR -->SASL Anonymous and Anonymous Login</H4><!--SEC END --><P>
 <A NAME="saslanonymous"></A>
index d59db3b077c52ec526bbd7e9436b99430d2794c2..b50d8d19ec9e57b894d9d9f39694def85f61c85c 100644 (file)
@@ -497,6 +497,52 @@ Examples:
                               {ldap_password, ""}]}.
 \end{verbatim}
 \end{itemize}
+If you have several virtual hosts, 
+and you want to define options such as \term{modules}
+with values specific for some virtual host, 
+instead of defining each option with the syntax
+\begin{verbatim}
+  {<option-name>, <option-value>}
+\end{verbatim}
+you must use this syntax:
+\begin{verbatim}
+  {{add, <option-name>}, <option-value>}
+\end{verbatim}
+
+Example:
+\begin{itemize}
+       \item In this example three virtual hosts have some similar modules, but there are also
+       other different modules for some specific virtual hosts:
+\begin{verbatim}
+% This ejabberd server has three vhosts:
+{hosts, ["one.example.org", "two.example.org", "three.example.org"]}.
+
+% Configuration of modules that are common to all vhosts
+{modules,
+ [
+  {mod_roster,     []},
+  {mod_configure,  []},
+  {mod_disco,      []},
+  {mod_private,    []},
+  {mod_time,       []},
+  {mod_last,       []},
+  {mod_version,    []}
+ ]}.
+
+% Add some modules to vhost one:
+{host_config, "one.example.org", [{{add, modules}, [
+  {mod_echo,       [{host, "echo-service.one.example.org"}]}
+  {mod_http_bind,  []},
+  {mod_logxml,     []}
+]}]}.
+
+% Add a module just to vhost two:
+{host_config, "two.example.org", [{{add, modules}, [
+  {mod_echo,       [{host, "mirror.two.example.org"}]}
+]}]}.
+\end{verbatim}
+\end{itemize}
 
 \subsection{Listened Sockets}
 \label{listened}
@@ -764,25 +810,6 @@ Examples:
 \end{verbatim}
 \end{itemize}
 
-If you want to define more \term{registration\_watchers} or \term{modules} for a virtual host and add them to the defined for all the Jabber server, instead of defining the option name simply as \term{modules} use this: \term{\{add, modules\}}.
-
-Examples:
-\begin{itemize}
-       \item If you defined two global watchers but on a certain virtual host only Ann should be watcher:
-\begin{verbatim}
-{registration_watchers, ["tom@example.com", "moe@example.net"]}.
-
-{host_config, "example.org", [{registration_watchers, ["ann@example.net"]}]}.
-\end{verbatim}
-
-\item If you prefer all three to be registration watchers on that virtual host:
-\begin{verbatim}
-{registration_watchers, ["tom@example.com", "moe@example.net"]}.
-
-{host_config, "example.org", [{{add, registration_watchers}, ["ann@example.net"]}]}.
-\end{verbatim}
-\end{itemize}
-
 \subsubsection{SASL Anonymous and Anonymous Login}
 \label{saslanonymous}
 \ind{sasl anonymous}\ind{anonymous login}