mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-24 16:23:40 +01:00
*** empty log message ***
SVN Revision: 57
This commit is contained in:
parent
14f050331a
commit
dc906c80c4
107
doc/guide.html
107
doc/guide.html
@ -17,7 +17,9 @@
|
|||||||
|
|
||||||
<H3 ALIGN=center>Alexey Shchepin<BR><A HREF="mailto:alexey@sevcom.net"><TT>mailto:alexey@sevcom.net</TT></A><BR><A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A></H3>
|
<H3 ALIGN=center>Alexey Shchepin<BR><A HREF="mailto:alexey@sevcom.net"><TT>mailto:alexey@sevcom.net</TT></A><BR><A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A></H3>
|
||||||
|
|
||||||
<H3 ALIGN=center>January 29, 2003</H3> <DIV ALIGN=center><IMG SRC="logo.png">
|
<H3 ALIGN=center>February 3, 2003</H3> <DIV ALIGN=center>
|
||||||
|
<IMG SRC="logo.png">
|
||||||
|
|
||||||
|
|
||||||
</DIV><BR>
|
</DIV><BR>
|
||||||
<BR>
|
<BR>
|
||||||
@ -32,9 +34,28 @@
|
|||||||
<A NAME="sec:intro"></A><TT>ejabberd</TT> is a Free and Open Source distributed fault-tolerant Jabber
|
<A NAME="sec:intro"></A><TT>ejabberd</TT> is a Free and Open Source distributed fault-tolerant Jabber
|
||||||
server. It writen mostly in Erlang.<BR>
|
server. It writen mostly in Erlang.<BR>
|
||||||
<BR>
|
<BR>
|
||||||
TBD<BR>
|
Main features of ejabberd is:
|
||||||
<BR>
|
<UL>
|
||||||
<!--TOC section Installation-->
|
<LI>
|
||||||
|
Distribution. You can run ejaberd on cluster of machines and all them
|
||||||
|
will serve one Jabber domain.
|
||||||
|
|
||||||
|
<LI> Fault-tolerance. You can setup ejabberd cluster in such way, that all
|
||||||
|
information required for properly working will be stored permanently on more
|
||||||
|
then one machine, so if one of them crashed, then all other ones continue
|
||||||
|
working without any pauses. Also you can replace or add more machines ``on
|
||||||
|
the fly''.
|
||||||
|
|
||||||
|
<LI> Support of <A HREF="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</A>
|
||||||
|
(Service Discovery).
|
||||||
|
|
||||||
|
<LI> Support of <A HREF="http://www.jabber.org/jeps/jep-0039.html">JEP-0039</A>
|
||||||
|
(Statistics Gathering).
|
||||||
|
|
||||||
|
<LI> Support of <TT>xml:lang</TT> attribute in many XML elements.
|
||||||
|
|
||||||
|
<LI> JUD based on users vCards.
|
||||||
|
</UL><!--TOC section Installation-->
|
||||||
|
|
||||||
<H2>2 Installation</H2><!--SEC END -->
|
<H2>2 Installation</H2><!--SEC END -->
|
||||||
|
|
||||||
@ -121,8 +142,8 @@ serves. E. g. to use <TT>jabber.org</TT> domain add following line in confi
|
|||||||
|
|
||||||
<H4>3.1.2 Access Rules</H4><!--SEC END -->
|
<H4>3.1.2 Access Rules</H4><!--SEC END -->
|
||||||
|
|
||||||
<A NAME="sec:configaccess"></A>Access control in <TT>ejabberd</TT> is done via Access Control Lists (ACL). In
|
<A NAME="sec:configaccess"></A>Access control in <TT>ejabberd</TT> is done via Access Control Lists (ACL).
|
||||||
config file they looks like this:
|
Declaration of ACL in config file have following syntax:
|
||||||
<PRE>
|
<PRE>
|
||||||
{acl, <aclname>, {<acltype>, ...}}.
|
{acl, <aclname>, {<acltype>, ...}}.
|
||||||
</PRE><TT><acltype></TT> can be one of following:
|
</PRE><TT><acltype></TT> can be one of following:
|
||||||
@ -202,7 +223,7 @@ config file they looks like this:
|
|||||||
]}.
|
]}.
|
||||||
</PRE>When JID is checked to have access to <TT><accessname></TT>, server
|
</PRE>When JID is checked to have access to <TT><accessname></TT>, server
|
||||||
sequentially checks if this JID in one of the ACLs that are second elements in
|
sequentially checks if this JID in one of the ACLs that are second elements in
|
||||||
eache tuple in list. If one of them matched, then returned first element of
|
each tuple in list. If one of them matched, then returned first element of
|
||||||
matched tuple. Else returned ``<TT>deny</TT>''.<BR>
|
matched tuple. Else returned ``<TT>deny</TT>''.<BR>
|
||||||
<BR>
|
<BR>
|
||||||
Example:
|
Example:
|
||||||
@ -285,9 +306,9 @@ Example:
|
|||||||
{mod_time, [{iqdisc, no_queue}]},
|
{mod_time, [{iqdisc, no_queue}]},
|
||||||
{mod_version, []}
|
{mod_version, []}
|
||||||
]}.
|
]}.
|
||||||
</PRE><!--TOC subsection Online Configuration-->
|
</PRE><!--TOC subsection Online Configuration and Monitoring-->
|
||||||
|
|
||||||
<H3>3.2 Online Configuration</H3><!--SEC END -->
|
<H3>3.2 Online Configuration and Monitoring</H3><!--SEC END -->
|
||||||
|
|
||||||
<A NAME="sec:onlineconfig"></A>To use facility of online reconfiguration of <TT>ejabberd</TT> needed to have
|
<A NAME="sec:onlineconfig"></A>To use facility of online reconfiguration of <TT>ejabberd</TT> needed to have
|
||||||
<TT>mod_configure</TT> loaded (see section <A HREF="#sec:modconfigure">5.4</A>). Also highly
|
<TT>mod_configure</TT> loaded (see section <A HREF="#sec:modconfigure">5.4</A>). Also highly
|
||||||
@ -298,6 +319,74 @@ xdata-capable client
|
|||||||
developed synchronously with <TT>ejabberd</TT>, its CVS version use most of
|
developed synchronously with <TT>ejabberd</TT>, its CVS version use most of
|
||||||
<TT>ejabberd</TT> features).<BR>
|
<TT>ejabberd</TT> features).<BR>
|
||||||
<BR>
|
<BR>
|
||||||
|
On disco query <TT>ejabberd</TT> returns following items:
|
||||||
|
<UL>
|
||||||
|
<LI>
|
||||||
|
Identity of server.
|
||||||
|
|
||||||
|
<LI> List of features, including defined namespaces.
|
||||||
|
|
||||||
|
<LI> List of JIDs from route table.
|
||||||
|
|
||||||
|
<LI> List of disco-nodes described in following subsections.
|
||||||
|
</UL><!--TOC subsubsection Node <TT>config</TT>: Global Configuration-->
|
||||||
|
|
||||||
|
<H4>3.2.1 Node <TT>config</TT>: Global Configuration</H4><!--SEC END -->
|
||||||
|
Under this node exists following nodes:<BR>
|
||||||
|
<BR>
|
||||||
|
<!--TOC paragraph Node <TT>config/hostname</TT>-->
|
||||||
|
|
||||||
|
<H5> Node <TT>config/hostname</TT></H5><!--SEC END -->
|
||||||
|
Via <TT>jabber:x:data</TT> queries to this node possible to change host name of
|
||||||
|
this <TT>ejabberd</TT> server. (See figure <A HREF="#fig:hostname">1</A>) (Currently will work
|
||||||
|
correctly only after restart)
|
||||||
|
<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
|
||||||
|
[hostname editing window]
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<DIV ALIGN=center>Figure 1: Editing of hostname</DIV><BR>
|
||||||
|
|
||||||
|
<A NAME="fig:hostname"></A>
|
||||||
|
<DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><!--TOC paragraph Node <TT>config/acls</TT>-->
|
||||||
|
|
||||||
|
<H5> Node <TT>config/acls</TT></H5><!--SEC END -->
|
||||||
|
Via <TT>jabber:x:data</TT> queries to this node possible edit ACLs list. (See
|
||||||
|
figure <A HREF="#fig:acls">2</A>)
|
||||||
|
<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
|
||||||
|
[acls editing window]
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<DIV ALIGN=center>Figure 2: Editing of ACLs</DIV><BR>
|
||||||
|
|
||||||
|
<A NAME="fig:acls"></A>
|
||||||
|
<DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><!--TOC paragraph Node <TT>config/access</TT>-->
|
||||||
|
|
||||||
|
<H5> Node <TT>config/access</TT></H5><!--SEC END -->
|
||||||
|
Via <TT>jabber:x:data</TT> queries to this node possible edit access rules.
|
||||||
|
<B>Not work yet</B>.<BR>
|
||||||
|
<BR>
|
||||||
|
<!--TOC paragraph Node <TT>config/remusers</TT>-->
|
||||||
|
|
||||||
|
<H5> Node <TT>config/remusers</TT></H5><!--SEC END -->
|
||||||
|
Via <TT>jabber:x:data</TT> queries to this node possible to remove users. If
|
||||||
|
removed user is online, then he will be disconnected. Also user-related data
|
||||||
|
(e.g. his roster) is removed (but appropriate module must be loaded).<BR>
|
||||||
|
<BR>
|
||||||
|
<!--TOC subsubsection Node <TT>online users</TT>: List of Online Users-->
|
||||||
|
|
||||||
|
<H4>3.2.2 Node <TT>online users</TT>: List of Online Users</H4><!--SEC END -->
|
||||||
|
<!--TOC subsubsection Node <TT>all users</TT>: List of Connected User-->
|
||||||
|
|
||||||
|
<H4>3.2.3 Node <TT>all users</TT>: List of Connected User</H4><!--SEC END -->
|
||||||
|
<!--TOC subsubsection Node <TT>outgoing s2s</TT>: List of Outgoing S2S connections-->
|
||||||
|
|
||||||
|
<H4>3.2.4 Node <TT>outgoing s2s</TT>: List of Outgoing S2S connections</H4><!--SEC END -->
|
||||||
|
<!--TOC subsubsection Node <TT>running nodes</TT>: List of Running <TT>ejabberd</TT> Nodes-->
|
||||||
|
|
||||||
|
<H4>3.2.5 Node <TT>running nodes</TT>: List of Running <TT>ejabberd</TT> Nodes</H4><!--SEC END -->
|
||||||
|
<!--TOC subsubsection Node <TT>stopped nodes</TT>: List of Stopped Nodes-->
|
||||||
|
|
||||||
|
<H4>3.2.6 Node <TT>stopped nodes</TT>: List of Stopped Nodes</H4><!--SEC END -->
|
||||||
TBD<BR>
|
TBD<BR>
|
||||||
<BR>
|
<BR>
|
||||||
<!--TOC section Distribution-->
|
<!--TOC section Distribution-->
|
||||||
|
111
doc/guide.tex
111
doc/guide.tex
@ -6,7 +6,12 @@
|
|||||||
|
|
||||||
|
|
||||||
\newcommand{\imgscale}{0.7}
|
\newcommand{\imgscale}{0.7}
|
||||||
|
\newcommand{\insimg}[1]{
|
||||||
|
\imgsrc{#1}{}
|
||||||
|
\begin{latexonly}
|
||||||
|
\scalebox{\imgscale}{\includegraphics{#1}}
|
||||||
|
\end{latexonly}
|
||||||
|
}
|
||||||
|
|
||||||
\newcommand{\ns}[1]{\texttt{#1}}
|
\newcommand{\ns}[1]{\texttt{#1}}
|
||||||
\newcommand{\ejabberd}{\texttt{ejabberd}}
|
\newcommand{\ejabberd}{\texttt{ejabberd}}
|
||||||
@ -30,17 +35,14 @@
|
|||||||
\author{Alexey Shchepin \\
|
\author{Alexey Shchepin \\
|
||||||
\ahrefurl{mailto:alexey@sevcom.net} \\
|
\ahrefurl{mailto:alexey@sevcom.net} \\
|
||||||
\ahrefurl{xmpp:aleksey@jabber.ru}}
|
\ahrefurl{xmpp:aleksey@jabber.ru}}
|
||||||
\date{January 29, 2003}
|
\date{February 3, 2003}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
\maketitle{}
|
\maketitle{}
|
||||||
|
|
||||||
{\centering
|
{\centering
|
||||||
\imgsrc{logo.png}{}
|
\insimg{logo.png}
|
||||||
\begin{latexonly}
|
|
||||||
\scalebox{\imgscale}{\includegraphics{logo.png}}
|
|
||||||
\end{latexonly}
|
|
||||||
\par
|
\par
|
||||||
}
|
}
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
@ -54,7 +56,23 @@
|
|||||||
\ejabberd{} is a Free and Open Source distributed fault-tolerant \Jabber{}
|
\ejabberd{} is a Free and Open Source distributed fault-tolerant \Jabber{}
|
||||||
server. It writen mostly in Erlang.
|
server. It writen mostly in Erlang.
|
||||||
|
|
||||||
TBD
|
Main features of ejabberd is:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Distribution. You can run ejaberd on cluster of machines and all them
|
||||||
|
will serve one Jabber domain.
|
||||||
|
\item Fault-tolerance. You can setup ejabberd cluster in such way, that all
|
||||||
|
information required for properly working will be stored permanently on more
|
||||||
|
then one machine, so if one of them crashed, then all other ones continue
|
||||||
|
working without any pauses. Also you can replace or add more machines ``on
|
||||||
|
the fly''.
|
||||||
|
\item Support of \footahref{http://www.jabber.org/jeps/jep-0030.html}{JEP-0030}
|
||||||
|
(Service Discovery).
|
||||||
|
\item Support of \footahref{http://www.jabber.org/jeps/jep-0039.html}{JEP-0039}
|
||||||
|
(Statistics Gathering).
|
||||||
|
\item Support of \ns{xml:lang} attribute in many XML elements.
|
||||||
|
\item JUD based on users vCards.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -158,8 +176,8 @@ serves. E.\,g.\ to use \texttt{jabber.org} domain add following line in config:
|
|||||||
\subsubsection{Access Rules}
|
\subsubsection{Access Rules}
|
||||||
\label{sec:configaccess}
|
\label{sec:configaccess}
|
||||||
|
|
||||||
Access control in \ejabberd{} is done via Access Control Lists (ACL). In
|
Access control in \ejabberd{} is done via Access Control Lists (ACL).
|
||||||
config file they looks like this:
|
Declaration of ACL in config file have following syntax:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
{acl, <aclname>, {<acltype>, ...}}.
|
{acl, <aclname>, {<acltype>, ...}}.
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
@ -245,7 +263,7 @@ Allowing or denying of different services is like this:
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
When JID is checked to have access to \texttt{<accessname>}, server
|
When JID is checked to have access to \texttt{<accessname>}, server
|
||||||
sequentially checks if this JID in one of the ACLs that are second elements in
|
sequentially checks if this JID in one of the ACLs that are second elements in
|
||||||
eache tuple in list. If one of them matched, then returned first element of
|
each tuple in list. If one of them matched, then returned first element of
|
||||||
matched tuple. Else returned ``\texttt{deny}''.
|
matched tuple. Else returned ``\texttt{deny}''.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@ -334,7 +352,7 @@ Example:
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
\subsection{Online Configuration}
|
\subsection{Online Configuration and Monitoring}
|
||||||
\label{sec:onlineconfig}
|
\label{sec:onlineconfig}
|
||||||
|
|
||||||
To use facility of online reconfiguration of \ejabberd{} needed to have
|
To use facility of online reconfiguration of \ejabberd{} needed to have
|
||||||
@ -346,6 +364,77 @@ xdata-capable client
|
|||||||
developed synchronously with \ejabberd{}, its CVS version use most of
|
developed synchronously with \ejabberd{}, its CVS version use most of
|
||||||
\ejabberd{} features).
|
\ejabberd{} features).
|
||||||
|
|
||||||
|
On disco query \ejabberd{} returns following items:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Identity of server.
|
||||||
|
\item List of features, including defined namespaces.
|
||||||
|
\item List of JIDs from route table.
|
||||||
|
\item List of disco-nodes described in following subsections.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{config}: Global Configuration}
|
||||||
|
|
||||||
|
Under this node exists following nodes:
|
||||||
|
|
||||||
|
\paragraph{Node \texttt{config/hostname}}
|
||||||
|
|
||||||
|
Via \ns{jabber:x:data} queries to this node possible to change host name of
|
||||||
|
this \ejabberd{} server. (See figure~\ref{fig:hostname}) (Currently will work
|
||||||
|
correctly only after restart)
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
[hostname editing window]
|
||||||
|
\caption{Editing of hostname}
|
||||||
|
\label{fig:hostname}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\paragraph{Node \texttt{config/acls}}
|
||||||
|
|
||||||
|
Via \ns{jabber:x:data} queries to this node possible edit ACLs list. (See
|
||||||
|
figure~\ref{fig:acls})
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
[acls editing window]
|
||||||
|
\caption{Editing of ACLs}
|
||||||
|
\label{fig:acls}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\paragraph{Node \texttt{config/access}}
|
||||||
|
|
||||||
|
Via \ns{jabber:x:data} queries to this node possible edit access rules.
|
||||||
|
\textbf{Not work yet}.
|
||||||
|
|
||||||
|
\paragraph{Node \texttt{config/remusers}}
|
||||||
|
|
||||||
|
Via \ns{jabber:x:data} queries to this node possible to remove users. If
|
||||||
|
removed user is online, then he will be disconnected. Also user-related data
|
||||||
|
(e.g. his roster) is removed (but appropriate module must be loaded).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{online users}: List of Online Users}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{all users}: List of Connected User}
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{outgoing s2s}: List of Outgoing S2S connections}
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{running nodes}: List of Running \ejabberd{} Nodes}
|
||||||
|
|
||||||
|
\subsubsection{Node \texttt{stopped nodes}: List of Stopped Nodes}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TBD
|
TBD
|
||||||
|
|
||||||
\section{Distribution}
|
\section{Distribution}
|
||||||
|
Loading…
Reference in New Issue
Block a user