mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
*** empty log message ***
SVN Revision: 48
This commit is contained in:
parent
dcfaa68b7d
commit
66792183d0
229
doc/guide.html
Normal file
229
doc/guide.html
Normal file
@ -0,0 +1,229 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD><TITLE>Ejabberd Installation and Operation Guide</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<META name="GENERATOR" content="hevea 1.05">
|
||||
</HEAD>
|
||||
<BODY >
|
||||
<!--HEVEA command line is: hevea guide.tex -->
|
||||
<!--HTMLHEAD-->
|
||||
<!--ENDHTML-->
|
||||
<!--CUT DEF section 1 -->
|
||||
|
||||
|
||||
|
||||
<H1 ALIGN=center>Ejabberd Installation and Operation Guide</H1>
|
||||
|
||||
<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 23, 2003</H3> <DIV ALIGN=center><IMG SRC="logo.png">
|
||||
</DIV>
|
||||
|
||||
<BR>
|
||||
<BR>
|
||||
<!--TOC section Introduction-->
|
||||
|
||||
<H2>1 Introduction</H2><!--SEC END -->
|
||||
|
||||
<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>
|
||||
<BR>
|
||||
TBD<BR>
|
||||
<BR>
|
||||
<!--TOC section Installation-->
|
||||
|
||||
<H2>2 Installation</H2><!--SEC END -->
|
||||
|
||||
<A NAME="sec:installation"></A><!--TOC subsection Installation Requirements-->
|
||||
|
||||
<H3>2.1 Installation Requirements</H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:installreq"></A>To compile <TT>ejabberd</TT>, you need following packages:
|
||||
<UL>
|
||||
<LI>
|
||||
GNU Make;
|
||||
|
||||
<LI> GCC;
|
||||
|
||||
<LI> libexpat 1.95 or later;
|
||||
|
||||
<LI> Erlang/OTP R8B or later.
|
||||
</UL><!--TOC subsection Obtaining-->
|
||||
|
||||
<H3>2.2 Obtaining</H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:obtaining"></A>Currently no stable version released.<BR>
|
||||
<BR>
|
||||
Latest alpha version can be retrieved via CVS. Do following steps:
|
||||
<UL>
|
||||
<LI>
|
||||
<TT>export CVSROOT=:pserver:cvs@www.jabber.ru:/var/spool/cvs</TT>
|
||||
|
||||
<LI> <TT>cvs login</TT>
|
||||
|
||||
<LI> Enter empty password
|
||||
|
||||
<LI> <TT>cvs -z3 co ejabberd</TT>
|
||||
</UL><!--TOC subsection Compilation-->
|
||||
|
||||
<H3>2.3 Compilation</H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:compilation"></A><!--TOC section Configuration-->
|
||||
|
||||
<H2>3 Configuration</H2><!--SEC END -->
|
||||
|
||||
<A NAME="sec:configuration"></A><!--TOC subsection Initial Configuration-->
|
||||
|
||||
<H3>3.1 Initial Configuration</H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:initconfig"></A>Configuration file is loaded after first start of <TT>ejabberd</TT>. It consists of
|
||||
sequence of Erlang terms. Parts of lines after <TT>`%'</TT> sign are ignored.
|
||||
Each term is tuple, where first element is name of option, and other are option
|
||||
values.<BR>
|
||||
<BR>
|
||||
<!--TOC subsubsection Host Name-->
|
||||
|
||||
<H4>3.1.1 Host Name</H4><!--SEC END -->
|
||||
|
||||
<A NAME="sec:confighostname"></A>Option <TT>hostname</TT> defines name of Jabber domain that <TT>ejabberd</TT>
|
||||
serves. E. g. to use <TT>jabber.org</TT> domain add following line in config:
|
||||
<PRE>
|
||||
{host, "jabber.org"}.
|
||||
</PRE>This option is mandatory.<BR>
|
||||
<BR>
|
||||
<!--TOC subsubsection Listened Sockets-->
|
||||
|
||||
<H4>3.1.2 Listened Sockets</H4><!--SEC END -->
|
||||
|
||||
<A NAME="sec:configlistened"></A>Option <TT>listen</TT> defines list of listened sockets and what services
|
||||
runned on them. Each element of list is a tuple with following elements:
|
||||
<UL>
|
||||
<LI>
|
||||
Port number;
|
||||
|
||||
<LI> Module that serves this port;
|
||||
|
||||
<LI> Function in this module that starts connection (likely will be removed);
|
||||
|
||||
<LI> Options to this module.
|
||||
</UL>Currently three modules implemented:
|
||||
<UL>
|
||||
<LI>
|
||||
<TT>ejabberd_c2s</TT>: serves C2S connections;
|
||||
|
||||
<LI> <TT>ejabberd_s2s_in</TT>: serves incoming S2S connections;
|
||||
|
||||
<LI> <TT>ejabberd_service</TT>: serves connections to Jabber services (i.e.
|
||||
that used <TT>jabber:component:accept</TT> namespace).
|
||||
</UL>For example, following configuration defines that C2S connections listened on
|
||||
port 5222, S2S on port 5269 and that service <TT>conference.jabber.org</TT>
|
||||
must be connected to port 8888 with password ``<TT>secret</TT>''.<BR>
|
||||
<BR>
|
||||
<PRE>
|
||||
{listen, [{5222, ejabberd_c2s, start, []},
|
||||
{5269, ejabberd_s2s_in, start, []},
|
||||
{8888, ejabberd_service, start, ["conference.jabber.org", "secret"]}
|
||||
]}.
|
||||
</PRE><!--TOC subsubsection Access Rules-->
|
||||
|
||||
<H4>3.1.3 Access Rules</H4><!--SEC END -->
|
||||
|
||||
<A NAME="sec:configaccess"></A>TBD<BR>
|
||||
<BR>
|
||||
<!--TOC subsubsection Modules-->
|
||||
|
||||
<H4>3.1.4 Modules</H4><!--SEC END -->
|
||||
|
||||
<A NAME="sec:configmodules"></A>Option <TT>modules</TT> defines list of modules that will be loaded after
|
||||
<TT>ejabberd</TT> startup. Each list element is a tuple where first element is a
|
||||
name of module and second is list of options to this module. Refer to
|
||||
section <A HREF="#sec:modules">5</A> for detailed information on each module.<BR>
|
||||
<BR>
|
||||
Example:
|
||||
<PRE>
|
||||
{modules, [
|
||||
{mod_register, [one_queue]},
|
||||
{mod_roster, [one_queue]},
|
||||
{mod_configure, [one_queue]},
|
||||
{mod_disco, [one_queue]},
|
||||
{mod_stats, [one_queue]},
|
||||
{mod_vcard, [one_queue]},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, [one_queue]},
|
||||
{mod_time, [one_queue]},
|
||||
{mod_version, [one_queue]}
|
||||
]}.
|
||||
</PRE><!--TOC subsection Online Configuration-->
|
||||
|
||||
<H3>3.2 Online Configuration</H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:onlineconfig"></A>To use facility of online reconfiguration of <TT>ejabberd</TT> needed to have
|
||||
<TT>mod_configure</TT> loaded (section <A HREF="#sec:modconfigure">5.3</A>). Also highly
|
||||
recommended to load <TT>mod_disco</TT> (section <A HREF="#sec:moddisco">5.4</A>), because
|
||||
<TT>mod_configure</TT> highly integrates with it. Also recommended to use
|
||||
disco-capable client.<BR>
|
||||
<BR>
|
||||
<!--TOC section Distribution-->
|
||||
|
||||
<H2>4 Distribution</H2><!--SEC END -->
|
||||
|
||||
<A NAME="sec:distribution"></A><!--TOC section Built-in Modules-->
|
||||
|
||||
<H2>5 Built-in Modules</H2><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modules"></A><!--TOC subsection <TT>mod_register</TT>-->
|
||||
|
||||
<H3>5.1 <TT>mod_register</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modregister"></A><!--TOC subsection <TT>mod_roster</TT>-->
|
||||
|
||||
<H3>5.2 <TT>mod_roster</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modroster"></A><!--TOC subsection <TT>mod_configure</TT>-->
|
||||
|
||||
<H3>5.3 <TT>mod_configure</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modconfigure"></A><!--TOC subsection <TT>mod_disco</TT>-->
|
||||
|
||||
<H3>5.4 <TT>mod_disco</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:moddisco"></A><!--TOC subsection <TT>mod_stats</TT>-->
|
||||
|
||||
<H3>5.5 <TT>mod_stats</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modstats"></A><!--TOC subsection <TT>mod_vcard</TT>-->
|
||||
|
||||
<H3>5.6 <TT>mod_vcard</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modvcard"></A><!--TOC subsection <TT>mod_offline</TT>-->
|
||||
|
||||
<H3>5.7 <TT>mod_offline</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modoffline"></A><!--TOC subsection <TT>mod_echo</TT>-->
|
||||
|
||||
<H3>5.8 <TT>mod_echo</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modecho"></A><!--TOC subsection <TT>mod_private</TT>-->
|
||||
|
||||
<H3>5.9 <TT>mod_private</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modprivate"></A><!--TOC subsection <TT>mod_time</TT>-->
|
||||
|
||||
<H3>5.10 <TT>mod_time</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modtime"></A><!--TOC subsection <TT>mod_version</TT>-->
|
||||
|
||||
<H3>5.11 <TT>mod_version</TT></H3><!--SEC END -->
|
||||
|
||||
<A NAME="sec:modversion"></A><!--HTMLFOOT-->
|
||||
<!--ENDHTML-->
|
||||
|
||||
<!--FOOTER-->
|
||||
<HR SIZE=2>
|
||||
<BLOCKQUOTE><EM>This document was translated from L<sup>A</sup>T<sub>E</sub>X by
|
||||
</EM><A HREF="http://pauillac.inria.fr/~maranget/hevea/index.html"><EM>H</EM><EM><FONT SIZE=2><sup>E</sup></FONT></EM><EM>V</EM><EM><FONT SIZE=2><sup>E</sup></FONT></EM><EM>A</EM></A><EM>.
|
||||
</EM></BLOCKQUOTE></BODY>
|
||||
</HTML>
|
||||
|
272
doc/guide.tex
Normal file
272
doc/guide.tex
Normal file
@ -0,0 +1,272 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
%\usepackage{graphics}
|
||||
\usepackage{hevea}
|
||||
\usepackage{verbatim}
|
||||
|
||||
|
||||
\newcommand{\ejabberd}{\texttt{ejabberd}}
|
||||
\newcommand{\Jabber}{Jabber}
|
||||
|
||||
\newcommand{\modregister}{\texttt{mod\_register}}
|
||||
\newcommand{\modroster}{\texttt{mod\_roster}}
|
||||
\newcommand{\modconfigure}{\texttt{mod\_configure}}
|
||||
\newcommand{\moddisco}{\texttt{mod\_disco}}
|
||||
\newcommand{\modstats}{\texttt{mod\_stats}}
|
||||
\newcommand{\modvcard}{\texttt{mod\_vcard}}
|
||||
\newcommand{\modoffline}{\texttt{mod\_offline}}
|
||||
\newcommand{\modecho}{\texttt{mod\_echo}}
|
||||
\newcommand{\modprivate}{\texttt{mod\_private}}
|
||||
\newcommand{\modtime}{\texttt{mod\_time}}
|
||||
\newcommand{\modversion}{\texttt{mod\_version}}
|
||||
|
||||
|
||||
|
||||
\title{Ejabberd Installation and Operation Guide}
|
||||
\author{Alexey Shchepin \\
|
||||
\ahrefurl{mailto:alexey@sevcom.net} \\
|
||||
\ahrefurl{xmpp:aleksey@jabber.ru}}
|
||||
\date{January 23, 2003}
|
||||
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\maketitle{}
|
||||
|
||||
|
||||
|
||||
%\includegraphics{logo.png}
|
||||
{\centering
|
||||
\imgsrc{logo.png}{}
|
||||
}
|
||||
\end{titlepage}
|
||||
%\newpage
|
||||
\tableofcontents{}
|
||||
|
||||
\newpage
|
||||
\section{Introduction}
|
||||
\label{sec:intro}
|
||||
|
||||
\ejabberd{} is a Free and Open Source distributed fault-tolerant \Jabber{}
|
||||
server. It writen mostly in Erlang.
|
||||
|
||||
TBD
|
||||
|
||||
|
||||
|
||||
\section{Installation}
|
||||
\label{sec:installation}
|
||||
|
||||
|
||||
\subsection{Installation Requirements}
|
||||
\label{sec:installreq}
|
||||
|
||||
To compile \ejabberd{}, you need following packages:
|
||||
\begin{itemize}
|
||||
\item GNU Make;
|
||||
\item GCC;
|
||||
\item libexpat 1.95 or later;
|
||||
\item Erlang/OTP R8B or later.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Obtaining}
|
||||
\label{sec:obtaining}
|
||||
|
||||
Currently no stable version released.
|
||||
|
||||
Latest alpha version can be retrieved via CVS. Do following steps:
|
||||
\begin{itemize}
|
||||
\item \texttt{export CVSROOT=:pserver:cvs@www.jabber.ru:/var/spool/cvs}
|
||||
\item \texttt{cvs login}
|
||||
\item Enter empty password
|
||||
\item \texttt{cvs -z3 co ejabberd}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{Compilation}
|
||||
\label{sec:compilation}
|
||||
|
||||
|
||||
|
||||
|
||||
%\subsection{Initial Configuration}
|
||||
%\label{sec:initconfig}
|
||||
|
||||
|
||||
\section{Configuration}
|
||||
\label{sec:configuration}
|
||||
|
||||
\subsection{Initial Configuration}
|
||||
\label{sec:initconfig}
|
||||
|
||||
%\verbatiminput{../src/ejabberd.cfg}
|
||||
|
||||
Configuration file is loaded after first start of \ejabberd{}. It consists of
|
||||
sequence of Erlang terms. Parts of lines after \texttt{`\%'} sign are ignored.
|
||||
Each term is tuple, where first element is name of option, and other are option
|
||||
values.
|
||||
|
||||
|
||||
\subsubsection{Host Name}
|
||||
\label{sec:confighostname}
|
||||
|
||||
Option \texttt{hostname} defines name of \Jabber{} domain that \ejabberd{}
|
||||
serves. E.\,g. to use \texttt{jabber.org} domain add following line in config:
|
||||
\begin{verbatim}
|
||||
{host, "jabber.org"}.
|
||||
\end{verbatim}
|
||||
|
||||
This option is mandatory.
|
||||
|
||||
|
||||
|
||||
\subsubsection{Listened Sockets}
|
||||
\label{sec:configlistened}
|
||||
|
||||
Option \texttt{listen} defines list of listened sockets and what services
|
||||
runned on them. Each element of list is a tuple with following elements:
|
||||
\begin{itemize}
|
||||
\item Port number;
|
||||
\item Module that serves this port;
|
||||
\item Function in this module that starts connection (likely will be removed);
|
||||
\item Options to this module.
|
||||
\end{itemize}
|
||||
|
||||
Currently three modules implemented:
|
||||
\begin{itemize}
|
||||
\item \texttt{ejabberd\_c2s}: serves C2S connections;
|
||||
\item \texttt{ejabberd\_s2s\_in}: serves incoming S2S connections;
|
||||
\item \texttt{ejabberd\_service}: serves connections to \Jabber{} services (i.e.
|
||||
that used \texttt{jabber:component:accept} namespace).
|
||||
\end{itemize}
|
||||
|
||||
For example, following configuration defines that C2S connections listened on
|
||||
port 5222, S2S on port 5269 and that service \texttt{conference.jabber.org}
|
||||
must be connected to port 8888 with password ``\texttt{secret}''.
|
||||
|
||||
\begin{verbatim}
|
||||
{listen, [{5222, ejabberd_c2s, start, []},
|
||||
{5269, ejabberd_s2s_in, start, []},
|
||||
{8888, ejabberd_service, start, ["conference.jabber.org", "secret"]}
|
||||
]}.
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\subsubsection{Access Rules}
|
||||
\label{sec:configaccess}
|
||||
|
||||
TBD
|
||||
|
||||
|
||||
\subsubsection{Modules}
|
||||
\label{sec:configmodules}
|
||||
|
||||
Option \texttt{modules} defines list of modules that will be loaded after
|
||||
\ejabberd{} startup. Each list element is a tuple where first element is a
|
||||
name of module and second is list of options to this module. Refer to
|
||||
section~\ref{sec:modules} for detailed information on each module.
|
||||
|
||||
Example:
|
||||
\begin{verbatim}
|
||||
{modules, [
|
||||
{mod_register, [one_queue]},
|
||||
{mod_roster, [one_queue]},
|
||||
{mod_configure, [one_queue]},
|
||||
{mod_disco, [one_queue]},
|
||||
{mod_stats, [one_queue]},
|
||||
{mod_vcard, [one_queue]},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, [one_queue]},
|
||||
{mod_time, [one_queue]},
|
||||
{mod_version, [one_queue]}
|
||||
]}.
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\subsection{Online Configuration}
|
||||
\label{sec:onlineconfig}
|
||||
|
||||
To use facility of online reconfiguration of \ejabberd{} needed to have
|
||||
\modconfigure{} loaded (see section~\ref{sec:modconfigure}). Also highly
|
||||
recommended to load \moddisco{} (see section~\ref{sec:moddisco}), because
|
||||
\modconfigure{} highly integrates with it. Also recommended to use
|
||||
disco-capable client.
|
||||
|
||||
TBD
|
||||
|
||||
\section{Distribution}
|
||||
\label{sec:distribution}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\section{Built-in Modules}
|
||||
\label{sec:modules}
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{\modregister{}}
|
||||
\label{sec:modregister}
|
||||
|
||||
|
||||
|
||||
\subsection{\modroster{}}
|
||||
\label{sec:modroster}
|
||||
|
||||
|
||||
|
||||
\subsection{\modconfigure{}}
|
||||
\label{sec:modconfigure}
|
||||
|
||||
|
||||
|
||||
\subsection{\moddisco{}}
|
||||
\label{sec:moddisco}
|
||||
|
||||
|
||||
|
||||
\subsection{\modstats{}}
|
||||
\label{sec:modstats}
|
||||
|
||||
|
||||
|
||||
\subsection{\modvcard{}}
|
||||
\label{sec:modvcard}
|
||||
|
||||
|
||||
|
||||
\subsection{\modoffline{}}
|
||||
\label{sec:modoffline}
|
||||
|
||||
|
||||
|
||||
\subsection{\modecho{}}
|
||||
\label{sec:modecho}
|
||||
|
||||
|
||||
|
||||
\subsection{\modprivate{}}
|
||||
\label{sec:modprivate}
|
||||
|
||||
|
||||
|
||||
\subsection{\modtime{}}
|
||||
\label{sec:modtime}
|
||||
|
||||
|
||||
|
||||
\subsection{\modversion{}}
|
||||
\label{sec:modversion}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\end{document}
|
BIN
doc/logo.png
Normal file
BIN
doc/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
@ -10,30 +10,30 @@
|
||||
{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
|
||||
|
||||
{access, disco_admin, [{allow, admin},
|
||||
{deny, all}]}.
|
||||
{deny, all}]}.
|
||||
|
||||
{access, configure, [{allow, admin}]}.
|
||||
|
||||
{host, "e.localhost"}.
|
||||
|
||||
{listen, [{5522, ejabberd_c2s, start, []},
|
||||
{5269, ejabberd_s2s_in, start, []},
|
||||
{8888, ejabberd_service, start, ["asd.e.localhost", "asdqwe"]}
|
||||
]}.
|
||||
{5269, ejabberd_s2s_in, start, []},
|
||||
{8888, ejabberd_service, start, ["asd.e.localhost", "asdqwe"]}
|
||||
]}.
|
||||
|
||||
{modules, [
|
||||
{mod_register, [one_queue]},
|
||||
{mod_roster, [one_queue]},
|
||||
{mod_configure, [one_queue]},
|
||||
{mod_disco, [one_queue]},
|
||||
{mod_stats, [one_queue]},
|
||||
{mod_vcard, [one_queue]},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, [one_queue]},
|
||||
{mod_time, [one_queue]},
|
||||
{mod_version, [one_queue]}
|
||||
]}.
|
||||
{mod_register, [one_queue]},
|
||||
{mod_roster, [one_queue]},
|
||||
{mod_configure, [one_queue]},
|
||||
{mod_disco, [one_queue]},
|
||||
{mod_stats, [one_queue]},
|
||||
{mod_vcard, [one_queue]},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, [one_queue]},
|
||||
{mod_time, [one_queue]},
|
||||
{mod_version, [one_queue]}
|
||||
]}.
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user