From d5e14e686aa29edaf241bced8a7a2977f31dbda8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20R=C3=A9mond?= Date: Wed, 1 Aug 2007 18:09:00 +0000 Subject: [PATCH] * doc/guide.tex: Front page table formatting that render correctly in HTML and update mentionning CEAN as a way to install ejabberd (Thanks to Badlop) (EJAB-272). SVN Revision: 855 --- ChangeLog | 6 +- doc/guide.html | 350 +++++++++++++++++++++++++------------------------ doc/guide.tex | 35 +++-- 3 files changed, 210 insertions(+), 181 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8fcc28b90..554da82bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,11 @@ 2007-08-01 Mickael Remond + * doc/guide.tex: Front page table formatting that render correctly + in HTML and update mentionning CEAN as a way to install + ejabberd (Thanks to Badlop) (EJAB-272). + * src/ejabberd_s2s_out.erl: Avoid bouncing messages twice if - terminate happens during open_connect. + terminate happens during open_socket. * src/ejabberd_s2s_out.erl: On terminate, bounce internal process queue and Erlang message queue. diff --git a/doc/guide.html b/doc/guide.html index ac8989b13..a61d0893c 100644 --- a/doc/guide.html +++ b/doc/guide.html @@ -6,16 +6,14 @@ - & ejabberd 2.0.0 beta - & - & Installation and Operation Guide + ejabberd 2.0.0 beta + + Installation and Operation Guide - - & - + @@ -85,16 +83,14 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}


- - - +
 ejabberd 2.0.0 beta
  
 Installation and Operation Guide
+ +
ejabberd 2.0.0 beta
 
Installation and Operation Guide



-

- -
 

+





@@ -124,112 +120,114 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
  • Chapter 2  Installing ejabberd -
  • Chapter 3  Configuring ejabberd +
  • Chapter 3  Configuring ejabberd -
  • Chapter 4  Managing an ejabberd server +
  • Chapter 4  Managing an ejabberd server -
  • Chapter 5  Securing ejabberd +
  • Chapter 5  Securing ejabberd -
  • Chapter 6  Integrating ejabberd with other Instant Messaging servers +
  • Chapter 6  Integrating ejabberd with other Instant Messaging servers -
  • Chapter 7  Clustering +
  • Chapter 7  Clustering -
  • Chapter 8  Debugging +
  • Chapter 8  Debugging -
  • Appendix A  Internationalization and Localization -
  • Appendix B  Release Notes +
  • Appendix A  Internationalization and Localization +
  • Appendix B  Release Notes -
  • Appendix C  Acknowledgements -
  • Appendix D  Copyright Information +
  • Appendix C  Acknowledgements +
  • Appendix D  Copyright Information
  • Chapter 1  Introduction

    ejabberd is a free and open source instant messaging server written in Erlang.

    ejabberd is cross-platform, distributed, fault-tolerant, and based on open standards to achieve real-time communication.

    ejabberd is designed to be a rock-solid and feature rich XMPP server.

    ejabberd is suitable for small deployments, whether they need to be scalable or not, as well as extremely big deployments.

    @@ -295,14 +293,24 @@ Compressing XML streams with Stream Compression (Chapter 2  Installing ejabberd

    2.1  Installing ejabberd with Graphical Installer

    The easiest approach to install an ejabberd Instant Messaging server -is to use the graphical installer. The installer is available from -Process-one -website.

    The installer will deploy and configure a full featured ejabberd -server and does not require any extra dependancies.

    -

    2.2  Installation from Source

    +is to use the graphical installer. The installer is available in +ejabberd Process-one +downloads page.

    The installer will deploy and configure a full featured ejabberd +server and does not require any extra dependancies.

    +

    2.2  Installing ejabberd with Operating System specific packages

    Some Operating Systems provide a specific ejabberd package adapted to +your system architecture and libraries, which also checks dependencies +and performs basic configuration tasks like creating the initial +administrator account. Some examples are Debian and Gentoo. Consult the +resources provided by your Operating System for more information.

    +

    2.3  Installing ejabberd with CEAN

    CEAN +(Comprehensive Erlang Archive Network) is a repository that hosts binary +packages from many Erlang programs, including ejabberd and all its dependencies. +The binaries are available for many different system architectures, so this is an +alternative to the binary installer and Operating System's ejabberd packages.

    +

    2.4  Installation from Source

    -

    2.2.1  Installation Requirements

    +

    2.4.1  Installation Requirements

    `Unix-like' operating systems

    @@ -328,14 +336,14 @@ MS Visual C++ 6.0 Compiler (to enable SSL connections)

  • Zlib 1.2.3 or higher
  • -

    2.2.2  Obtaining ejabberd

    +

    2.4.2  Obtaining ejabberd

    Released versions of ejabberd can be obtained from
    http://www.process-one.net/en/projects/ejabberd/download.html.

    The latest development version can be retrieved from the Subversion repository.

      svn co http://svn.process-one.net/ejabberd/trunk ejabberd
     
    -

    2.2.3  Compilation

    +

    2.4.3  Compilation

    `Unix-like' operating systems

    @@ -373,7 +381,7 @@ nmake -f Makefile.win32

  • Edit the file ejabberd\src\ejabberd.cfg and run
    werl -s ejabberd -name ejabberd
     
  • -

    2.2.4  Starting

    +

    2.4.4  Starting

    Execute the following command to start ejabberd: @@ -402,7 +410,7 @@ more).

    To reduce memory usage, you may set the environment variable ERL_FULLSWEEP_AFTER:

      export ERL_FULLSWEEP_AFTER=0
     

    But in this case ejabberd can start to work slower.

    -

    2.3  Creating an Initial Administrator

    +

    2.5  Creating an Initial Administrator

    Before the web interface can be entered to perform administration tasks, an account with administrator rights is needed on your ejabberd deployment.

    Instructions to create an initial administrator account:

    1. @@ -426,8 +434,8 @@ favourite browser. Make sure to enter the full JID as username (in this example: admin@example.org. The reason that you also need to enter the suffix, is because ejabberd's virtual hosting support.
    -

    Chapter 3  Configuring ejabberd

    -

    3.1  Basic Configuration

    +

    Chapter 3  Configuring ejabberd

    +

    3.1  Basic Configuration

    The configuration file will be loaded the first time you start ejabberd. The content from this file will be parsed and stored in a database. Subsequently the @@ -444,7 +452,7 @@ the configuration file: override_acls.

    With these lines the old global options, local options and ACLs will be removed before new ones are added.

    -

    3.1.1  Host Names

    +

    3.1.1  Host Names

    The option hosts defines a list containing one or more domains that ejabberd will serve.

    Examples: @@ -457,7 +465,7 @@ versions:

  • Serving two domains:
      {hosts, ["example.net", "example.com"]}.
     
  • -

    3.1.2  Virtual Hosting

    +

    3.1.2  Virtual Hosting

    Options can be defined separately for every virtual host using the host_config option. It has the following @@ -489,7 +497,7 @@ while domain example.com is using the LDAP servers running on the domai {ldap_rootdn, "dc=example,dc=com"}, {ldap_password, ""}]}. -

    3.1.3  Listened Sockets

    +

    3.1.3  Listened Sockets

    The option listen defines for which addresses and ports ejabberd will listen and what services will be run on them. Each element of the list is a @@ -687,7 +695,7 @@ services you have to make the transports log and do XDB by themselves: </xdb_file> </xdb> -

    3.1.4  Authentication

    +

    3.1.4  Authentication

    The option auth_method defines the authentication method that is used for user authentication: @@ -769,7 +777,7 @@ a virtual host:

    {host_config, "public.example.org", [{auth_method, [internal,anonymous]},
                                          {anonymous_protocol, both}]}.
     
    -

    3.1.5  Access Rules

    +

    3.1.5  Access Rules

    ACL Definition

    @@ -859,7 +867,7 @@ value is infinity.

    The syntax is: To limit the number of sessions per user to 10 for all users:

      {access, max_user_sessions, [{10, all}]}.
     
    -

    3.1.6  Shapers

    +

    3.1.6  Shapers

    Shapers enable you to limit connection traffic. The syntax of shapers is like this: @@ -877,7 +885,7 @@ To define a shaper named `normal' with traffic speed limited to 50,000 bytes/second:

      {shaper, fast, {maxrate, 50000}}.
     
    -

    3.1.7  Default Language

    +

    3.1.7  Default Language

    The option language defines the default language of server strings that can be seen by Jabber clients. If a Jabber client do not support @@ -890,7 +898,7 @@ To set Russian as default language:

  • To set Spanish as default language:
      {language, "es"}.
     
  • -

    3.2  Database and LDAP Configuration

    +

    3.2  Database and LDAP Configuration

    ejabberd uses its internal Mnesia database by default. However, it is @@ -913,7 +921,7 @@ different storage systems for modules, and so forth.

    The following databas

  • Normally any LDAP compatible server should work; inform us about your success with a not-listed server so that we can list it here.
  • -

    3.2.1  MySQL

    +

    3.2.1  MySQL

    Although this section will describe ejabberd's configuration when you want to use the native MySQL driver, it does not describe MySQL's installation and @@ -965,7 +973,7 @@ relational databases like MySQL. To enable storage to your database, just make sure that your database is running well (see previous sections), and replace the suffix-less or ldap module variant with the odbc module variant. Keep in mind that you cannot have several variants of the same module loaded!

    -

    3.2.2  Microsoft SQL Server

    +

    3.2.2  Microsoft SQL Server

    Although this section will describe ejabberd's configuration when you want to use Microsoft SQL Server, it does not describe Microsoft SQL Server's @@ -997,7 +1005,7 @@ database, just make sure that your database is running well (see previous sections), and replace the suffix-less or ldap module variant with the odbc module variant. Keep in mind that you cannot have several variants of the same module loaded!

    -

    3.2.3  PostgreSQL

    +

    3.2.3  PostgreSQL

    Although this section will describe ejabberd's configuration when you want to use the native PostgreSQL driver, it does not describe PostgreSQL's installation @@ -1051,7 +1059,7 @@ relational databases like PostgreSQL. To enable storage to your database, just make sure that your database is running well (see previous sections), and replace the suffix-less or ldap module variant with the odbc module variant. Keep in mind that you cannot have several variants of the same module loaded!

    -

    3.2.4  ODBC Compatible

    +

    3.2.4  ODBC Compatible

    Although this section will describe ejabberd's configuration when you want to use the ODBC driver, it does not describe the installation and database creation @@ -1090,7 +1098,7 @@ database, just make sure that your database is running well (see previous sections), and replace the suffix-less or ldap module variant with the odbc module variant. Keep in mind that you cannot have several variants of the same module loaded!

    -

    3.2.5  LDAP

    +

    3.2.5  LDAP

    ejabberd has built-in LDAP support. You can authenticate users against LDAP server and use LDAP directory as vCard storage. Shared rosters are not supported @@ -1253,7 +1261,7 @@ configuration is showed below:

      {auth_method, ldap}.
        ]
       }.
     
    -

    3.3  Modules Configuration

    +

    3.3  Modules Configuration

    The option modules defines the list of modules that will be loaded after ejabberd's startup. Each entry in the list is a tuple in which the first @@ -1274,7 +1282,7 @@ all entries end with a comma: {mod_version, []} ]}. -

    3.3.1  Overview

    +

    3.3.1  Overview

    The following table lists all modules available in the official ejabberd distribution. You can find more @@ -1337,7 +1345,7 @@ Last connection date and time: Use mod_last_odbc instead of

  • (**) This module or a similar one with another database backend is needed for XMPP compliancy.
  • -

    3.3.2  Common Options

    +

    3.3.2  Common Options

    The following options are used by many modules. Therefore, they are described in this separate section.

    iqdisc

    @@ -1398,7 +1406,7 @@ with: ... ]}. -

    3.3.3  mod_announce

    +

    3.3.3  mod_announce

    This module enables configured users to broadcast announcements and to set the message of the day (MOTD). Configured users can do these actions with their @@ -1456,7 +1464,7 @@ Only administrators can send announcements: ... ]}. -

    3.3.4  mod_disco

    +

    3.3.4  mod_disco

    This module adds support for Service Discovery (XEP-0030). With this module enabled, services on your server can be discovered by @@ -1497,7 +1505,7 @@ To serve a link to the Jabber User Directory on jabber.org: ... ]}. -

    3.3.5  mod_echo

    +

    3.3.5  mod_echo

    This module simply echoes any Jabber packet back to the sender. This mirror can be of interest for @@ -1522,7 +1530,7 @@ of them all?

  • If you still do not understand the inner workings of mod_echo, you can find a few more examples in section 3.3.2.
  • -

    3.3.6  mod_irc

    +

    3.3.6  mod_irc

    This module is an IRC transport that can be used to join channels on IRC servers.

    End user information: @@ -1583,7 +1591,7 @@ our domains and on other servers. ... ]}. -

    3.3.7  mod_last

    +

    3.3.7  mod_last

    This module adds support for Last Activity (XEP-0012). It can be used to discover when a disconnected user last accessed the server, to know when a @@ -1593,7 +1601,7 @@ connected user was last active on the server, or to query the uptime of the iqdisc

    This specifies the processing discipline for Last activity (jabber:iq:last) IQ queries (see section 3.3.2).
    -

    3.3.8  mod_muc

    +

    3.3.8  mod_muc

    With this module enabled, your server will support Multi-User Chat (XEP-0045). End users will be able to join text conferences. Notice @@ -1726,7 +1734,7 @@ instances. The multi-user chat module is clustered but the room themselves are not clustered nor fault-tolerant: If the node managing a set of rooms goes down, the rooms disappear and they will be recreated on an available node on first connection attempt.

    -

    3.3.9  mod_muc_log

    +

    3.3.9  mod_muc_log

    This module enables optional logging of Multi-User Chat (MUC) conversations to HTML. Once you enable this module, users can join a chatroom using a MUC capable @@ -1834,14 +1842,14 @@ top link will be the default <a href="/">Home</a>. ... ]}. -

    3.3.10  mod_offline

    +

    3.3.10  mod_offline

    This module implements offline message storage. This means that all messages sent to an offline user will be stored on the server until that user comes online again. Thus it is very similar to how email works. Note that ejabberdctl has a command to delete expired messages (see section 4.1.2).

    -

    3.3.11  mod_privacy

    +

    3.3.11  mod_privacy

    This module implements Blocking Communication (also known as Privacy Rules) as defined in section 10 from XMPP IM. If end users have support for it in @@ -1870,7 +1878,7 @@ subscription type (or globally). iqdisc

    This specifies the processing discipline for Blocking Communication (jabber:iq:privacy) IQ queries (see section 3.3.2).
    -

    3.3.12  mod_private

    +

    3.3.12  mod_private

    This module adds support for Private XML Storage (XEP-0049):

    @@ -1883,7 +1891,7 @@ of client-specific preferences; another is Bookmark Storage ( This specifies the processing discipline for Private XML Storage (jabber:iq:private) IQ queries (see section 3.3.2). -

    3.3.13  mod_proxy65

    +

    3.3.13  mod_proxy65

    This module implements SOCKS5 Bytestreams (XEP-0065). It allows ejabberd to act as a file transfer proxy between two @@ -1939,7 +1947,7 @@ The simpliest configuration of the module: ... ]}. -

    3.3.14  mod_pubsub

    +

    3.3.14  mod_pubsub

    This module offers a Publish-Subscribe Service (XEP-0060). Publish-Subscribe can be used to develop (examples are taken from the XEP): @@ -1982,7 +1990,7 @@ ACL and ACCESS. The default value is pubsub_createnode.

    Ex ... ]}. -

    3.3.15  mod_register

    +

    3.3.15  mod_register

    This module adds support for In-Band Registration (XEP-0077). This protocol enables end users to use a Jabber client to: @@ -2029,14 +2037,14 @@ example all In-Band Registration functionality is disabled: ... ]}. -

    3.3.16  mod_roster

    +

    3.3.16  mod_roster

    This module implements roster management as defined in RFC 3921: XMPP IM.

    Options:

    iqdisc
    This specifies the processing discipline for Roster Management (jabber:iq:roster) IQ queries (see section 3.3.2).
    -

    3.3.17  mod_service_log

    +

    3.3.17  mod_service_log

    This module adds support for logging end user packets via a Jabber message auditing service such as @@ -2067,7 +2075,7 @@ To log all end user packets to the Bandersnatch service running on ... ]}. -

    3.3.18  mod_shared_roster

    +

    3.3.18  mod_shared_roster

    This module enables you to create shared roster groups. This means that you can create groups of people that can see members from (other) groups in their @@ -2137,7 +2145,7 @@ roster groups as shown in the following table:


    -

    3.3.19  mod_stats

    +

    3.3.19  mod_stats

    This module adds support for Statistics Gathering (XEP-0039). This protocol allows you to retrieve next statistics from your ejabberd deployment: @@ -2170,7 +2178,7 @@ by sending: </query> </iq> -

    3.3.20  mod_time

    +

    3.3.20  mod_time

    This module features support for Entity Time (XEP-0090). By using this XEP, you are able to discover the time at another entity's location.

    Options: @@ -2178,7 +2186,7 @@ you are able to discover the time at another entity's location.

    Options: iqdisc

    This specifies the processing discipline for Entity Time (jabber:iq:time) IQ queries (see section 3.3.2).
    -

    3.3.21  mod_vcard

    +

    3.3.21  mod_vcard

    This module allows end users to store and retrieve their vCard, and to retrieve other users vCards, as defined in vcard-temp (XEP-0054). The module also @@ -2233,7 +2241,7 @@ and that all virtual hosts will be searched instead of only the current one: ... ]}. -

    3.3.22  mod_vcard_ldap

    +

    3.3.22  mod_vcard_ldap

    ejabberd can map LDAP attributes to vCard fields. This behaviour is implemented in the mod_vcard_ldap module. This module does not depend on the @@ -2405,7 +2413,7 @@ searching his info in LDAP.

  • ldap_vcard_map
  • -

    3.3.23  mod_version

    +

    3.3.23  mod_version

    This module implements Software Version (XEP-0092). Consequently, it answers ejabberd's version when queried.

    Options: @@ -2415,10 +2423,10 @@ The default value is true.

    iqdisc
    This specifies the processing discipline for Software Version (jabber:iq:version) IQ queries (see section 3.3.2).
    -

    Chapter 4  Managing an ejabberd server

    -

    4.1  Online Configuration and Monitoring

    +

    Chapter 4  Managing an ejabberd server

    +

    4.1  Online Configuration and Monitoring

    -

    4.1.1  Web Interface

    +

    4.1.1  Web Interface

    To perform online configuration of ejabberd you need to enable the ejabberd_http listener with the option web_admin (see @@ -2480,7 +2488,7 @@ web browser to https://192.168.1.1:5280/admin/: ] }. -

    4.1.2  ejabberdctl

    +

    4.1.2  ejabberdctl

    It is possible to do some administration operations using the command line tool ejabberdctl. You can list all available options by @@ -2520,8 +2528,8 @@ exist tutorials to migra in offline storage. This might be useful when the number of offline messages is very high. -

    Chapter 5  Securing ejabberd

    -

    5.1  Firewall Settings

    +

    Chapter 5  Securing ejabberd

    +

    5.1  Firewall Settings

    You need to take the following TCP ports in mind when configuring your firewall:


    @@ -2531,11 +2539,11 @@ is very high. 5269s2s connections. 4369Only for clustering (see 7). port rangeOnly for clustring (see 7). This range -is configurable (see 2.2.4). +is configurable (see 2.4.4).

    -

    Chapter 6  Integrating ejabberd with other Instant Messaging servers

    -

    6.1  SRV Records

    +

    Chapter 6  Integrating ejabberd with other Instant Messaging servers

    +

    6.1  SRV Records

    -

    Chapter 7  Clustering

    +

    Chapter 7  Clustering

    -

    7.1  How it Works

    +

    7.1  How it Works

    A Jabber domain is served by one or more ejabberd nodes. These nodes can be run on different machines that are connected via a network. They all @@ -2561,33 +2569,33 @@ router,

  • session manager,
  • s2s manager.
  • -

    7.1.1  Router

    +

    7.1.1  Router

    This module is the main router of Jabber packets on each node. It routes them based on their destination's domains. It uses a global routing table. The domain of the packet's destination is searched in the routing table, and if it is found, the packet is routed to the appropriate process. If not, it is sent to the s2s manager.

    -

    7.1.2  Local Router

    +

    7.1.2  Local Router

    This module routes packets which have a destination domain equal to one of this server's host names. If the destination JID has a non-empty user part, it is routed to the session manager, otherwise it is processed depending on its content.

    -

    7.1.3  Session Manager

    +

    7.1.3  Session Manager

    This module routes packets to local users. It looks up to which user resource a packet must be sent via a presence table. Then the packet is either routed to the appropriate c2s process, or stored in offline storage, or bounced back.

    -

    7.1.4  s2s Manager

    +

    7.1.4  s2s Manager

    This module routes packets to other Jabber servers. First, it checks if an opened s2s connection from the domain of the packet's source to the domain of the packet's destination exists. If that is the case, the s2s manager routes the packet to the process serving this connection, otherwise a new connection is opened.

    -

    7.2  Clustering Setup

    +

    7.2  Clustering Setup

    Suppose you already configured ejabberd on one machine named (first), and you need to setup another one to make an ejabberd cluster. Then do @@ -2622,11 +2630,11 @@ and `access' options — they will be taken from enabled only on one machine in the cluster).

    You can repeat these steps for other machines supposed to serve this domain.

    -

    7.3  Service Load-Balancing

    -

    7.3.1  Components Load-Balancing

    +

    7.3  Service Load-Balancing

    +

    7.3.1  Components Load-Balancing

    -

    7.3.2  Domain Load-Balancing Algorithm

    +

    7.3.2  Domain Load-Balancing Algorithm

    ejabberd includes an algorithm to load balance the components that are plugged on an ejabberd cluster. It means that you can plug one or several instances of the same component on each ejabberd cluster and that the traffic will be automatically distributed.

    The default distribution algorithm try to deliver to a local instance of a component. If several local instances are available, one instance is choosen randomly. If no instance is available locally, one instance is choosen randomly among the remote component instances.

    If you need a different behaviour, you can change the load balancing behaviour with the option domain_balancing. The syntax of the option is the following:

     {domain_balancing, "component.example.com", <balancing_criterium>}.                                   
     

    Several balancing criteria are available: @@ -2636,21 +2644,21 @@ domain.

  • bare_destination: the bare JID (without resource) of the packet to attribute is used.
  • bare_source: the bare JID (without resource) of the packet from attribute is used.
  • If the value corresponding to the criterium is the same, the same component instance in the cluster will be used.

    -

    7.3.3  Load-Balancing Buckets

    +

    7.3.3  Load-Balancing Buckets

    When there is a risk of failure for a given component, domain balancing can cause service trouble. If one component is failling the service will not work correctly unless the sessions are rebalanced.

    In this case, it is best to limit the problem to the sessions handled by the failling component. This is what the domain_balancing_component_number option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances.

    The syntax is the following:

        {domain_balancing_component_number, "component.example.com", N}
     
    -

    Chapter 8  Debugging

    +

    Chapter 8  Debugging

    -

    8.1  Watchdog alerts

    +

    8.1  Watchdog alerts

    ejabberd includes a watchdog mechanism to notify admins in realtime through XMPP when any process consumes too much memory.

    To enable the watchdog, add the watchdog_admins option in the config file:

    {watchdog_admins, [``admin@localhost'']}.
     
    -

    Appendix A  Internationalization and Localization

    +

    Appendix A  Internationalization and Localization

    All built-in modules support the xml:lang attribute inside IQ queries. Figure A.1, for example, shows the reply to the following query: @@ -2679,10 +2687,10 @@ figure A.2 with figure 


    -

    Appendix B  Release Notes

    +

    Appendix B  Release Notes

    -

    B.1  ejabberd 0.9

           Release notes
    +

    B.1  ejabberd 0.9

           Release notes
             ejabberd 0.9
     
         This document describes the major new features of and changes to
    @@ -2771,7 +2779,7 @@ Bugfixes
         Please refer to the Changelog file supplied with this release for
         details of all improvements in the ejabberd code.
     
    -

    B.2  ejabberd 0.9.1

           Release notes
    +

    B.2  ejabberd 0.9.1

           Release notes
            ejabberd 0.9.1
     
        This document describes the main changes from [25]ejabberd 0.9.
    @@ -2834,7 +2842,7 @@ Bugfixes
        refer to the Changelog file supplied with this release for details of all
        improvements in the ejabberd code.
     
    -

    B.3  ejabberd 0.9.8

           Release notes
    +

    B.3  ejabberd 0.9.8

           Release notes
            ejabberd 0.9.8
              2005-08-01
     
    @@ -2934,7 +2942,7 @@ References
     END
     
     
    -

    B.4  ejabberd 1.0.0

           Release Notes
    +

    B.4  ejabberd 1.0.0

           Release Notes
            ejabberd 1.0.0
            14 December 2005
     
    @@ -3055,7 +3063,7 @@ References
     END
     
     
    -

    B.5  ejabberd 1.1.0

        Release Notes
    +

    B.5  ejabberd 1.1.0

        Release Notes
         ejabberd 1.1.0
         24 April 2006
     
    @@ -3171,7 +3179,7 @@ References
     
     END
     
    -

    B.6  ejabberd 1.1.1

        Release Notes
    +

    B.6  ejabberd 1.1.1

        Release Notes
         ejabberd 1.1.1 
         28 April 2006
     
    @@ -3291,7 +3299,7 @@ References
     
     END
     
    -

    B.7  ejabberd 1.1.2

        Release Notes
    +

    B.7  ejabberd 1.1.2

        Release Notes
         ejabberd 1.1.2
              27 September 2006
     
    @@ -3411,7 +3419,7 @@ References
     
     END
     
    -

    Appendix C  Acknowledgements

    +

    Appendix C  Acknowledgements

    Thanks to all people who contributed to this guide:

    -

    Appendix D  Copyright Information

    +

    Appendix D  Copyright Information

    Ejabberd Installation and Operation Guide.
    Copyright © January 23, 2003 — Alexey Shchepin

    This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff --git a/doc/guide.tex b/doc/guide.tex index 685389eda..84b042e01 100644 --- a/doc/guide.tex +++ b/doc/guide.tex @@ -102,16 +102,16 @@ the processing discipline for #1 IQ queries (see section~\ref{modiqdiscoption}). \setlength{\larg}{14.5cm} \title{ {\rule{\larg}{1mm}}\vspace{7mm} -\begin{tabular}{p{4cm} r} - & {\huge {\bf ejabberd \version\ }} \\ - & \\ - & {\huge Installation and Operation Guide} +\begin{tabular}{r} + {\huge {\bf ejabberd \version\ }} \\ + \\ + {\huge Installation and Operation Guide} \end{tabular}\\ \vspace{2mm} {\rule{\larg}{1mm}} \vspace{2mm} \\ -\begin{tabular}{p{11cm} r} - & {\large \bf \today} +\begin{tabular}{r} + {\large \bf \today} \end{tabular}\\ \vspace{5.5cm} } @@ -174,13 +174,30 @@ ejabberd Development Team \section{Installing ejabberd with Graphical Installer} The easiest approach to install an ejabberd Instant Messaging server -is to use the graphical installer. The installer is available from -Process-one -website\footahref{http://www.process-one.net/en/ejabberd/downloads/}. +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}. The installer will deploy and configure a full featured ejabberd server and does not require any extra dependancies. +\section{Installing ejabberd with Operating System specific packages} + +Some Operating Systems provide a specific ejabberd package adapted to +your system architecture and libraries, which also checks dependencies +and performs basic configuration tasks like creating the initial +administrator account. Some examples are Debian and Gentoo. Consult the +resources provided by your Operating System for more information. + +\section{Installing ejabberd with CEAN} + +\footahref{http://cean.process-one.net/}{CEAN} +(Comprehensive Erlang Archive Network) is a repository that hosts binary +packages from many Erlang programs, including ejabberd and all its dependencies. +The binaries are available for many different system architectures, so this is an +alternative to the binary installer and Operating System's ejabberd packages. + + \section{Installation from Source} \label{installsource} \ind{installation}