README for Jabber Open Source Server (2.0b1)

Thanks for downloading a jabberd 2.0 beta. Below are some basic
instructions to get you started. Remember, this is beta code, so there
may still be stability issues, memory leaks, and other warts. Don't run
this in a production environment unless you know what you're doing!


Build requirements:
 - OpenSSL (0.9.6b or higher)
     http://www.openssl.org/news/

Optional packages:
 - Berkeley DB (4.1.24 or higher)
     http://www.sleepycat.com/download/
 - OpenLDAP (2.1.0 or higher)
     http://www.openldap.org/software/download/
 - PostgrsSQL (development libraries and headers)
     http://www.postgresql.org/
 - MySQL (development libraries and headers)
     http://www.mysql.com/
 - PAM
     http://www.linux-pam.org/  (for Linux)


Build:
  % cd jabberd2
  % ./configure
  % make
  % make install

Options to ./configure:

  --prefix=/path/to/install
      Where to install everything

  --enable-authreg=MODULE MODULE ...
      c2s authentication/registration modules to build, one or more of:
        anon
        db      (requires Berkeley DB)
        pipe
        ldap    (requires OpenLDAP)
        mysql   (requires MySQL)
        pam     (requires PAM)
        pgsql   (requires PostgreSQL)
      Defaults to "anon pipe mysql".

  --enable-storage=DRIVER DRIVER ...
      SM storage drivers to build, one or more of:
        db      (requires Berkeley DB)
        fs      (NOT RECOMMENDED)
        mysql   (requires MySQL)
        pgsql   (requires PostgreSQL)
      Defaults to "mysql".
      
  --enable-mio=BACKEND
      Specify MIO backend to use (poll or select)
      Defaults to "poll".

  --enable-jabber-parts=COMPONENT COMPONENT ...
      Server components to build, one or more of:
        c2s         client to server connector
        resolver    DNS resolver
        router      XML router
        s2s         server to server connector
        sm          session manager
      Defaults to "c2s resolver router s2s sm".

  --enable-debug
      Output debugging info when run with -D

  --enable-developer
      Compile with full warnings and debugging symbols

  --with-openssl=PATH
      Alternate path to OpenSSL headers and libs

  --with-berkeley-db=PATH
      Alternate path to Berkeley DB headers and libs

  --with-openldap=PATH
      Alternate path to OpenLDAP headers and libs

  --with-mysql=PATH
      Alternate path to MySQL headers and libs

  --with-pgsql=PATH
      Alternate path to PostgreSQL headers and libs


Configure:
  Edit $prefix/etc/(router|sm|c2s|resolver|s2s).xml to taste. In
  particular, make sure you setup for your choice of data storage
  correctly. If you're using the Berkeley DB backend, you'll need to
  create /var/run/jabberd and sets its permissions so that the server
  processes can find it.
  
  If you're using a SQL backend, you'll need to create an account for
  the server to use, and create the tables. Load db-setup.mysql or
  db-setup.pgsql from the tools/ directory into your database to do
  this.

  If you plan to use the jabberd wrapper script, make sure you look at
  the paths in the $prefix/etc/jabber/jabberd.cfg.


Run:
  
  [FIXME: add verbage about setting up the default account for components]

  You can either run all of the pieces separately:

    % $prefix/bin/router &
    % $prefix/bin/resolver &
    % $prefix/bin/s2s &
    % $prefix/bin/sm &
    % $prefix/bin/c2s &

  Or you can run them all from the jabberd wrapper script:

    % $prefix/jabberd &

All the processes can take the following switches:

    -c use an alternate config file
    -D output lots of debugging info (if compiled with --enable-debug)


Support:

Documentation: http://www.jabberdoc.org/

    Bugs to: http://www.jabberstudio.org/projects/jabberd2/bugs/
Requests to: http://www.jabberstudio.org/projects/jabberd2/features/

Everything else: jabberd@jabberstudio.org
 (Subscribe at http://jabberd.jabberstudio.org/cgi-bin/mailman/listinfo/jabberd
  Archives at http://jabberd.jabberstudio.org/pipermail/jabberd/ )


Copyright & License:
  
 jabberd - Jabber Open Source Server
 Copyright (c) 2002-2003 Jeremie Miller, Thomas Muldowney,
                         Ryan Eatmon, Robert Norris.

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA


 The idn/ directory contains portions of the GNU Libidn package (0.2.1).
 Copyright (c) 2002, 2003 Simon Josefsson.

 The expat/ directory contains the Expat package (1.95.6).
 Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
                                and Clark Cooper
 
 The M4 macros in the ac-helpers/ directory were based on berkeley-db.m4
 taken from the 'subversion' project.
   Originally copyright (c) 2002-2003 CollabNet.

 snprintf.c and base64.c in the util/ directory were originally taken
 from the Apache web server project.
   Originally copyright (c) 1995-2003 Apache Software Foundation.
 
 md5.c in the util/ directory was taken from Ghostscript.
   Originally copyright (c) 1999-2002 Aladdin Enterprises.
