\input{introduction}
\chapter{Installing ejabberd}
-\section{Installing ejabberd with Graphical Installer}
+\section{Installing ejabberd with Binary Installer}
-The easiest approach to install an ejabberd Instant Messaging server
-is to use the graphical installer. The installer is available in
-ejabberd Process-one
-\footahref{http://www.process-one.net/en/ejabberd/downloads/}{downloads page}.
+Probably the easiest way to install an ejabberd Instant Messaging server
+is using the binary installer published by Process-one.
+The binary installers of released ejabberd versions
+are available in the Process-one ejabberd download page:
+\ahrefurl{http://www.process-one.net/en/ejabberd/downloads}
The installer will deploy and configure a full featured ejabberd
server and does not require any extra dependencies.
-The installer must be set executable and started. Example:
+In *nix systems, remember to set executable the binary installer before starting it. For example:
\begin{verbatim}
- wget http://www.process-one.net/downloads/ejabberd/1.1.4/ejabberd-1.1.4_2-linux-x86-installer.bin
- chmod +x ejabberd-1.1.4_2-linux-x86-installer.bin
- ./ejabberd-1.1.4_2-linux-x86-installer.bin
+ chmod +x ejabberd-2.0.0_1-linux-x86-installer.bin
+ ./ejabberd-2.0.0_1-linux-x86-installer.bin
\end{verbatim}
+
\section{Installing ejabberd with Operating System specific packages}
Some Operating Systems provide a specific ejabberd package adapted to
\label{installation}
\ind{install}
+The canonical form for distribution of ejabberd stable releases is the source code package.
+Compiling ejabberd from source code is quite easy in *nix systems,
+as long as your system have all the dependencies.
+
\subsection{Requirements}
\label{installreq}
\ind{installation!requirements}
\item GNU Iconv 1.8 or higher (optional, not needed on systems with GNU libc)
\end{itemize}
-\subsection{Download Source Sode}
+\subsection{Download Source Code}
\label{download}
\ind{install!download}
-Released versions of \ejabberd{} can be obtained from \\
+Released versions of \ejabberd{} are available in the Process-one ejabberd download page:
\ahrefurl{http://www.process-one.net/en/ejabberd/downloads}
\ind{Subversion repository}
-The latest development version can be retrieved from the Subversion repository using this command:
+Alternatively, the latest development version can be retrieved from the Subversion repository using this command:
\begin{verbatim}
svn co http://svn.process-one.net/ejabberd/trunk ejabberd
\end{verbatim}
\texttt{ip}, \texttt{shaper}\\
\hline \texttt{ejabberd\_http}& Description& Handles incoming HTTP
connections.\\
- \cline{2-3} & Options& \texttt{certfile}, \texttt{http\_poll},
+ \cline{2-3} & Options& \texttt{certfile}, \texttt{http\_bind}, \texttt{http\_poll},
\texttt{inet6}, \texttt{ip}, \texttt{request\_handlers}, \texttt{tls}, \texttt{web\_admin}\\
\hline
\end{tabular}
\titem{\{hosts, [Hostnames], [HostOptions]\}} \ind{options!hosts}This option
defines one or more hostnames of connected services and enables you to
specify additional options including \poption{\{password, Secret\}}.
+ \titem{http\_bind} \ind{options!http\_bind}\ind{protocols!XEP-0206: HTTP Binding}\ind{JWChat}\ind{web-based Jabber client}
+ This option enables HTTP Binding (\xepref{0124} and \xepref{0206}) support. HTTP Bind
+ enables access via HTTP requests to \ejabberd{} from behind firewalls which
+ do not allow outgoing sockets on port 5222.
+
+ Remember that you must also install and enable the module mod\_http\_bind.
+
+ If HTTP Bind is enabled, it will be available at
+ \verb|http://server:port/http-bind/|. Be aware that support for HTTP Bind
+ is also needed in the \Jabber{} client. Remark also that HTTP Bind can be
+ interesting to host a web-based \Jabber{} client such as
+ \footahref{http://jwchat.sourceforge.net/}{JWChat} (there is a tutorial to
+ \footahref{http://www.ejabberd.im/jwchat}{install JWChat} with
+ instructions for \ejabberd{}).
\titem{http\_poll} \ind{options!http\_poll}\ind{protocols!XEP-0025: HTTP Polling}\ind{JWChat}\ind{web-based Jabber client}
This option enables HTTP Polling (\xepref{0025}) support. HTTP Polling
enables access via HTTP requests to \ejabberd{} from behind firewalls which
\end{itemize}
\item Databases
\begin{itemize}
+\item Internal database for fast deployment (Mnesia).
\item Native MySQL support.
\item Native PostgreSQL support.
-\item Mnesia.
\item ODBC data storage support.
\item Microsoft SQL Server support. %%\new{}
\end{itemize}
\item Authentication
\begin{itemize}
+\item Internal Authentication.
\item PAM, LDAP and ODBC. %%\improved{}
\item External Authentication script.
-\item Internal Authentication.
\end{itemize}
\item Others
\begin{itemize}
+\item Support for virtual hosting.
\item Compressing XML streams with Stream Compression (\xepref{0138}).
-\item Interface with networks such as AIM, ICQ and MSN.
\item Statistics via Statistics Gathering (\xepref{0039}).
\item IPv6 support both for c2s and s2s connections.
-\item \txepref{0045}{Multi-User Chat} module with logging. %%\improved{}
+\item \txepref{0045}{Multi-User Chat} module with support for clustering and HTML logging. %%\improved{}
\item Users Directory based on users vCards.
-\item \txepref{0060}{Publish-Subscribe} component.
-\item Support for virtual hosting.
-\item \txepref{0025}{HTTP Polling} service.
+\item \txepref{0060}{Publish-Subscribe} component with support for \txepref{00163}{Personal Eventing via Pubsub}.
+\item Support for web clients: \txepref{0025}{HTTP Polling} and \txepref{0206}{HTTP Binding (BOSH)} services.
\item IRC transport.
+\item Component support: interface with networks such as AIM, ICQ and MSN installing special tranports.
\end{itemize}
\end{itemize}