1. Introduction
1.1. Purpose and Scope
1.2. Required Background
1.3. How to Use This Document
1.4. Conventions Used in this Document
1.5. Further Reading
1.6. Legalese
1.7. Sources
2. Preparation for Jabberd 2
2.1. Gather Required Information
2.2. Create Jabber User and Group
2.3. Create Directories for PID's and Logs
2.4. Install Prerequisites
3. Installing Jabberd 2
3.1. Download Jabberd 2
3.2. Extract Jabberd Installation Files
3.3. Configure the Jabberd Build
3.4. Build Jabberd
3.5. Install Jabberd
3.6. Default File Locations
3.7. Set Ownership of Configuration Files
4. Basic Configuration
4.1. Set Host Name in sm.xml and c2s.xml
4.2. Provision and Configure for Storage and Authentication Package(s)
4.3. Provision and Configure for Berkeley DB
4.4. Provision and Configure for MySQL
4.5. Provision and Configure for PostgreSQL
4.6. Provision and Configure for PAM
4.7. Provision and Configure for OpenLDAP
4.8. Test Server
5. Common Configuration Tasks
5.1. Configuring Firewall for Internet Access
5.2. Configuring Jabberd 2 for SSL Connections
5.3. Changing Router Password
5.4. Creating an Administrative User
5.5. Disabling Public Registration
5.6. Enabling User Password Change
5.7. Setting DNS SRV Records
5.8. Using Jabberd 1.4 to Connect to Legacy Services
5.9. Using JCR to Jabberd 2 Components
5.10. Setting up a JUD Using Users-Agent
5.11. Integrating Users-Agent with vCard Data (private servers only)
6. Common Administrative Tasks
6.1. Starting and Stopping Jabberd 2
6.2. Converting from Jabberd 1.4
6.3. Adding Users
6.4. Removing Users
6.5. Sending MOTD's and Messages to All Online Users
7. Router.xml Configuration
7.1. ID, PID and Logging
7.2. Network
7.3. Input/Output Control
7.4. Aliases
7.5. Feature Access Controls
8. Router-users.xml Configuration
9. Sm.xml Configuration
9.1. Jabberd Identification
9.2. Communication with the Router
9.3. Logging
9.4. Database Connection and Configuration
9.5. Access Control for Administrative Functions
9.6. Modules that Are Called during Sessions
9.7. Static Discovery Settings for Legacy Components
9.8. User Options
10. Resolver.xml Configuration
10.1. PID File
10.2. Communication with the Router
10.3. Logging
11. S2s.xml Configuration
11.1. PID File
11.2. Communication with the Router
11.3. Logging
11.4. Network Configuration
11.5. S2S Connection Checking
12. C2s.xml Configuration
12.1. PID File
12.2. Communication with the Router
12.3. Logging
12.4. Network Configuration
12.5. Input/Output Contro
12.6. Client Authentication and Registration
13. Jabberd 2 Architecture (Draft)
13.1. Jabber Network Architecture
13.2. Jabberd 2 Component Architecture
13.3. Jabberd 2 Module Decomposition
13.4. Jabberd 2 Data Handling
13.5. Jabberd 2 Data Structure (for MySQL)
A.1. Quick Start Guide
A.2. Installing OpenSSL for Jabberd 2
A.3. Installing Berkeley DB for Jabberd 2
A.4. Installing MySQL for Jabberd 2
A.5. Installing Libidn for Jabberd 2
A.6. Generating A Self-Signed SSL Key
A.7. Jabberd for Corporate Use
A.8. Automatic Startup and Shutdown Using an RC Script
A.9. Automatic Startup and Shutdown Using Daemontools
A.10. Using Jabber for Linux System Monitoring
A.10.1. Using the jabber_alert.pl Script
A.10.2. Using the job_mon.sh Script to Monitor Jobs
A.10.3. Using the sys_mon.sh Script to Monitor System Resources
A.10.4. Using the sys_debug.sh script for System Debugging
A.10.5. Using the email_alert.sh Script to Receive Time Sensitive Email
A.10.6. Using Jabber with Mon and Nagios
A.11. Primer on Transports and Jabberd 2
A.12. Troubleshooting Tips for Jabberd 2
A.13. Jabberd 2 FAQ
This document comprises the installation and administrative guide for the Jabberd 2 Server (Jabberd), the latest release of the popular open source messaging system based on the Jabber Protocol. The goal of Jabber is to provide an XML protocol for synchronous and asynchronous communication for client to client, client to server, and server to server messaging, although the primary use for Jabber is instant messaging (IM).
The Jabberd server is the original open-source server implementation of the Jabber protocol, and it remains the most popular software for deploying Jabber either inside a company or as a public IM service. Jeremie Miller initiated the Jabber Project in 1998 as a free and open alternative to proprietary IM services. The Jabberd server continues to be the core of the Jabber Project, and Jabberd 2 is the successor to the widely used Jabberd 1.4 server. Jabberd 2 is based on a completely new code base with a new architecture, additional features and improved adherence to the Jabber protocol.
The creation of a common messaging protocol, now known as XMPP (Extensible Messaging and Presence Protocol), has allowed for the creation of numerous Jabber server implementations in addition to the Jabberd server. Among these are several open source projects, including WP Jabber and ejabberd, as well as several commercial offerings from companies such as i3connect, Jabcast, Tipic and Jabber, Inc.
The authors of this document intend to provide a complete guide for jabberd 2 installation, administration and development:
The intended audience are people who wish to install and/or maintain a jabberd 2 server on Unix, or one of its variants. As such, this document covers jabberd installation on Unix operating systems only.
The authors have made every attempt to make this a step-by-step guide; however, some familiarity with a Unix or Linux operating system is assumed:
It is assumed that the reader has a basic familiarity with using a Jabber client. Additionally, it is assumed that the reader is familiar with hardware and software, such as a firewall, router or modem, that the jabber server will use to connect to the Internet if any such hardware is used. Configuration of these secondary programs and devices is beyond the scope of this guide.
This guide is organized into sections grouped according to intended use by the user:
The Quickstart Guide is designed to get experienced users up and running quickly. Detailed Jabberd 2 installation instructions that begin in Section 2, Preparing to Install Jabberd 2. Sections 5 and 6 list common Configuration and Administration tasks, respectively, while the remaining sections provide detailed configuration information.
This document is provided primarily as an installation guide, and as such, special conventions are used to make installation easier for the user. The conventions below appear throughout the installation sections of this guide:
Convention |
Name |
Description |
|---|---|---|
P |
Parameter |
Information about your specific setup that you will enter into a configuration file, etc. |
C |
Checkpoint |
A point at which to stop and check your setup. |
N |
Note |
An informational note. |
I |
Important |
An important note or warning. |
F |
Required Files |
Software or specific files needed to complete a step or series of steps. |
O |
Optional Step |
A step that is not required for the most basic installation. |
E |
External System |
A step that may require configuration on an external system, such as a router. |
The most useful of these conventions are "Parameters." Section 2 begins with a list of information about your setup (Parameters) that you will need during the installation steps. You can gather all this information before you start installing Jabberd, and then you can refer back to your list for every step that displays a P.
The installation guide is organized into numbered steps and sub-steps, etc. Users are encouraged to use the guide as a check list. When all of the sub-steps of a step are completed, then the parent step itself is also completed. Note that all children (sub-steps) of an "Optional Step" are optional also. Note that the "Optional Step" designation provides information about the conditions and/or requirements under which the optional step should be performed.
Steps labeled with "External System" provide the user with information about set up that may need to be performed on a system external to jabberd. These systems include routers, firewalls, DNS servers, etc. "External System" notes are intended to be informational rather than comprehensive. The remaining conventions are self-explanatory.
Note that each command listed in this guide refers to a command entered at a command prompt or at a command prompt shell, such as X-term or E-term. Note also that in this document, the term "Jabberd" refers to the Jabberd 2 server, except where noted. The term "Jabber" refers to Jabber-based system or systems, and "XMPP" refers to the protocol over which Jabber systems run.
This document was created using Structured Text. Structured Text uses standard text formatting conventions, such as underscores, to represent formatted text. Efforts have been made to keep the text and HTML representations close. One exception is the use of a bang character ("!") in the text version to escape unwanted formatting in the HTML version. "Bangs" appear at the beginning of some lines in the text version, and these can be ignored. They do not appear in the HTML version.
Visit the Jabber Software Foundation for the latest news about jabberd 2, jabber clients, and the Jabber Protocol. The Jabber Faq answers basic questions about Jabber. Readers are encouraged to visit the Jadmin Archive for questions about jabber administration, or subscribe to the Jadmin Mailing List for the most up to date jabberd administration information. Jabberd 2 development information can be found in the Jabberd Archive or by subscribing to the Jabberd List.
There are also several good books about Jabber. Note that books below detail jabberd 1.4 only as of this writing in 2003:
The Jabber Installation and Administration Guide is copyright (c) 2003 by Will Kamishlian and Robert Norris.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Robert Norris, who is the primary Jabberd 2 developer, and the posters on the Jabberd List provided technical information for this document.
This section will prepare you and your system to install Jabberd 2:
The table in Section 2.1. lists information required for Jabberd 2 installation. Collecting this information at this point is optional; however, completing this table now will make installation easier.
The table below lists information that will be required during the installation process. Information is provided for each parameter below:
"Parameter" is the name of the piece of information. Throughout this guide, specific parameters are referenced with the P convention. "Required is either "Y" (yes), "N" (no), or Option Name. Option Name refers to the option for which the parameter is necessary. Some entries have suggested entries for "Your Information." These entries represent either limited choices or default values. Where default values are given, they are used in the examples in this guide.
For a minimal installation, complete all the required parameters. For more information about the conditions under which an optional parameter is required, see the referenced section. "Description" is a short description. Again, see the referenced section for more detailed information.
Table 2.1. Required Information for Jabberd 2 Installation
Parameter |
Required |
Section(s) |
Description |
Your Information |
|---|---|---|---|---|
Jabberd User and Group |
Y |
2.2 |
The Linux (or other OS) user and group that will be used to run Jabberd |
user: jabber group: jabber |
PID Directory |
Y |
2.3 |
Directory in which Jabberd stores PID Files |
/usr/local/var/jabberd/pid |
Log Directory |
N |
2.3 |
Directory for Jabberd logs. If not specified in configuration files, logging defaults to syslog. |
/usr/local/var/jabberd/log |
Authentication Package |
Y |
2.4.3 3.3, |
Third party package to be used for Jabberd authentication management |
MySQL, PostgreSQL, Berkeley DB, OpenLDAP or PAM |
Data Storage Package |
Y |
2.4.4 4.3 |
Third party package to be used for storage of Jabberd data |
MySQL, PostgreSQL or Berkeley DB |
Data Directory |
Berkeley DB |
4.1.1, 4.2.1, |
Directory for Berkeley DB data files |
/usr/local/var/jabberd/db |
MySQL User and Password |
MySQL |
3.5.2.2, 4.1.2, 4.2.2, |
MySQL user and password that Jabberd uses to connect to MySQL |
user: jabberd2 password: secret |
PostgreSQL User and Password |
PostgreSQL |
3.5.3.1, 1 3, 4.2.3, |
PostgreSQL user and password that Jabberd uses to connect to PostgreSQL |
user: jabberd2 password: secret |
OpenLDAP Connection Settings |
OpenLDAP |
2 5 |
Connection settings for your OpenLDAP server: FQDN for LDAP server (or IP), port, and LDAP version used (either v2 or v3) |
' |
OpenLDAP User and Password |
OpenLDAP |
4.2.5 |
User and password needed to connect to your OpenLDAP server. Required only if your OpenLDAP server does not permit anonymous binding (access) |
' |
OpenLDAP Query Settings |
OpenLDAP |
4.2.5 |
Base DN (distinguished name) and User ID attribute used to build queries for the OpenLDAP server. Base DN can be either the server root DN or an RDN (relative distinguished name) under which User ID's are found. |
' |
Hostname |
Y |
4.4 |
Hostname on which your Jabberd server is to be
installed. For Internet accessible servers,
this would be something like |
' |
SSL Key Location |
N |
5.3.1, 5.3.2 |
Location of OpenSSL pemfile. Required for SSL-encrypted communication |
/usr/local/etc/jabberd/server.pem |
Router User and Password |
N |
5.4 |
User and password used for component connections with the Jabberd Router component |
user: jabberd2 password: secret |
You should create a jabber user and group to run the server:
su
groupadd jabber
useradd -g jabber jabber
You should create a directory for Jabberd to store its PID and log files, and ownership of these directories should be set to the user created above.
su
mkdir -p /usr/local/var/jabberd/pid/
chown -R jabber:jabber /usr/local/var/jabberd/pid/
The above directory is the default location for Jabberd PID files.
You may also choose to create a directory for Jabberd logs.
mkdir -p /usr/local/var/jabberd/log/
chown -R jabber:jabber /usr/local/var/jabberd/log
syslog by default. In order to force Jabberd to write its logs to the directory above, the component XML files must be edited to specifiy the directory created above.Jabberd 2 has four prerequisites:
Technically, Jabberd 2 can be installed without OpenSSL or Libidn; however, it is strongly recommended that these packages be installed prior to installing Jabberd. Jabberd 2 also requires data packages for application and authentication; however, a single package, such as MySQL, can be used to satisfy requirements for both data storage and authentication.
OpenSSL provides encrypted client to server and server to server communication for Jabber. The XMPP Protocol requires that Jabber servers support TLS (Transport Security Layer). TLS is the successor to SSL.
See the OpenSSL site for more information. OpenSSL downloads can be found on the OpenSSL Source page. Instructions for installing OpenSSL for Jabberd 2 are included in the appendix to this guide. See Installing OpenSSL for Jabberd 2.
Libidn provides necessary string manipulation functionality for Jabberd 2. Prior to Jabberd 2 stable 3, libidn was included with the Jabberd 2 distribution; however, a licensing conflict makes it necessary that libidn be installed separately.
See the Libidn site for more information. Libidn downloads can be found on the Libidn Source page. Instructions for installing libidn are included in the appendix to this guide. See Installing Libidn for Jabberd 2.
Jabberd 2 has better database integration than was previously supported, and Jabberd 2 can use one of three free databases to provide data storage:
MySQL is the recommended and default data store. A file may be used for storing Jabberd 2 data; however, this is not recommended.
If you have one of these databases installed, you may configure it to work with Jabberd. Otherwise, you should choose one of these databases and install it prior to continuing with Jabberd installation. MySQL is the recommended database; however, Berkeley DB requires the least installation and administration effort. Thus, Berkeley DB may be ideal for an installation with a relatively small number of users.
Appendices to this document contain instructions for installing either MySQL or Berkeley DB for Jabberd 2. See Installing Berkeley DB for Jabberd 2 or Installing MySQL for Jabberd 2.
Jabberd 2 can use one of five free third-party authentication data packages to handle user authentication:
Note that the three supported application data packages can also be used to manage authentication information. Therefore, installing one of MySQL, Berkeley DB or PostgreSQL satisfies both Jabberd data package requirements. A file may be used to store authentication data; however, this is not recommended. The recommended and default package is MySQL.
If you have one of the above five authentication data packages installed, you may configure it for use with Jabberd 2. If not, you should install one or more of the above five packages.
Appendices to this document contain instructions for installing either MySQL or Berkeley DB for Jabberd 2. See Installing Berkeley DB for Jabberd 2 or Installing MySQL for Jabberd 2.
This section describes how to build and install Jabberd 2.
jabberd-2.0sn.tar.gz from the Jabber Studio, where "n" is the latest stable version of Jabberd 2. Download the file referenced above into a directory in /home for building the installation files. At the time of writing, Jabberd 2 stable release 3 is the latest version and is used in the examples below.
Change to the directory where you downloaded the file above and then extract the Jabberd 2 files by running the command:
tar -zxvf jabberd-2.0s3.tar.gz
|| TODO: Try to rewrite config instructions to make them clearer. Maybe push some of the special configurations to the FAQ ||
Change to the directory created above:
cd jabberd-2.0s3
./configure --help
This will provide a listing and syntax for setting configuration options. For example, you may choose to install Jabberd into a specific directory by using the --prefix=PREFIX option. By providing a PREFIX path, all Jabberd files will be installed under this directory. This may be useful if you are testing a new Jabberd installation. Another useful option is --enable-debug. This option allows Jabberd to provide detailed debugging information; however, it should be used carefully on production systems.
configuration script. The information below pertains to Jabberd 2 stable 3 and above.configure may build Jabberd 2 without them if their libraries and headers are not found when configure us run. --enable- option. Options are --enable-mysql, --enable-pgsql, --enable-db, --enable-pam or --enable-ldap. Although --enable-mysql is the default, it is recommended that this be specified if MySQL is to be used. For example, this command would be used to enable MySQL as the authentication and storage package without debugging support:
./configure --enable-mysql --enable-ssl --enable-idn
The following command would be used to configure Jabberd to use Berkeley DB for both storage and authentication and to enable debugging:
./configure --enable-db --enable-debug --enable-ssl --enable-idn
If your one of the Jabberd prerequisites is installed in a nonstandard location, you will need to specify this location when you run configure. Specify alternate header paths with the --with-extra-include-path option and alternate library paths with the -with-extra-library-path option. Multiple paths, separated by a colon, may be specified. For example, if OpenSSL and MySQL were installed under /usr/local, you might configure with the command:
./configure --enable-pgsql --enable-ssl --enable-idn \
--with extra-include-path=/usr/local/include:/usr/local/include/mysql \
--with-extra-library-path=/usr/local/lib:/usr/local/lib/mysql
./configure --help if in doubt.If you wish to use the default configuration, simply run the configuration command:
./configure
This will configure Jabberd to use MySQL and to install to /usr/local. If you receive errors, you may wish to check the FAQ where you will find several system-specific work arounds.
Build Jabberd by running the command:
make
Switch to the super-user:
su
Run make install:
make install
Your Jabberd 2 installation is complete. Below is a listing of file locations for the default installation:
/usr/local/etc/jabberd Jabberd Configuration Files
/usr/local/bin Jabberd Binaries (jabberd, c2s, resolver, router, s2s, sm)
Jabberd configuration files contain passwords; therefore, you should set ownership and permissions on these files so that they are only readable by your jabber user and writable by root only. Using the location of your configuration files and your jabber user, set ownership of these files:
chown -R root:jabber /usr/local/etc/jabberd/*
Then, set permissions on these files so that others can neither read from- or write to them:
chmod -R 640 /usr/local/etc/jabberd/*
Now, only your jabber user and super-user will be able to read and edit your configuration files.
/etc for the configuration files. This will make it easier to find and edit them:
ln -s /usr/local/etc/jabberd/ /etc/jabberd
Jabberd 2 is now installed. Continue to the next section to being configuring your installation.
2004/07/12 18:33 PST
chown root:jabber /usr/local/etc/jabberd/* doesn't change the owner for the contents of the templates/ directory
Re: chown and chmod --Will, 2004/07/12 19:11 PST
Thanks. I've changed the commands above.
section 3.3 typo: "--with extra-include-path" should be "--with-extra-include-path"
jabberd-2.03sn.tar.gz -> jabberd-2.0sn.tar.gz --2004/07/28 14:27 PST
In sections 3.1 and 3.2 the download file name should be changed from jabberd-2.03sn.tar.gz to jabberd-2.0sn.tar.gz
Fedora Broken Pipe Error --2004/07/29 16:20 PST
I had to use "chmod -R 770 /usr/local/etc/jabberd" on Fedora to prevent a broken pipe error when running jabberd as the jabber user.
Re: Fedora Broken Pipe Error --2004/07/29 16:40 PST
Thanks much for the tip! I've just spent a few evenings setting up a Fedora test environment to figure out Fedora problems with the Quick Start. I'll give your suggestion a go, and then insert a note above.
Re: jabberd-2.03sn.tar.gz -> jabberd-2.0sn.tar.gz --Will, 2004/07/30 14:20 PST
Thanks for catching my typo. It's fixed above.
Help --2004/08/03 21:48 PST
Is it possible to install jabber server in a PHP, Mysql share host? Thanks.
2004/08/03 21:57 PST
You just need the shell access. Also, even if you have shell access, your host might not want you to run it.
This section provides a quick road map for the most basic configuration and testing of your Jabberd 2 installation. Basic setup for Jabberd 2 consists of these three steps:
Jabberd 2 is configured via its six XML files. For default installations, these configuration files can be found in /usr/local/etc/jabberd/, and they are accessible from /etc/jabberd if you created the symlink for this directory. Note that this section is easier to complete if you gather the required information in Section 2 beforehand.
sm.xml and c2s.xml The first step in basic configuration consists of setting the hostname in sm.xml and c2s.xml.
c2s.xml and sm.xml so that the ID provides a network resolvable reference for your server. In c2s.xml this ID is found under the heading labeled Local network configuration (approx. line 63), and in sm.xml this ID is found under Session manager configuration (line 1). Edit sm.xml and c2s.xml so that this ID references your server. In sm.xml :
<!-- Session manager configuration -->
<sm>
<!-- Our ID on the network. Users will have this as the domain part of
their JID. If you want your server to be accessible from other
Jabber servers, this ID must be resolvable by DNS.s
(default: localhost) -->
<id>somemachine.somedomain.com</id>
In c2s.xml :
<!-- Local network configuration -->
<local>
<!-- Who we identify ourselves as. This should correspond to the
ID (host) that the session manager thinks it is. You can
specify more than one to support virtual hosts, as long as you
have additional session manager instances on the network to
handle those hosts. The realm attribute specifies the auth/reg
or SASL authentication realm for the host. If the attribute is
not specified, the realm will be selected by the SASL
mechanism, or will be the same as the ID itself. Be aware that
users are assigned to a realm, not a host, so two hosts in the
same realm will have the same users.
If no realm is specified, it will be set to be the same as the
ID. -->
<id>somemachine.somedomain.com</id>
As the c2s.xml file notes, this is the hostname that will be appended to your user names to create Jabber ID's, and it must be resolvable via DNS for Jabberd to be accessible via the Internet.
somedomain.com) for your Jabberd 2 network ID if your DNS is configured properly to resolve that ID to your server. See Section 5.7. for information about setting up DNS SRV records for Jabberd 2.Getting Jabberd 2 to work with your choice of external storage and authentication packages involves these steps:
sm.xml for your choice of storage packagec2s.xml for your choice of authentication package Most Jabberd 2 installations rely on a single package, such as MySQL, to provide both storage and authentication services. If your installation relies on a single package, you will need to configure this package for Jabberd 2 and then enter similar connection details in both sm.xml and c2s.xml.
Start by jumping to your selection of external storage package:
You will then be guided to continue on to provision (if necessary) and configure your authentication package. Once your external packages are prepared, and Jabberd is configured to use them, you will guided to Server Testing.
Somes Error that can appears for you... --2004/06/30 11:24 PST
::
1 - configure: error: Libidn >= 0.3.0 not found
2 - configure: error: OpenSSL? >= 0.9.6b not found (krb5.h problem)
3 - configure: error: MySQL? client libraries not found
These errors can be resolved running these commands:
export CPPFLAGS="-I/usr/kerberos/include"
export LDFLAGS="-L/usr/local/lib -L/usr/lib/mysql"
Re: Some Error... --Will, 2004/06/30 11:29 PST
Is the above user using Redhat?
Redhat Fedora Core 2 - Libidn >= 0.3.0 not found --2004/06/30 23:27 PST
If you recieve this error install the libidn rpm from rpmfind.net. Then you'll just need to specify the idn switch as follows:
./configure --enable-idn=/usr/bin/idn
The alternate of coarse is to ./configure --disable-idn which will disable the idn functionality.
re: libidn error --2004/07/01 02:58 PST
I got the same Libidn >= 0.3.0 error as above; installing the latest Libidn from source and running ldconfig fixed it.
RE: Somes Error that can appears for you... --2004/07/01 07:16 PST
Yes, I'm using RedHat? 9.0
Remembering that the error of Libidn >= 0.3.0 first have to donwload, compile and install de libidn first and then do the export commands.
Configure line for Red Hat 9 --2004/07/06 13:20 PST
This worked for me on Red Hat 9, libidn-0.5.0-1(in /usr/local), openssl-devel-0.9.7a-2, mysql-devel-3.23.54a-11:
./configure --prefix=/usr/local/jabberd-2.0s3 CFLAGS="-I/usr/kerberos/include" LDFLAGS="-L/usr/local/lib -L/usr/lib/mysql"
configure with mysql for debian --2004/07/07 15:28 PST
if ---> configure: error: MySQL?? client libraries not found
On Debian : install libmysqlclient-dev
somedomain.com -> somehost.somedomain.com --2004/07/28 14:35 PST
In section 4.1, based on the example given, it is not clear to me what the hostname really should be should be set to. Shouldn't the example be:
"somehost.somedomain.com" since that really is what references this specific jabber server, whereas "somedomain.com" does not typically reference a specific host within a domain unless the DNS A record points it to a specific host. Most DNS sends "somedomain.com" to a Web server.
Re: somedomain.com -> somehost.somedomain.com --Will, 2004/07/30 14:08 PST
Thanks for pointing this out. I've added a note above with a reference to the DNS setup section, and I've changed the Quick Start guide also.
Berkeley DB provides the easiest means to getting your Jabberd 2 server up and running quickly. Jabberd 2 requires a minimum version of 4.1.24 or higher.
Complete this section if you are using Berkeley DB for storage and/or authorization. Provisioning your system to use Berkeley DB is quite simple. Berkeley DB only needs a directory in which to store data files, and this directory should be owned by the jabber user and group.
mkdir -p /usr/local/var/jabberd/db
chown -R jabber:jabber /usr/local/var/jabberd
Berkeley DB is now ready to be used with Jabberd.
sm.xml) Complete this section if you are using Berkeley DB for storage. Jabberd 2 requires minimal configuration to use Berkeley DB for backend storage. Simply set the driver to use and specify the location for the database.
In sm.xml under the section labeled Storage database configuration, edit the driver to use db (Berkeley DB):
<!-- Storage database configuration -->
<storage>
<!-- By default, we use the MySQL driver for all storage -->
<driver>db</driver>
sm.xml under the section labeled Berkeley DB driver configuration, set the path (created in section 4.3.1. above) for your database:
<!-- Berkeley DB driver configuration -->
<db>
<!-- Directory to store database files under -->
<path>/usr/local/var/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you
disable this, database accesses may be faster, but data may
be lost if jabberd crashes. -->
<sync/>
</db>
Jabberd 2 is now configured to use Berkeley DB for storage.
If you wish to use an authentication package other than Berkeley DB, jump to your selection of authentication package:
Otherwise, continue on to 4.3.3. directly below to finish your Jabberd 2 configuration.
c2s.xml) Complete this section if you are using Berkeley DB for authentication. Jabberd 2 authentication configuration for Berkeley DB is the same as above, except that the information is contained in c2s.xml.
In c2s.xml under the section labeled Authentication/registration database configuration, edit the module to use db (Berkeley DB):
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>db</module>
c2s.xml under the section labeled Berkeley DB module configuration, set the path (created in section 4.3.1. above) for your database:
<!-- Berkeley DB module configuration -->
<db>
<!-- Directory to store database files under -->
<path>/usr/local/var/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you
disable this, database accesses may be faster, but data may
be lost if jabberd crashes. -->
<sync/>
</db>
Your Jabberd 2 configuration for storage and authentication is now complete. Jump to Test Server to begin testing your server before moving on other configuration tasks, such as configuring SSL, in Section 5.
Aargh, why couldn't it just be built against Berkeley DB 3.x?? Life would be easier as other applications don't require db4, yet.
MySQL is the default Jabberd 2 package for storage and authentication.
Complete this section if you are using MySQL for storage and/or authorization. In order to set up MySQL for Jabberd, you must run the setup script included in the Jabberd 2 distribution. After the script is run, you should create a user and then grant that user access to the database.
First, run the MySQL setup script. This script is located in '[Jabberd Source Files]/tools'. Switch to the tools directory and start the MySQL console (the MySQL server should already be running). Then, run the db-setup.mysql script from the MySQL console:
mysql -u root -p
mysql>\. db-setup.mysql
Now that a database for Jabberd exists in the MySQL data directory, create a MySQL user that Jabberd can use to connect to the MySQL server.
secret with the password you have chosen for your Jabberd MySQL user:
GRANT select,insert,delete,update ON jabberd2.*
to jabberd2@localhost IDENTIFIED by 'secret';
Note that the password secret is the default password used in the Jabberd configuration files for MySQL.
MySQL is now ready to be used with Jabberd.
/tmp/mysql.sock. The default socket when installing MySQL from source is /var/lib/mysql/mysql.sock. You will need to create a symlink to /tmp/mysql.sock if it does not exist:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
If you are unsure as to where your MySQL server socket is, consult your MySQL configuration file (usually located in /etc/my.cnf or /etc/mysql/my.cnf).
sm.xml) Complete this section if you are using MySQL for storage. Most installations using MySQL for storage will require only the setting of the driver, user and password.
In sm.xml under the section labeled Storage database configuration, make sure that the driver is to use mysql. (The driver should be set to mysql by default.):
<!-- Storage database configuration -->
<storage>
<!-- By default, we use the MySQL driver for all storage -->
<driver>mysql</driver>
sm.xml under the section labeled MySQL driver configuration, replace secret with your MySQL password. Change the user if you are not using the default user (jabberd2):
<!-- MySQL driver configuration -->
<mysql>
<!-- Database server host and port -->
<host>localhost</host>
<port>3306</port>
<!-- Database name -->
<dbname>jabberd2</dbname>
<!-- Database username and password -->
<user>jabberd2</user>
<pass>secret</pass>
<!-- Transaction support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
but data may be lost if jabberd crashes.
This will need to be disabled if you are using a MySQL
earlier than v3.23.xx, as transaction support did not appear
until this version. -->
<transactions/>
</mysql>
Note that you should change the host setting only if your MySQL server is running on a different host. You should change the port setting only if your MySQL server is running on a non-standard port (port 3306 is the default for MySQL installations). The transaction support section is self-explanatory.
Jabberd 2 is now configured to use MySQL for storage.
If you wish to use an authentication package other than MySQL, jump to your selection of authentication package:
Otherwise, continue on to 4.4.3. directly below to finish your Jabberd 2 configuration.
c2s.xml) Complete this section if you are using MySQL for authentication. Jabberd 2 authentication configuration for MySQL is the same as above, except that the information is contained in c2s.xml.
c2s.xml under the section labeled Authentication/registration database configuration, make sure that the driver is to use mysql. (The driver should be set to mysql by default.):
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>mysql</module>
c2s.xml under the section labeled MySQL module configuration, replace secret with your MySQL password. Change the user if you are not using the default user (jabberd2):
<!-- MySQL module configuration -->
<mysql>
<!-- Database server host and port -->
<host>localhost</host>
<port>3306</port>
<!-- Database name -->
<dbname>jabberd2</dbname>
<!-- Database username and password -->
<user>jabberd2</user>
<pass>secret</pass>
</mysql>
Note that you should change the host setting only if your MySQL server is running on a different host. You should change the port setting only if your MySQL server is running on a non-standard port (port 3306 is the default for MySQL installations).
Your Jabberd 2 configuration for storage and authentication is now complete. Jump to Test Server to begin testing your server before moving on other configuration tasks, such as configuring SSL, in Section 5.
RH9 (none default mysql install) --2004/07/02 23:56 PST
By default the mysql module will connect by /tmp/mysql.sock (as is default location) however in my case it was located on /var/lib/mysql/mysql.sock
Creating a system link solved the problem with jabberd not starting because of cannot connect by database by /tmp/mysql.sock
I tried looking for a setting but got tired (didnt look more system link fixed it), perhaps this information is useless. But i found it nowhere and its possible this will help others out.
Cheers
Re: RH9 (none default mysql install) --Will, 2004/07/03 10:00 PST
Thanks. I had the same problem, but I thought it might be due to my !Mysql installation. I do have a question, though — when you reboot, does the symlink disappear? I've read that there are issues regarding symlinks to special file types. I can't reboot my server just to test it.
redhat9: db4 not found even when installed --2004/07/30 17:23 PST
The following is needed to build the db under redhat... autoconf complains compiling the tests without this.
export LDFLAGS="-lpthread"
PostgreSQL, like MySQL provides a very manageable backend for storage and authentication. Unlike MySQL, PostgreSQL provides better unicode support.
Complete this section if you are using PostgreSQL for storage and/or authorization. In order to set up PostgreSQL for Jabberd, you must create a database, create a PostgreSQL user and then run the PostgreSQL script included in the Jabberd 2 distribution.
Create the database for Jabberd. (The PostgreSQL server should already be running):
createdb -U postgres jabberd2
The command above will create a database from which you will be able to run the script for setting up the Jabberd PostgreSQL database.
createdb -U postgres -E UNICODE jabberd2
Now that your database is created, create a PostgreSQL user for the database.
createuser -P -U postgres jabberd2
This command will initiate an interactive user creation script. When prompted, enter the password that Jabberd will use to connect to your PostgreSQL database:
Enter password for user "jabberd2":
Enter it again:
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
The CREATE USER statement indicates that the command was successful.
After your jabberd user is created, you are ready to run the the PostgreSQL setup script. This script is located in '[Jabberd Source Files]/tools'. Switch to the tools directory and start the PostgreSQL console as the jabberd2 user:
psql -U jabberd2 jabberd2
Then, run the db-setup.pgsql script from the PostgreSQL console:
jabberd2=>\i db-setup.pgsql
PostgreSQL is now ready to be used with Jabberd 2.
sm.xml) Complete this section if you are using PostgreSQL for storage. Most installations using PostgreSQL for storage will require only the setting of the driver, user and password.
In sm.xml under the section labeled Storage database configuration, edit the driver to use pgsql (PostgreSQL):
<!-- Storage database configuration -->
<storage>
<!-- By default, we use the MySQL driver for all storage -->
<driver>pgsql</driver>
sm.xml under the section labeled PostgreSQL driver configuration, replace secret with your PostgreSQL password. Change the user if you are not using the default user (jabberd2):
<!-- PostgreSQL driver configuration -->
<pgsql>
<!-- Database server host and port -->
<host>localhost</host>
<port>5432</port>
<!-- Database name -->
<dbname>jabberd2</dbname>
<!-- Database username and password -->
<user>jabberd2</user>
<pass>secret</pass>
<!-- Transaction support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
but data may be lost if jabberd crashes. -->
<transactions/>
</pgsql>
Note that you should change the host setting only if your PostgreSQL server is running on a different host. You should change the port setting only if your PostgreSQL server is running on a non-standard port (port 5432 is the default for PostgreSQL installations). The transaction support section is self-explanatory.
Jabberd 2 is now configured to use PostgreSQL for storage.
If you wish to use an authentication package other than PostgreSQL, jump to your selection of authentication package:
Otherwise, continue on to 4.5.3. directly below to finish your Jabberd 2 configuration.
c2s.xml) Complete this section if you are using PostgreSQL for authentication. Jabberd 2 authentication configuration for PostgreSQL is the same as above, except that the information is contained in c2s.xml.
In c2s.xml under the section labeled Authentication/registration database configuration, edit the module to use pgsql (PostgreSQL):
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>pgsql</module>
c2s.xml under the section labeled PostgreSQL module configuration, replace secret with your PostgreSQL password. Change the user if you are not using the default user (jabberd2):
<!-- PostgreSQL module configuration -->
<pgsql>
<!-- Database server host and port -->
<host>localhost</host>
<port>5432</port>
<!-- Database name -->
<dbname>jabberd2</dbname>
<!-- Database username and password -->
<user>jabberd2</user>
<pass>secret</pass>
</pgsql>
Note that you should change the host setting only if your PostgreSQL server is running on a different host. You should change the port setting only if your PostgreSQL server is running on a non-standard port (port 5432 is the default for PostgreSQL installations).
Your Jabberd 2 configuration for storage and authentication is now complete. Jump to Test Server to begin testing your server before moving on other configuration tasks, such as configuring SSL, in Section 5.
typo --2004/08/06 10:06 PST
End of section 4.5.2 "Otherwise, continue.... section 4.3.3 directly below" --should be section 4.5.3
Re: typo --Will, 2004/08/06 12:28 PST
Thanks for catching another typo! It's fixed above, and the same typo is fixed in Section 4.4.
PAM (Pluggable Authentication Modules for Linux) provides built in authentication support for Jabberd 2.
Complete this section if you are using PAM for authorization. Authentication via PAM requires a valid PAM configuration file named jabberd. For many systems, this configuration file should be located under /etc/pam.d. Creation of Jabberd PAM configuration file is beyond the scope of this guide; however, a shortcut may be used to create this configuration file. Copy the system-auth configuration file to jabberd (as root):
cp /etc/pam.d/system-auth /etc/pam.d/jabberd
This will create a PAM configuration file that can be used by Jabberd2.
/etc/shadow file. Thus, Jabberd2 must be run as root, or the jabberd user must be granted read permissions for this file. Running the Jabberd2 server as root is not recommended.jabberd PAM configuration file as below:
auth required pam_winbind.so
password required pam_winbind.so
account required pam_winbind.so
session required pam_winbind.so
PAM is now ready to be used with Jabberd 2. Continue on to begin configuring Jabberd 2 to authenticate against PAM.
c2s.xml) Complete this section if you are using PAM for authentication. Jabberd requires little configuration to use PAM.
In c2s.xml under the section labeled Authentication/registration database configuration, edit the module to use pam:
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>pam</module>
Users cannot create their own accounts when using PAM for authentication. Therefore, public account registration should be disabled, while auto-create should be enabled so that the session manager can create accounts the first time users log on.
In c2s.xml, look for the Registration configuration subsection under the Authentication/registration database configuration section. Commenting the enable tag as below will disable public registration:
<!-- Registration configuration -->
<register>
<!-- Account registration is enabled by default (provided the
auth/reg module in use supports it). Comment this out to
disable. -->
<!-- <enable/> -->
In sm.xml under the section labeled User options (near the bottom of the file), uncomment the auto-create tag as below so that the session manager will create a new Jabberd2 account the first time a user logs on:
<!-- User options -->
<user>
<!-- By default, users must explicitly created before they can start
a session. The creation process is usually triggered by a c2s
component in response to a client registering a new user.
Enableing this option will make it so that a user create will be
triggered the first time a non-existant user attempts to start
a session. This is useful if you already have users in an
external authentication database (eg LDAP) and you don't want
them to have to register. -->
<auto-create/>
Your Jabberd 2 configuration for storage and authentication is now complete (provided that you have provisioned and configured for a storage package). Jump to Test Server to begin testing your server before moving on other configuration tasks, such as configuring SSL, in Section 5.
|| TODO: note that PAM should use SSL/TLS ||
Configure option necessary --2004/07/06 14:59 PST
One has to use the --enable-pam at compile time for this, it is not on by default.
Re: Configure option necessary Will, 2004/07/06 15:33 PST
Section 4 is really designed to describe provisioning of external packages and configuring Jabberd 2 to use them. Section 3 describes how to build and install Jabberd 2. See especially Section 3.3 for a description of the default configuration and configuration options.
OpenLDAP provides authentication support that is distributable across platforms and geography. Jabberd 2 requires a minimum version of OpenLDAP 2.1.0.
Complete this section if you are using OpenLDAP authorization. Your OpenLDAP installation should not require special configuration for Jabberd 2; however, at the time of writing (Jabberd 2 stable release 3), there is an important issue regarding Jabberd connection with OpenLDAP v3 servers. Jabberd 2 currently uses v2 syntax. By default, OpenLDAP v3 servers require v3 syntax.
There is a workaround for this issue. Add the following statement to your slapd.conf file, and restart your slapd daemon:
allow bind_v2
This statement will allow your Jabberd 2 server to connect to your OpenLDAP v3 server.
c2s.xml) Complete this section if you are using OpenLDAP for authentication. OpenLDAP configuration is more detailed because configuration requires host and connection settings in addition to query settings.
In c2s.xml under the section labeled Authentication/registration database configuration, edit the driver to use ldap (OpenLDAP):
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>ldap<module>
LDAP module configuration in c2s.xml deals with the settings required to connect to your OpenLDAP server. The host must either be a hostname resolvable by the server or the IP address of the OpenLDAP server. Port 389 is the default port for OpenLDAP servers, so in most cases, port should be left as is. The v3 tag specifies whether your OpenLDAP server is v3. Uncomment this tag if it is. Leave the v3 tag commented for OpenLDAP v2 servers. Lastly, uncomment either the starttls or ssl tag if your server supports encryption (see notes below):
<!-- LDAP module configuration -->
<ldap>
<!-- LDAP server host and port (default: 389) -->
<host>ldap.example.com</host>
<port>389</port>
<!-- Use LDAP v3 if possible. If disabled, v2 will be used.
Encryption options are only available if v3 is enabled. -->
<!--
<v3/>
-->
<!-- Encryption. If enabled, this will create an encrypted channel
to the LDAP server using the LDAP STARTTLS mechanism. -->
<!--
<starttls/>
-->
<!-- Encryption. If enabled, this will create an encrypted channel
to the server using the old-style "ldaps://" mechanism. It is
recommended that you use <starttls/> instead of this. -->
<!--
<ssl/>
-->
|| TODO: note that PAM should use SSL/TLS ||
v3 and starttls tags. On the other hand, the author has not had success using SSL encryption between Jabberd 2 and OpenLDAP. To set up SSL, you should specify the OpenLDAP SSL hostname (if different from the non-SSL hostname). This is often something like ldaps.example.com. More importantly, you should specify the SSL port. The standard SSL port (LDAPS) for OpenLDAP is 636. Lastly, you should uncomment the ssl tag.binddn is the full RDN (relative distinguished name) for the user. This may be something like cn=admin,ou=people,dc=example,dc=com :
<!-- DN to bind as for searches. If unspecified, the searches
will be done anonymously. -->
<!--
<binddn>cn=Directory Manager</binddn>
<bindpw>secret</bindpw>
-->
uidattr tags. This ID should be the attribute by which your users are uniquely identified under the specified base DN (distinguished name). In other words, when querying against the specified base DN, the specified uidattr should uniquely identify each user. The basedn attribute specifies the base against which queries are run. This can be the topmost DN of the OpenLDAP server, such as dc=example,dc=com or it can be an RDN below which the user entries are found, such as ou=people,ou=sales,dc=example,dc=com. Using a lower level RDN is likely to speed OpenLDAP queries. Lastly, if your configuration requires multiple realms, you can specify a base DN for each by using the realm attribute of the basedn tag. Note that if you are not using multiple realms, you need only to specify a single basedn without the realm attribute:
<!-- LDAP attribute that holds the user ID (default: uid) -->
<uidattr>uid</uidattr>
<!-- base DN of the tree. You should specify a DN for each
authentication realm declared in the <local/> section above,
by using the realm attribute. -->
<basedn realm='company'>o=Company.com</basedn>
<basedn>o=Example Corp.</basedn>
</ldap>
Below is an obfuscated view of the author's working OpenLDAP configuration:
<!-- LDAP module configuration -->
<ldap>
<!-- LDAP server host and port (default: 389) -->
<host>ldap.mydomain.org</host>
<port>389</port>
<!-- Use LDAP v3 if possible. If disabled, v2 will be used.
Encryption options are only available if v3 is enabled. -->
<v3/>
<!-- Encryption. If enabled, this will create an encrypted channel
to the LDAP server using the LDAP STARTTLS mechanism. -->
<starttls/>
<!-- Encryption. If enabled, this will create an encrypted channel
to the server using the old-style "ldaps://" mechanism. It is
recommended that you use <starttls/> instead of this. -->
<!--
<ssl/>
-->
<!-- DN to bind as for searches. If unspecified, the searches
will be done anonymously. -->
<!--
<binddn>cn=admin,dc=mydomain,dc=org</binddn>
<bindpw>snip</bindpw>
-->
<!-- LDAP attribute that holds the user ID (default: uid) -->
<uidattr>uid</uidattr>
<!-- base DN of the tree. You should specify a DN for each
authentication realm declared in the <local/> section above,
by using the realm attribute. -->
<basedn>ou=people,ou=design,dc=mydomain,dc=org</basedn>
</ldap>
Users cannot create their own accounts when using OpenLDAP for authentication. Therefore, public account registration should be disabled, while auto-create should be enabled so that the session manager can create accounts the first time users log on.
In c2s.xml, look for the Registration configuration subsection under the Authentication/registration database configuration section. Commenting the enable tag as below will disable public registration:
<!-- Registration configuration -->
<register>
<!-- Account registration is enabled by default (provided the
auth/reg module in use supports it). Comment this out to
disable. -->
<!-- <enable/> -->
In sm.xml under the section labeled User options (near the bottom of the file), uncomment the auto-create tag as below so that the session manager will create a new Jabberd2 account the first time a user logs on:
<!-- User options -->
<user>
<!-- By default, users must explicitly created before they can start
a session. The creation process is usually triggered by a c2s
component in response to a client registering a new user.
Enableing this option will make it so that a user create will be
triggered the first time a non-existant user attempts to start
a session. This is useful if you already have users in an
external authentication database (eg LDAP) and you don't want
them to have to register. -->
<auto-create/>
Your Jabberd 2 configuration for storage and authentication is now complete (provided that you have provisioned and configured for a storage package). Jump to the next section, Test Server, to begin testing your server before moving on other configuration tasks, such as configuring SSL, in Section 5.
After setting the hostname, provisioning external package(s), and configuring Jabberd to use your external package(s), your server is ready for testing.
su
su jabber
cd /usr/local/bin
./jabberd
jabberd, router, resolver, sm, s2s and c2s). Note that your jabber user (if created according to section 2.) may not have default PATH's; therefore, you should cd to the /usr/local/bin directory and run jabberd as above. Check that your chosen data package servers are running (except Berkeley DB, which does not require starting). Check your syslog for error messages. If your server fails to start, you can start Jabberd 2 with the debug option (note that this requires building Jabberd 2 with the debug option — see Section 3.3):
/usr/local/bin/jabberd -D
sm.xml in Section 4.1, and try to connect to your server.id is set properly and that the machine name is resolvable via DNS.Your Jabberd 2 server is now ready to use. Continue to Common Configuration Tasks detailed configuration options, such as enabling SSL connections.
Which port to test? --2004/07/06 12:38 PST
Am I suppose to connect to port 5347 for jabberd2? Or, should I still be connecting to 5222/5223?
5222 --2004/07/06 16:20 PST
Clients always connect to 5222. 5223 is still around to support older clients but jabberd2 can negotiate both cleartext and SSL connections over port 5222.
2004/07/12 07:01 PST 1.0?> Then the c2s process dies. what means unable to listen? --2004/08/10 10:51 PST I hace this too
everithing was ok, but i saw this problem
ERROR: router died. Shutting down server.
JBRD: Got a signal... pass it on.
JBRD: It was a TERM. Shut it all down!
what does it mean? 2004/08/10 15:03 PST Before delving into detailed Jabberd configuration, this section attempts to provide a guide for the most common Jabberd configuration tasks:
Note that there are two options for connecting Jabberd 1.4 legacy services to your Jabberd 2 installation. Jabberd 2 can connect to services, such as conferencing and gateways, running within a Jabberd 1.4 process. Additionally, a component wrapper called JCR has been released, and this wrapper allows a Jabber 1.4 component (written in C) to be compiled and run as Jabberd 2 service. At the time of writing, JCR has been tested with MU Conferencing only. Although firewall configuration is beyond the scope of this guide, administrators should be aware of the TCP ports that need to be enabled for Internet access:
TCP ports should be enabled as above and according to your configuration if your Jabberd 2 installation is to access the Internet. Jabberd 2 is designed to provide for STARTTLS and SSL connections not only between Jabber clients and the server, but also between the Jabberd server components ( The SSL key for Jabber clients is located in The change above will enable STARTTLS on port 5222. Older Jabber clients use port 5223 for SSL enabled communications. If you wish to support SSL on port 5223, uncomment the Your server is now ready for STARTTLS/SSL connections. You need only restart the C2S component for the SSL change to take effect. Each of the five Jabberd components has its own configuration for encrypted component-to-router communications. Thus, these five configuration files must be edited to provide secure communication among Jabberd components:
Restart your Jabberd server for the change to take effect. || TODO: change infor about disabling non-ssl comms. Add info about requiring TLS || The Jabberd configuration files contain passwords used to connect to the router component because communications between components and the router occur by XML over TCP/IP. These passwords help to ensure that only your installed components can communicate with the router. The configuration file, Additionally, each of the components (except the router) has a user ID and password specified in its configuration file. This is the ID and password combination that the respective component uses to connect with the router. Thus, for a component to be able to connect to the router, the component must have a user and password pair specified in its configuration file, and that pair must match an ID and password pair in To improve security for your Jabberd installation, you should change the password. This involves changing the password in Then, change the password in each of Restart your Jabberd server for the change to take effect. Settings for administrative users are contained in the You will also need to create this user manually or from a Jabber client. When logged in, the administrative user will receive notices for user creation, and the administrative user will also be able to discover all online users, receive help requests, send MOTD's (messages of the day), etc. Note that the user above is granted access to all administrative functions. You can assign specific administrative functions to users by specifying the Restart your Jabberd server for the change to take effect. By default, Jabberd allows public registration for all users, which is to say that any user who can connect to your server can create their own Jabberd user on your server. In order to prevent public registration, edit the Under the Configurations using either PAM or OpenLDAP should disable public registration because Jabberd 2 does not support public registration via PAM or OpenLDAP. User password changing is disabled by default in Jabberd 2. To allow your users to change their own passwords, uncomment the Note that this will have no effect when using PAM or OpenLDAP for authentication because these packages do not permit password changing via Jabberd. Restart your Jabberd server for the change to take effect. Jabberd 2, in addition to other Jabber clients and servers, is able to use DNS SRV records for hostname resolution. DNS SRV records allow for delegation of services — by port — to other hosts. Thus, if you want your Jabber server to run on a host that is not the primary domain host, you would most likely want to set DNS SRV records to delegate Jabber client and server services to another host or hosts. There are 3 SRV records that can be created for a Jabberd installation:
The first and second of these specify the host and the port for server-to-server (s2s) communications. There are two listings for this because the new XMPP protocol, regarding SRV records, is replacing the older Jabber standards. The third listing above specifies host and port for unencrypted client communications (c2s). The following are examples for creating a set of SRV records for the BIND server:
Replace TinyDNS does not have a format for SRV records; however, you can use Rob Mayoff's TinyDNS Record Maker to create TinyDNS SRV records. These TinyDNS SRV records were created for the host of Use TinyDNS Record Maker to create a set of records to be added to the TinyDNS data file. Once the your DNS server is properly updated, you should test the listings using Dig. For example, to test the entry of This should provide you with the data from your DNS SRV record:
This section describes how to use an existing Jabberd 1.4 installation to connect legacy Jabberd 1.4 services, such as gateways and transports, to Jabberd 2. See the next section for using the JCR component to connect to legacy services. See Appendix 11 for a primer on how Jabberd 2 can use a Jabberd 1.4x process to run a transport. A familiarity with Jabberd 1.4. is assumed, as is a working Jabberd 1.4 installation. Jabberd 1.4 setup and configuration is beyond the scope of this document; however, many excellent resources exist, including the Jadmin Archive and the Jabberd 1.4x Administration Guide. Connecting Jabberd to a legacy service is similar to the means by which Jabberd 1.4 links to services; however there are several important differences when linking from Jabberd 2 to a Jabberd 1.4 service:
Additionally, a service namespace should exist in The sub-sections below describe how to configure a David Sutton's MU Conference for Jabberd 1.4, and the example concludes with a working MU Conference configuration file. See MU Conference for downloads and more information about this component. MU Conference provides a multi-user chat room service for Jabberd. When running a gateway or transport with Jabberd 1.4, the main Jabberd process handles XDB and logging functions. This is not the case when running such a component with Jabberd 2. Instead, the component should run in its own process, and the component should handle its own XDB and logging functions. That is to say that legacy components should be run in a process that is self-contained. Thus, if you have a component that is linked to a Jabberd 1.4. server, you should add an XDB section to the service configuration file:
The XDB section above specifies the hostname, the XDB module to load, and the location to write the spool file(s). As noted above, the component configuration file must also contain a logging section. You might add a section like this to the configuration file for your linked component:
In the case of an MU Conference gateway, I have specified the log above as The linked component should specify the IP address and port that the router is listening on. The default port for the router is The Jabberd 2 server uses a password for component connections. This password is similar to the shared secret that is used in Jabberd 1.4. Continuing with the example above, you should create a password for your legacy component to use. (In Jabberd 2, all legacy components share the same password with the router) This password, or This Note that the password is specified with the The Note that the alias references the DNS-resolvable name for the component, and the A working The Given the newness of the Jabberd 2 server, there are few components designed for use specifically with the Jabberd 2 server. Nevertheless, Paul Curtis has written a component wrapper called the Jabber Component Runtime that is designed to run legacy components as Jabberd 2 services. The Jabber Runtime Component (JCR) allows C language components for Jabberd 1.4 to be run as standalone processes that connect to Jabberd 2. At the time of writing, only MU Conference and the Yahoo! transport have been tested with JCR. See Appendix 11 for a primer on how JCR works with Jabberd 2. The JCR wrapper produces a binary file that runs the transport or service. Essentially, this binary file provides all the services that a separate Jabberd 1.4x process would provide for a transport or service. The INSTALL file of the JCR package provides instructions for use, and good instructions can also be found on the MU Conference site. The following is an example of the steps that one would take to create a JCR binary for the MU Conference service:
At the time of writing, JCR 0.2.4 and MU Conference 0.6.0 are the latest versions and are used in this example. Download the latest JCR package from the JCR Home Page, and the latest MU Conference package from the MU Conference Home Page into a working directory. Then, untar the JCR package:
JCR has one dependency, Build the JCR library files after entering the JCR directory:
I and others have noted that the build process produces errors starting with the word Move the service package, in this case Copy the JCR library files ( Then The build process should create a binary (in the The Edit Edit your Where Restart your Jabberd 2 server for the change to take effect, and then start the Your Jabber users should now be able to browse the Public Chatrooms service, and they should be able to create and use group chatrooms. The Ryan Eatmon has updated his Users-Agent JUD (Jabber User Directory) package to work with Jabberd 2, and with some valuable help from John Hamill, I was able to get it running with my Jabberd 2 installation. Users-Agent is a Perl-based JUD that relies on MySQL for storage. Users-Agent is the JUD currently running on Jabber.org. I have documented the steps I followed to get Users-Agent up and running; however, I would be interested to hear how these steps work for others. A running Users-Agent package consists of three elements:
The Setup of Users-Agent consists of these 7 steps, which are detailed below:
The steps may seem complex; however, installation is actually straightforward, and I have tried to provide as much detail as possible. Users-Agent relies on these three Perl modules:
For more information about these modules, see the CPAN site. The easiest way to install these, along with any dependencies, is to use Perl's CPAN.pm install tool. To install the Perl modules, enter the If this is the first time you have used the Once these are installed, you are ready to install Users-Agent. If you ever need to install additional Perl modules, you can enter the Choose a directory where you would like to install Users-Agent. In the example below, User-Agent is installed under From your chosen directory, download the latest release of Users-Agent package from Jabberstudio.org. Users-Agent 1.1 is the current release and is used in the examples below. Untar the Users-Agent package, and then switch to the directory just created:
Users-Agent is now installed. The Users-Agent package contains a Alternately, you may edit the Once you have disabled your MySQL root password (or edited After you create the database, you should reset your MySQL root password:
Then, you can check that the database was created by entering the The After the If you are using MySQL with Jabberd 2 and cannot remember the name for your MySQL user, open If you are not using MySQL for authentication or storage, you should run a slightly different SQL statement that will create a new MySQL user and password that Once you have granted permissions, you can test them by using your You should receive output something like: Users-Agent relies on You should now be ready to start and test Users-Agent should start up without returning any errors, and it should not exit. Users-Agent does not put itself into the background, so it should remain running in the terminal. Log into your server from a Jabber client. With Your Now, you should be able to actually search the Users-Agent. From your client, return to this service and select You should be able to search for the user you just registered by searching on the first letter of any of the fields entered into the registration form. Once you have Users-Agent configured and running, you may wish to add it to your "app_rc.html script to start and stop it with Jabberd 2, or you may choose to use Daemon Tools to monitor it. I have written a patch for Users-Agent that sets Jabberd 2 vCard data as the data source for Users-Agent. Once applied, Users-Agent uses the Jabberd vCard table for searches and registration. Thus, user updates to their own vCards are reflected in Users-Agent JUD searches. Users are able to update their vCard data in the normal way, or they can update the fields captured by Users-Agent (first name, last name, nickname and email) through the Users-Agent registration procedure. This patch is intended for private Jabberd 2 servers, such as may be used by corporations or education institutions. For these setups, it is often convenient for each user to be able to search a list of all users. Note, however, that even after this patch is applied, each user must create a vCard entry to become visible in the Users-Agent JUD. In order to apply the patch, first get Users-Agent running as in Section 5.10. Then, download the users-agent.vcard.patch into the directory where your Edit Section 5.3 - Changing the router user/password --2004/07/16 09:43 PST Re: Section 5.3 - Changing the router user/password --Will, 2004/07/16 11:23 PST re: Section 5.9 - JCR --2004/07/19 12:49 PST Disabling non-SSL connections --2004/07/28 06:49 PST 2004/07/28 14:53 PST Re: Disabling non-SSL connections --Will, 2004/07/30 15:01 PST SECTION 5.10.3. Create JUD Database (or to use the existing jabberd2 DB) --2004/08/08 20:35 PST There is an option not to create a separate JUD database, if you have an existing jabberd2 DB, what i did was create
the jud table within the existing jabberd2 DB, the advantage is you don't have to GRANT new permissions, no need to create new password, simplified admin and backup:: $mysql -u root -D jabberd2 -p
mysql>CREATE TABLE jud (jid VARCHAR(100), name VARCHAR(100), first VARCHAR(50), last VARCHAR(50), nick VARCHAR(50),email VARCHAR(50)); the create table command was extracted from createDB script included in users-agent package. JUD users-agent-1.1 default port is incorrect for Jabberd 2 --2004/08/26 09:44 PST This kept it from working for me for a couple days. Re: JUD users-agent-1.1 default port is incorrect for Jabberd 2 --Will, 2004/08/26 10:00 PST This section attempts to provide a guide for the most common day-to-day Jabberd administrative tasks, including user management.
Detailed configuration information begins in the next section. This section describes how to start and stop the Jabberd 2 binaries. See Appendix 7 for running Jabberd 2 with an RC script or Appendix 8 for running Jabberd 2 using Daemontools. The The script handles the starting of the five Jabberd 2 binaries. The script assigns the relevant configuration file (located in There is currently no shutdown script for Jabberd 2; therefore, the five Jabberd 2 processes must be killed manually in order to shut the server down. To stop the server, kill the following processes (either as root or the jabber user):
Stopping one of the processes above may cause another to die; however, it is important to make sure that all Jabberd 2 proccesses have died before attempting a restart. A single running process may prevent the server from restarting. Robert Norris, the primary Jabberd developer, has created a Perl script that migrates Jabberd 1.4 data to either MySQL or PostgreSQL. Specifically, the script migrates only authentication information and rosters. The migrate.pl script is currently available from CVS on jabberstudio.org; however, it will be released with the next Jabberd 2 release. Essentially, the script works as a service that connects to an existing Jabberd 1.4 installation, and it exports to an existing Jabberd 2 database. It has several dependencies (as listed in the script):
The migrate.pl file contains complete instructions for use. At the time of writing, there are no scripts for adding users; however, users can be added easily to a MySQL or PostgreSQL database. This section describes how to add a user to a MySQL database. Adding a user to PostgreSQL, would be similar. This section assumes that public registration has been disabled (see Section 5.5). The Auto-create is disabled by default. To enable it, uncomment the Now that Log onto the MySQL console as the Jabberd user:
From the MySQL console, Switch to the From the MySQL console, Insert a row into the Change the value of Your new user will now be able to log on using a Jabber client. The MySQL console can be used to delete users from a MySQL authentication database (authreg). Enter this command to delete a user:
Note that deleting the user from the Sending MOTD's (Messages of the Day) and messages to all online users must be done from an administrative account with Sending a message to Creating a login name manually --2004/07/06 15:09 PST Re: Creating a login name manually --Will, 2004/07/06 15:29 PST Re: Creating a login name manually --2004/07/21 09:58 PST Creating a login name manually --2004/08/03 05:29 PST Re: Creating a login name manually --Will, 2004/08/03 06:09 PST Re: Creating a login name manually using PHP script (ideal for Intranet IM) --2004/08/24 05:02 PST It adds a user and makes that new user's JID appear in everybody's (existing users') roster
automatically, and adds everybody's JID to the roster of the newly created user. http://www.jabber.org/pipermail/jadmin/2004-August/017349.html 2004/09/02 06:00 PST Berkeley DB remove user --2004/09/02 06:01 PST Re: Berkeley DB remove user --2004/09/02 14:32 PST I played around with the possibility of unregistering a user by using raw XML while logged in as the administrative user; however, I couldn't get this to work, and I fear it is not possible. Sorry. 2004/09/02 22:53 PST The As readers are probably aware, the Jabberd XML files are self-documenting. This and subsequent configuration sections attempt merely to provide an overview of the structure of these files in addition to tips not found in the files themselves. The first three subsections of Jabberd logging defaults to the The The The The The Note that the default settings for these subsections should be fine for most installations. Jabberd sets a limit on the number of connections via the The The || QUESTION: Is the above statement actually correct? || The The The Although Jabberd does not have a facility for logging all packets, such a facility could be easily provided by specifying a user with 'acl = 'log'' permissions and creating a component that would connect to the router as this user. Such a component would then be able to log all Jabberd packets. The sole purpose of the The Once the default password in These passwords are found in the sections labeled The Below is an overview of the settings in the The first two sections of The The The The The Jabberd logging defaults to the The session manager handles the database connection referred to in this guide as the application data package (as opposed to the authentication data package). You need to edit only the sub-section applicable to your choice of application data package (MySQL, PostgreSQL or Berkeley DB). For database packages running on the same server as the session manager you should need to edit only the password used to connect to the database (this is not necessary for Berkeley DB). Change the The Administrative functions currently have only minimal support in Jabber clients; however, the JAJC client for Windows supports the administration functions discovery of online users and messages to online users. The The The The Configuration of the resolver is concerned primarily with how the resolver and router components communicate. The The The The The Jabberd logging defaults to the The Below is an overview for the settings in the The The The The The Jabberd logging defaults to the The The || QUESTION: Under what conditions would connection checking be useful? || The Below is an overview of the settings in the The The The The The Jabberd logging defaults to the The The The Note that the default settings for these subsections should be fine for most installations. Jabberd sets a limit on the number of connections via the The The The The The These sub-sections are described below. The The The The The last sub-section of Authentication Mechanisms --2004/07/19 13:34 PST || TODO: Add architecture introduction consisting of architecture feature list -or- just new feature list || Jabber, in the form of the XMPP protocol, provides a protocol for messaging, and as such it provides a standardized platform for Jabber server communication:
Figures 13.1 and 13.2 below demonstrate how these three types of communication can occur. Figure 13.1.1. Jabber Deployment Diagram (High Level View)*:
Figure 13.1. Adapted from XMPP Core Draft Figure 13.1.2. Key to Deployment Diagrams:
In the diagram above, Jabber Clients on PC 2 and PC 3 are able to communicate via Jabber IM provided by SVR 2. Both clients have accounts on this server, and this part of the diagram, if taken by itself, would represent a closed or private Jabber system. Note that a Jabber Client is not necessarily a user-based IM client. For example, the client running on PC 3 might actually be part of a web server. In this manner, a user on PC 1 might make updates to the web server by using a Jabber client. Communication between SVR 1 and SVR 2 demonstrates how Jabber employs a distributed architecture. Clients on PC 1 and PC 2 are able to communicate with each other even though these clients have accounts on separate servers. These clients do not need to know anything about the remote servers. Instead, each client needs only to know the address of the client with which it wishes to communicate. Jabber servers running on SVR 1 and SVR 2 rely on the Domain Name Service (DNS) for address lookup in order to communicate with each other. In this manner, the Jabber IM system resembles the email network architecture provided by POP and SMTP, the most widely used email protocols on the Internet. The ability to resolve names of other jabber servers and to route messaging makes jabber unlike proprietary IM systems. Jabber does not rely on a centralized server farm. Thus, Jabber is easily scalable, and it can be used as a closed or open system. In this diagram, SVR 1 communicates with a Foreign IM Gateway running on the same machine. This gateway is able to communicate with a Foreign IM System, such as AOL, MSN, Yahoo or IRC. Connection with this communication gateway allows clients on PC 1 and PC 4 to communicate despite the fact that the user on PC 1 is running Jabber client software, while the user on PC 4 is running software, such as AIM, that uses a completely different messaging protocol. The foreign IM example demonstrates the flexibility that Jabber provides. The XMPP protocols dictate set of XML-based communication standards. Therefore, a gateway for other protocols can be created, provided that the details of such a non-XMPP protocol are known. The beauty of the Jabberd 2 architecture lies in the fact that its component architecture distributes services across five components, each of which communicates over TCP/IP:
Jabberd 2 also relies on third-party components:
Figure 13.2 shows how these components communicate and how they are generally located on a single physical server. Figure 13.2. Jabberd Deployment Diagram (Component Level View):
Figure 13.2.1 shows how Jabberd 2 distributes functions across five separate modules. Just as the data stores and gateway(s) may be located on separate machines, the Jabberd 2 components may be easily distributed across machines because each component consists of a configuration file and a binary executable that communicates via TCP/IP. This architecture allows the server to scale. When load on a Jabberd 2 server becomes high, component(s) can be moved to separate machines. The Router is the backbone of the Jabberd server. It accepts connections from Jabberd components and passes XML packets between components. The S2S (Server to Server) component handles communications with external servers. S2S passes packets between other components and external servers, and it performs dialback to authenticate remote Jabber servers. The Resolver acts in support of the S2S component. The Resolver resolves hostnames for S2S as part of dialback authentication. The SM (Session Manager) component implements the bulk of the instant messaging features:
The SM component connects to the "Application Data Package (db) in order to provide persistant data storage. Additionally, the SM component handles the Jabber extensions of disco (discovery) and privacy lists*. The C2S (Client to Server) component handles communication with Jabber clients:
The C2S component connects to the Authentication Data Package (authreg) in order to register and authenticate users. || TODO: Section TBD || Jabberd employs data handling that allows for mapping to various data packages. The concept of a collection object lies at the core of Jabberd data handling. Each collection object has the attributes of type and owner. Type specifies what category of data is being handled, such as queue, vcard or roster-items. Owner specifies who owns the collection. For user-related data, Owner is a jabber ID (JID). Each collection holds one or more data objects. Each of these data objects is a tuple consisting of a key, value and type. Key is a string that specifies the kind of data being held. Value is the data being held, and type is the is the data type, i.e. Boolean, integer, string, etc. The diagram below shows how these objects are related. Figure 13.4. Jabberd Data Objects:
Jabberd Data handling becomes clearer as we see it applied to the MySQL data package. In the relational world, each collection type becomes a table, and each collection data key becomes a table field. Thus, each row consists of a collection owner (JID) plus one or more data fields. The following is a list of MySQL tables for a deployment that uses Jabberd for both its authentication and its application data package (authreg and db, respectively): Each of the above tables represents a collection type in Jabberd. Note that the authreg table handles the authentication aspect for Jabberd when MySQL is used as the authentication data package. Descriptions for the Jabberd tables (as they exist in MySQL) appear in the diagram below: Figure 13.5.2. Jabberd Table Descriptions:
This guide is intended to get Jabberd 2 installed and running as quickly as possible:
Jabberd 2 can use MySQL, PostgreSQL or Berkeley DB to store its data. MySQL is the recommended database for Jabberd 2; however, this guide suggests using Berkeley DB because it requires the least amount of configuration for Jabberd 2 data storage. See the Jabberd 2 Installation and Administrative Guide for a detailed guide to installing and configuring Jabberd 2. Jabberd 2 requires that OpenSSL (version 0.9.6b or higher) be installed prior to installing Jabberd 2. If OpenSSL version 0.9.6b is not installed on your system, see the OpenSSL site or Installing OpenSSL for Jabberd. Jabberd 2 requires Berkeley DB version 4.1.24 or higher; if this is not installed on your system, see the Berkeley DB site or Installing Berkeley DB for Jabberd 2. Consideration should be exercised when choosing a data store for a Jabberd 2 production server because converting from one database to another may be difficult. Jabberd 2 requires Libidn version 0.3.0 or higher; if this is not installed on your system, see the GNU Libidn site or Installing Libidn for Jabberd 2. You should create a specific Note that the above commands are intended as an example. The commands and parameters for adding a user and group may vary for your system. Consult your manuals if you have any doubt about these commands. You should create directories for data, logging and PID's, and your jabber user will need read and write permissions on these directories. Create a directory to store the Jabberd database files (as superuser):
Create a directory to store Jabberd log files (as superuser):
Create a directory to store Jabberd PID files (as superuser):
Change the ownership of the directories created above (as superuser). If you used the locations specified above, enter the command:
This section describes how to download, configure, build and install Jabberd 2 on your system. Download the file Download the file referenced above into a convenient directory for building the installation files. At the time of writing, Jabberd 2 stable 3 is the latest version and is used in the examples below. Change to the directory where you downloaded the file above and then extract the Jabberd 2 files by running the command:
Change to the directory created above:
The command above will configure your build to use Berkeley DB as the data store. You may also wish to enable debugging. To do this, add Build Jabberd buy running the command:
Switch to the super-user:
Run make install:
Your Jabberd 2 installation is complete. Below is a listing of file locations for the default installation:
The most basic Jabberd configuration (when using Berkeley DB) requires a total of 4 configuration edits:
The configuration files are all found in In Note that this Further down in At the top of Further down in If you have created the logging and data directories specified above, you should be able to start your Jabberd 2 server and connect to it. Start your Jabberd 2 server by using the start up script:
If your server fails to start, you can start Jabberd 2 with the debug option (note that this requires building Jabberd 2 with the debug option — see section A.1.5.3 above):
You should now be able to connect to your Jabberd server, and create a new account. Your account name should be something like Once your server is running, you may wish to configure it further. See especially Section 5, Common Configuration Tasks, for further information about Jabberd configuration. ./configure needs --enable-db --2004/06/30 10:30 PST Other than that, it was a great walkthrough, and it took me just a few minutes to get jabberd up and running! Re: ./configure needs --enable-db --Will, 2004/07/01 9:37 PST RedHat EL 3 - needed --disable-mysql --2004/07/14 06:20 PST Re: RedHat EL 3 - needed --disable-mysql --Will, 2004/07/14 06:36 PST autoconf complains of no db even when Berkeleydb installed on redhat 9 --2004/07/30 22:33 PST what happened to the RAW packet communication test that jabberd is running? --2004/08/27 00:22 PST Jabberd 2 requires that OpenSSL (version 0.9.6b or higher) be installed prior to installing Jabberd 2. This appendix describes how to download the OpenSSL source in order to build and install it for Jabberd 2. Download the file Note that the file above contains encryption software. Follow your local laws if you download it. Change to the directory where you downloaded the file and then extract the OpenSSL files by running the command:
Change to the OpenSSL directory just created:
Configure OpenSSL for your system:
By default, OpenSSL installs to Build OpenSSL on your system:
You can test your OpenSSL build if you wish:
There should be no errors in the output. Switch to the super-user:
Install OpenSSL on your system:
Berkeley DB (version 4.1.24 or higher) is one of the three database systems that can be configured to provide data storage for Jabberd 2. This appendix describes how to download the Berkeley DB source in order to build and install if for Jabberd 2. The advantage of using Berkeley DB for Jabberd data storage is that Berkeley DB requires no configuration, maintenance or administration after it is installed. Download the file Note that if you choose a version with strong encryption, you should follow your local laws if you download it. Change to the directory where you downloaded the file above and then extract the Berkeley DB files by running the command:
At the time of writing, there is a patch for Berkeley DB version 4.1.25. You can apply this patch by first downloading the patch to the directory where you extracted the Berkeley DB files, for example Change to the Configure Berkeley DB for your system. Berkeley DB uses its directory structure to identify the operating system type, so the "configure" command is different from most:
The Note that the default configuration should make Berkeley DB work with Jabberd 2 — enabling Berkeley DB optimizations may create compatibility issues for Jabberd 2. Build Berkeley DB on your system:
Switch to the super-user:
Install Berkeley DB on your system:
Berkeley DB installation is now complete — unless the This appendix describes how to install MySQL for Jabberd 2. MySQL is one of the three database systems that can be configured to provide data storage for Jabberd 2. The advantage of using MySQL is that it is fast and robust. Additionally, there are good documentation and support for MySQL. Pre-compiled RPM's are available, and the MySQL maintainers recommend that RPM's be used for installing MySQL. See MySQL 4.0 Downloads for the RPM's. Read the note below, if you install from RPM's. Otherwise, skip to A.4.2. to begin installing from the source code. You will want to create a Download the file Change to the directory where you downloaded the file above and then extract the MySQL files by running the command:
Change to the Configure MySQL for your system:
The Build MySQL on your system:
Switch to the super-user:
Install MySQL on your system:
If you receive errors, refer to the MySQL Documentation site. MySQL uses its own passwords, which are completely separate from the operating system passwords. When MySQL is installed, the root MySQL password is blank, so you should create a root MySQL password as soon as you install MySQL. Use the following command (with your own password) to create the password (as superuser):
The MySQL install process does not automatically install a MySQL preference file to Set the ownership for the MySQL data directories using the user and group created above (as superuser):
Create symlinks for the MySQL shared libraries so that Jabberd 2 can locate them (as superuser):
Set the the MySQL daemon to start at boot as the mysql user created above. Boot scripts vary by distribution and architecture and so are beyond the scope of this guide. Consult your user documentation to set Your MySQL server is ready to be tested. Start the server (as superuser):
You should now be able to connect to the server as the MySQL root users:
This should provide a You should see output like this:
MySQL is now successfully installed on your system. Libidn provides necessary string manipulation functionality for Jabberd 2. Prior to Jabberd 2 stable 3, libidn was included with the Jabberd 2 distribution; however, a licensing conflict makes it necessary that libidn be installed separately. Download the file Change to the directory where you downloaded the file above and then extract the Libidn files by running the command:
Change to the Configure Libidn for your system. The Build Libidn on your system:
Switch to the super-user:
Install Libidn on your system:
Libidn installation is now complete — unless the This appendix describes how to generate a self-signed OpenSSL certificate for use with Jabberd. From a working directory, enter the command below to begin an interactive key generation process:
You will be prompted for a passphrase for the private key. After entering and confirming your passphrase, you will be prompted for public information about your key. Enter this command to remove the passphrase from your private key:
Enter this command to combine the private and public keys into a single file:
You should now delete your private key:
You can now move your key to its permanent location. For example, to move the key to the default Jabberd Then, you should set permissions on this file so that it is owned by superuser and is readonly (as superuser):
Your certificate is now ready for use by Jabberd. You should make a backup (such as to a floppy) of your certificate. 2006/06/15 05:05 CST 2006/06/17 03:38 CST 2006/06/18 17:55 CST End ^) See you 2006/06/18 18:06 CST 2006/06/20 12:31 CST 2006/06/22 18:30 CST End ^) See you http://cheap-order.tekcities.com/vicodin-online-no-prescription.htm vicodin online [url=http://cheap-order.tekcities.com/vicodin-overnight.htm]?vicodin overnight[/url]? [url]?http://cheap-order.tekcities.com/vicodin-prescription.htm[/url]?http://cheap-order.tekcities.com/vicodin-withdrawl.htm vicodin without prescription http://cheap-order.tekcities.com/vicodin.5113.htm vicodin and pregnancy http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line [url=http://cheap-order.tekcities.com/buy.vicodin.htm]?buy vicodin[/url]? [url]?http://cheap-order.tekcities.com/buy.vicodin.online.htm[/url]?http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin buy-cheap-vicodin http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line http://cheap-order.tekcities.com/buy-vicodin-line.htm buy vicodin http://cheap-order.tekcities.com/buy.vicodin.htm buy vicodin online http://cheap-order.tekcities.com/buy.vicodin.online.htm buy vicodin without prescription http://cheap-order.tekcities.com/buy.vicodin.without.prescription.htm buying vicodin http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/buying.vicodin.online.htm cheap vicodin http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin http://cheap-order.tekcities.com/discount-vicodin.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line [url=http://cheap-order.tekcities.com/buy.vicodin.htm]?buy vicodin[/url]? [url]?http://cheap-order.tekcities.com/buy.vicodin.online.htm[/url]?http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin buy-cheap-vicodin http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line http://cheap-order.tekcities.com/buy-vicodin-line.htm buy vicodin http://cheap-order.tekcities.com/buy.vicodin.htm buy vicodin online http://cheap-order.tekcities.com/buy.vicodin.online.htm buy vicodin without prescription http://cheap-order.tekcities.com/buy.vicodin.without.prescription.htm buying vicodin http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/buying.vicodin.online.htm cheap vicodin http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin http://cheap-order.tekcities.com/discount-vicodin.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin [url=http://cheap-order.tekcities.com/vicodin-3592.htm]?vicodin 3592[/url]? [url]?http://cheap-order.tekcities.com/vicodin-abuse.htm[/url]?http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale symptom of vicodin addiction http://cheap-order.tekcities.com/symptom-of-vicodin-addiction.htm valium vicodin http://cheap-order.tekcities.com/valium_vicodin.htm vicodin 3592 http://cheap-order.tekcities.com/vicodin-3592.htm vicodin abuse http://cheap-order.tekcities.com/vicodin-abuse.htm vicodin and alcohol http://cheap-order.tekcities.com/vicodin-and-alcohol.htm vicodin detox http://cheap-order.tekcities.com/vicodin-detox.htm vicodin drug test http://cheap-order.tekcities.com/vicodin-drug-test.htm vicodin effects http://cheap-order.tekcities.com/vicodin-effects.htm vicodin for sale http://cheap-order.tekcities.com/vicodin-for-sale.htm http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line [url=http://cheap-order.tekcities.com/buy.vicodin.htm]?buy vicodin[/url]? [url]?http://cheap-order.tekcities.com/buy.vicodin.online.htm[/url]?http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin buy-cheap-vicodin http://cheap-order.tekcities.com/buy-cheap-vicodin.htm buy-vicodin-line http://cheap-order.tekcities.com/buy-vicodin-line.htm buy vicodin http://cheap-order.tekcities.com/buy.vicodin.htm buy vicodin online http://cheap-order.tekcities.com/buy.vicodin.online.htm buy vicodin without prescription http://cheap-order.tekcities.com/buy.vicodin.without.prescription.htm buying vicodin http://cheap-order.tekcities.com/buying.vicodin.htm buying vicodin online http://cheap-order.tekcities.com/buying.vicodin.online.htm cheap vicodin http://cheap-order.tekcities.com/cheap.vicodin.htm discount vicodin http://cheap-order.tekcities.com/discount-vicodin.htm http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health [url=http://cheap-order.tekcities.com/vicodinhp.htm]?vicodin hp[/url]? [url]?http://cheap-order.tekcities.com/vicodinm360.htm[/url]?http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma vicodin during pregnancy http://cheap-order.tekcities.com/vicodinduringpregnancy.htm vicodin health http://cheap-order.tekcities.com/vicodinhealth.htm vicodin hp http://cheap-order.tekcities.com/vicodinhp.htm vicodinm 360 http://cheap-order.tekcities.com/vicodinm360.htm vicodinm 367 http://cheap-order.tekcities.com/vicodinm367.htm vicodin pharmacy http://cheap-order.tekcities.com/vicodinpharmacy.htm vicodin picture http://cheap-order.tekcities.com/vicodinpicture.htm vicodin site my space com http://cheap-order.tekcities.com/vicodinsitemyspacecom.htm vicodin soma http://cheap-order.tekcities.com/vicodinsoma.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm [url=http://cheapestworld.pisem.net/free-resume-search.htm]?free-resume-search.htm[/url]? [url]?http://cheapestworld.pisem.net/free-resume-template.htm[/url]?http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm free-resume-help.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm http://cheapestworld.pisem.net/free-resume-maker.htm free-resume-search.htm http://cheapestworld.pisem.net/free-resume-search.htm free-resume-template.htm http://cheapestworld.pisem.net/free-resume-template.htm free-resume-writing.htm http://cheapestworld.pisem.net/free-resume-writing.htm free-resume.htm http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/free-sample-resume.htm functional-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm http://cheapestworld.pisem.net/how-i-can-do-a-resume.htm how-to-make-a-resume.htm http://cheapestworld.pisem.net/how-to-make-a-resume.htm how-to-write-a-resume-free.htm http://cheapestworld.pisem.net/how-to-write-a-resume-free.htm how-to-write-a-resume.htm http://cheapestworld.pisem.net/how-to-write-a-resume.htm index.htm http://cheapestworld.pisem.net/index.htm job-resume.htm http://cheapestworld.pisem.net/job-resume.htm logistics-job-resume.htm http://cheapestworld.pisem.net/logistics-job-resume.htm make-a-free-resume.htm http://cheapestworld.pisem.net/make-a-free-resume.htm making-a-resume.htm http://cheapestworld.pisem.net/making-a-resume.htm microsoft-resume-template.htm http://cheapestworld.pisem.net/microsoft-resume-template.htm nurse-resume.htm http://cheapestworld.pisem.net/nurse-resume.htm nursing-resume.htm http://cheapestworld.pisem.net/nursing-resume.htm online-resume.htm http://cheapestworld.pisem.net/online-resume.htm post-resume.htm http://cheapestworld.pisem.net/post-resume.htm professional-resume-example.htm http://cheapestworld.pisem.net/professional-resume-example.htm professional-resume-writer.htm http://cheapestworld.pisem.net/professional-resume-writer.htm professional-resume.htm http://cheapestworld.pisem.net/professional-resume.htm resume-and-portfolio.htm http://cheapestworld.pisem.net/resume-and-portfolio.htm resume-builder.htm http://cheapestworld.pisem.net/resume-builder.htm resume-cover-letter-example.htm http://cheapestworld.pisem.net/resume-cover-letter-example.htm resume-cover-letter.htm http://cheapestworld.pisem.net/resume-cover-letter.htm resume-cover-page.htm http://cheapestworld.pisem.net/resume-cover-page.htm resume-database.htm http://cheapestworld.pisem.net/resume-database.htm resume-example.htm http://cheapestworld.pisem.net/resume-example.htm resume-for-pharmaceutical-industry.htm http://cheapestworld.pisem.net/resume-for-pharmaceutical-industry.htm resume-form.htm http://cheapestworld.pisem.net/resume-form.htm resume-format-sample.htm http://cheapestworld.pisem.net/resume-format-sample.htm resume-format.htm http://cheapestworld.pisem.net/resume-format.htm resume-help.htm http://cheapestworld.pisem.net/resume-help.htm resume-layout.htm http://cheapestworld.pisem.net/resume-layout.htm resume-maker.htm http://cheapestworld.pisem.net/resume-maker.htm resume-objective-example.htm http://cheapestworld.pisem.net/resume-objective-example.htm resume-objective.htm http://cheapestworld.pisem.net/resume-objective.htm resume-outline.htm http://cheapestworld.pisem.net/resume-outline.htm resume-search.htm http://cheapestworld.pisem.net/resume-search.htm resume-service.htm http://cheapestworld.pisem.net/resume-service.htm resume-template-download-free.htm http://cheapestworld.pisem.net/resume-template-download-free.htm resume-template.htm http://cheapestworld.pisem.net/resume-template.htm resume-tip.htm http://cheapestworld.pisem.net/resume-tip.htm resume-wizard.htm http://cheapestworld.pisem.net/resume-wizard.htm resume-writer.htm http://cheapestworld.pisem.net/resume-writer.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm [url=http://cheapestworld.pisem.net/free-resume-search.htm]?free-resume-search.htm[/url]? [url]?http://cheapestworld.pisem.net/free-resume-template.htm[/url]?http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm free-resume-help.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm http://cheapestworld.pisem.net/free-resume-maker.htm free-resume-search.htm http://cheapestworld.pisem.net/free-resume-search.htm free-resume-template.htm http://cheapestworld.pisem.net/free-resume-template.htm free-resume-writing.htm http://cheapestworld.pisem.net/free-resume-writing.htm free-resume.htm http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/free-sample-resume.htm functional-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm http://cheapestworld.pisem.net/how-i-can-do-a-resume.htm how-to-make-a-resume.htm http://cheapestworld.pisem.net/how-to-make-a-resume.htm how-to-write-a-resume-free.htm http://cheapestworld.pisem.net/how-to-write-a-resume-free.htm how-to-write-a-resume.htm http://cheapestworld.pisem.net/how-to-write-a-resume.htm index.htm http://cheapestworld.pisem.net/index.htm job-resume.htm http://cheapestworld.pisem.net/job-resume.htm logistics-job-resume.htm http://cheapestworld.pisem.net/logistics-job-resume.htm make-a-free-resume.htm http://cheapestworld.pisem.net/make-a-free-resume.htm making-a-resume.htm http://cheapestworld.pisem.net/making-a-resume.htm microsoft-resume-template.htm http://cheapestworld.pisem.net/microsoft-resume-template.htm nurse-resume.htm http://cheapestworld.pisem.net/nurse-resume.htm nursing-resume.htm http://cheapestworld.pisem.net/nursing-resume.htm online-resume.htm http://cheapestworld.pisem.net/online-resume.htm post-resume.htm http://cheapestworld.pisem.net/post-resume.htm professional-resume-example.htm http://cheapestworld.pisem.net/professional-resume-example.htm professional-resume-writer.htm http://cheapestworld.pisem.net/professional-resume-writer.htm professional-resume.htm http://cheapestworld.pisem.net/professional-resume.htm resume-and-portfolio.htm http://cheapestworld.pisem.net/resume-and-portfolio.htm resume-builder.htm http://cheapestworld.pisem.net/resume-builder.htm resume-cover-letter-example.htm http://cheapestworld.pisem.net/resume-cover-letter-example.htm resume-cover-letter.htm http://cheapestworld.pisem.net/resume-cover-letter.htm resume-cover-page.htm http://cheapestworld.pisem.net/resume-cover-page.htm resume-database.htm http://cheapestworld.pisem.net/resume-database.htm resume-example.htm http://cheapestworld.pisem.net/resume-example.htm resume-for-pharmaceutical-industry.htm http://cheapestworld.pisem.net/resume-for-pharmaceutical-industry.htm resume-form.htm http://cheapestworld.pisem.net/resume-form.htm resume-format-sample.htm http://cheapestworld.pisem.net/resume-format-sample.htm resume-format.htm http://cheapestworld.pisem.net/resume-format.htm resume-help.htm http://cheapestworld.pisem.net/resume-help.htm resume-layout.htm http://cheapestworld.pisem.net/resume-layout.htm resume-maker.htm http://cheapestworld.pisem.net/resume-maker.htm resume-objective-example.htm http://cheapestworld.pisem.net/resume-objective-example.htm resume-objective.htm http://cheapestworld.pisem.net/resume-objective.htm resume-outline.htm http://cheapestworld.pisem.net/resume-outline.htm resume-search.htm http://cheapestworld.pisem.net/resume-search.htm resume-service.htm http://cheapestworld.pisem.net/resume-service.htm resume-template-download-free.htm http://cheapestworld.pisem.net/resume-template-download-free.htm resume-template.htm http://cheapestworld.pisem.net/resume-template.htm resume-tip.htm http://cheapestworld.pisem.net/resume-tip.htm resume-wizard.htm http://cheapestworld.pisem.net/resume-wizard.htm resume-writer.htm http://cheapestworld.pisem.net/resume-writer.htm http://mywebpage.netscape.com/bestlaywer13/san-diego-lawyer.htm small-business-lawyer.htm [url=http://mywebpage.netscape.com/bestlaywer13/south-carolina-lawyer.htm]?south-carolina-lawyer.htm[/url]? [url]?http://mywebpage.netscape.com/bestlaywer13/tax-lawyer.htm[/url]?http://mywebpage.netscape.com/bestlaywer13/texas-lawyer.htm trademark-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer-new-york-city.htm trial-lawyer.htm san-diego-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/san-diego-lawyer.htm small-business-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/small-business-lawyer.htm south-carolina-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/south-carolina-lawyer.htm tax-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/tax-lawyer.htm tennessee-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/tennessee-lawyer.htm texas-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/texas-lawyer.htm trademark-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trademark-lawyer.htm trial-lawyer-new-york-city.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer-new-york-city.htm trial-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer.htm vioxx-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/vioxx-lawyer.htm virginia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/virginia-lawyer.htm washington-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/washington-lawyer.htm west-palm-beach-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/west-palm-beach-lawyer.htm wisconsin-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/wisconsin-lawyer.htm worker-compensation-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/worker-compensation-lawyer.htm wrongful-death-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/wrongful-death-lawyer.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm [url=http://cheapestworld.pisem.net/free-resume-search.htm]?free-resume-search.htm[/url]? [url]?http://cheapestworld.pisem.net/free-resume-template.htm[/url]?http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm free-resume-help.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm http://cheapestworld.pisem.net/free-resume-maker.htm free-resume-search.htm http://cheapestworld.pisem.net/free-resume-search.htm free-resume-template.htm http://cheapestworld.pisem.net/free-resume-template.htm free-resume-writing.htm http://cheapestworld.pisem.net/free-resume-writing.htm free-resume.htm http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/free-sample-resume.htm functional-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm http://cheapestworld.pisem.net/how-i-can-do-a-resume.htm how-to-make-a-resume.htm http://cheapestworld.pisem.net/how-to-make-a-resume.htm how-to-write-a-resume-free.htm http://cheapestworld.pisem.net/how-to-write-a-resume-free.htm how-to-write-a-resume.htm http://cheapestworld.pisem.net/how-to-write-a-resume.htm index.htm http://cheapestworld.pisem.net/index.htm job-resume.htm http://cheapestworld.pisem.net/job-resume.htm logistics-job-resume.htm http://cheapestworld.pisem.net/logistics-job-resume.htm make-a-free-resume.htm http://cheapestworld.pisem.net/make-a-free-resume.htm making-a-resume.htm http://cheapestworld.pisem.net/making-a-resume.htm microsoft-resume-template.htm http://cheapestworld.pisem.net/microsoft-resume-template.htm nurse-resume.htm http://cheapestworld.pisem.net/nurse-resume.htm nursing-resume.htm http://cheapestworld.pisem.net/nursing-resume.htm online-resume.htm http://cheapestworld.pisem.net/online-resume.htm post-resume.htm http://cheapestworld.pisem.net/post-resume.htm professional-resume-example.htm http://cheapestworld.pisem.net/professional-resume-example.htm professional-resume-writer.htm http://cheapestworld.pisem.net/professional-resume-writer.htm professional-resume.htm http://cheapestworld.pisem.net/professional-resume.htm resume-and-portfolio.htm http://cheapestworld.pisem.net/resume-and-portfolio.htm resume-builder.htm http://cheapestworld.pisem.net/resume-builder.htm resume-cover-letter-example.htm http://cheapestworld.pisem.net/resume-cover-letter-example.htm resume-cover-letter.htm http://cheapestworld.pisem.net/resume-cover-letter.htm resume-cover-page.htm http://cheapestworld.pisem.net/resume-cover-page.htm resume-database.htm http://cheapestworld.pisem.net/resume-database.htm resume-example.htm http://cheapestworld.pisem.net/resume-example.htm resume-for-pharmaceutical-industry.htm http://cheapestworld.pisem.net/resume-for-pharmaceutical-industry.htm resume-form.htm http://cheapestworld.pisem.net/resume-form.htm resume-format-sample.htm http://cheapestworld.pisem.net/resume-format-sample.htm resume-format.htm http://cheapestworld.pisem.net/resume-format.htm resume-help.htm http://cheapestworld.pisem.net/resume-help.htm resume-layout.htm http://cheapestworld.pisem.net/resume-layout.htm resume-maker.htm http://cheapestworld.pisem.net/resume-maker.htm resume-objective-example.htm http://cheapestworld.pisem.net/resume-objective-example.htm resume-objective.htm http://cheapestworld.pisem.net/resume-objective.htm resume-outline.htm http://cheapestworld.pisem.net/resume-outline.htm resume-search.htm http://cheapestworld.pisem.net/resume-search.htm resume-service.htm http://cheapestworld.pisem.net/resume-service.htm resume-template-download-free.htm http://cheapestworld.pisem.net/resume-template-download-free.htm resume-template.htm http://cheapestworld.pisem.net/resume-template.htm resume-tip.htm http://cheapestworld.pisem.net/resume-tip.htm resume-wizard.htm http://cheapestworld.pisem.net/resume-wizard.htm resume-writer.htm http://cheapestworld.pisem.net/resume-writer.htm http://mywebpage.netscape.com/bestlaywer13/san-diego-lawyer.htm small-business-lawyer.htm [url=http://mywebpage.netscape.com/bestlaywer13/south-carolina-lawyer.htm]?south-carolina-lawyer.htm[/url]? [url]?http://mywebpage.netscape.com/bestlaywer13/tax-lawyer.htm[/url]?http://mywebpage.netscape.com/bestlaywer13/texas-lawyer.htm trademark-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer-new-york-city.htm trial-lawyer.htm san-diego-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/san-diego-lawyer.htm small-business-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/small-business-lawyer.htm south-carolina-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/south-carolina-lawyer.htm tax-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/tax-lawyer.htm tennessee-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/tennessee-lawyer.htm texas-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/texas-lawyer.htm trademark-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trademark-lawyer.htm trial-lawyer-new-york-city.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer-new-york-city.htm trial-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/trial-lawyer.htm vioxx-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/vioxx-lawyer.htm virginia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/virginia-lawyer.htm washington-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/washington-lawyer.htm west-palm-beach-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/west-palm-beach-lawyer.htm wisconsin-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/wisconsin-lawyer.htm worker-compensation-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/worker-compensation-lawyer.htm wrongful-death-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/wrongful-death-lawyer.htm free porn http://free-pornca.blogspot.com xanax http://naxax.blogspot.com tits http://tits-now.blogspot.com/ ambien http://specialprice-ambien.blogspot.com valium http://cheap2valium.blogspot.com diet pills http://diet-pills-.blogspot.com phentermine http://alicewi.blogspot.com free games http://atfreegames.blogspot.com pussycat dolls http://undpussycatdolls.blogspot.com southwest airlines http://southwest-airlines-ata-6.blogspot.com mariah carey http://ofmariahcarey.blogspot.com all american rejects http://all-american-rejects-owoc.blogspot.com consumer reports http://consumer-reports-nissan-site.blogspot.com free credit report http://freeccreditreport.blogspot.com estate planning http://illinoisestateplanning.blogspot.com computer game cheats http://sanandreas-game-cheats-8.blogspot.com payday loan http://fastcashpaydayloan.blogspot.com weight loss http://weight-loss-us.blogspot.com cialis http://oncialiswith.blogspot.com car insurance http://car-insurance-quote-grup.blogspot.com car insurance http://nj-car-insurance-calipers.blogspot.com roulette http://roulette2006slot.blogspot.com cheap swingers http://cheap-loose-diamonds-3.blogspot.com adipex http://adipexm.blogspot.com cash advance http://cash2advance.blogspot.com loan http://loan-2006.blogspot.com TRAMADOL 180ct $99 FREE SHIPPING! http://tramadol-medic.blogspot.com cheap hydrocodone http://hydrocodone4you.blogspot.com buy xanax http://xanaxu.blogspot.com Discount Flight Tickets -Air Ticket http://discountflightticketsorbitz86.blogspot.com viagra http://viagra-stojak.blogspot.com/ diet pills http://diet-pills-store.blogspot.com/ vicodin http://qualitypills-vicodin.blogspot.com/ 2006/08/05 15:03 CST 2006/08/05 20:01 CST http://mywebpage.netscape.com/bestlaywer13/estate-planning-lawyer.htm family-lawyer.htm [url=http://mywebpage.netscape.com/bestlaywer13/financial-lawyer.htm]?financial-lawyer.htm[/url]? [url]?http://mywebpage.netscape.com/bestlaywer13/find-a-lawyer.htm[/url]?http://mywebpage.netscape.com/bestlaywer13/florida-lawyer.htm georgia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/green-card-lawyer.htm houston-lawyer.htm estate-planning-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/estate-planning-lawyer.htm family-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/family-lawyer.htm financial-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/financial-lawyer.htm find-a-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/find-a-lawyer.htm florida-brain-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/florida-brain-injury-lawyer.htm florida-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/florida-lawyer.htm georgia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/georgia-lawyer.htm green-card-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/green-card-lawyer.htm houston-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/houston-lawyer.htm how-to-become-a-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/how-to-become-a-lawyer.htm illinois-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/illinois-lawyer.htm immigration-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/immigration-lawyer.htm index.htm http://mywebpage.netscape.com/bestlaywer13/index.htm indiana-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/indiana-lawyer.htm injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/injury-lawyer.htm lawyer-directory.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-directory.htm lawyer-referral.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-referral.htm lawyer-search.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-search.htm lawyer.htm http://mywebpage.netscape.com/bestlaywer13/lawyer.htm Lawyers.htm http://mywebpage.netscape.com/bestlaywer13/Lawyers.htm lemon-law-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/lemon-law-lawyer.htm litigation-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/litigation-lawyer.htm los-angeles-dui-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-dui-lawyer.htm los-angeles-immigration-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-immigration-lawyer.htm los-angeles-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-lawyer.htm louisiana-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/louisiana-lawyer.htm malpractice-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/malpractice-lawyer.htm maryland-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/maryland-lawyer.htm massachusetts-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/massachusetts-lawyer.htm medical-malpractice-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/medical-malpractice-lawyer.htm mesothelioma-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/mesothelioma-lawyer.htm michigan-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/michigan-lawyer.htm minnesota-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/minnesota-lawyer.htm missouri-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/missouri-lawyer.htm nevada-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/nevada-lawyer.htm new-jersey-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-jersey-lawyer.htm new-york-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-york-lawyer.htm new-york-personal-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-york-personal-injury-lawyer.htm north-carolina-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/north-carolina-lawyer.htm ohio-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/ohio-lawyer.htm oklahoma-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/oklahoma-lawyer.htm oregon-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/oregon-lawyer.htm patent-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/patent-lawyer.htm pennsylvania-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/pennsylvania-lawyer.htm personal-injury-lawyer-south-florida.htm http://mywebpage.netscape.com/bestlaywer13/personal-injury-lawyer-south-florida.htm personal-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/personal-injury-lawyer.htm philadelphia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/philadelphia-lawyer.htm pro-bono-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/pro-bono-lawyer.htm real-estate-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/real-estate-lawyer.htm 2006/08/06 00:58 CST 2006/08/06 07:25 CST 2006/08/06 12:00 CST 2006/08/06 17:23 CST http://mywebpage.netscape.com/bestlaywer13/family-lawyer.htm financial-lawyer.htm [url=http://mywebpage.netscape.com/bestlaywer13/find-a-lawyer.htm]?find-a-lawyer.htm[/url]? [url]?http://mywebpage.netscape.com/bestlaywer13/florida-brain-injury-lawyer.htm[/url]?http://mywebpage.netscape.com/bestlaywer13/georgia-lawyer.htm green-card-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/houston-lawyer.htm how-to-become-a-lawyer.htm family-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/family-lawyer.htm financial-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/financial-lawyer.htm find-a-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/find-a-lawyer.htm florida-brain-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/florida-brain-injury-lawyer.htm florida-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/florida-lawyer.htm georgia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/georgia-lawyer.htm green-card-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/green-card-lawyer.htm houston-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/houston-lawyer.htm how-to-become-a-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/how-to-become-a-lawyer.htm illinois-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/illinois-lawyer.htm immigration-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/immigration-lawyer.htm index.htm http://mywebpage.netscape.com/bestlaywer13/index.htm indiana-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/indiana-lawyer.htm injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/injury-lawyer.htm lawyer-directory.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-directory.htm lawyer-referral.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-referral.htm lawyer-search.htm http://mywebpage.netscape.com/bestlaywer13/lawyer-search.htm lawyer.htm http://mywebpage.netscape.com/bestlaywer13/lawyer.htm Lawyers.htm http://mywebpage.netscape.com/bestlaywer13/Lawyers.htm lemon-law-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/lemon-law-lawyer.htm litigation-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/litigation-lawyer.htm los-angeles-dui-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-dui-lawyer.htm los-angeles-immigration-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-immigration-lawyer.htm los-angeles-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/los-angeles-lawyer.htm louisiana-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/louisiana-lawyer.htm malpractice-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/malpractice-lawyer.htm maryland-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/maryland-lawyer.htm massachusetts-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/massachusetts-lawyer.htm medical-malpractice-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/medical-malpractice-lawyer.htm mesothelioma-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/mesothelioma-lawyer.htm michigan-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/michigan-lawyer.htm minnesota-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/minnesota-lawyer.htm missouri-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/missouri-lawyer.htm nevada-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/nevada-lawyer.htm new-jersey-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-jersey-lawyer.htm new-york-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-york-lawyer.htm new-york-personal-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/new-york-personal-injury-lawyer.htm north-carolina-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/north-carolina-lawyer.htm ohio-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/ohio-lawyer.htm oklahoma-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/oklahoma-lawyer.htm oregon-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/oregon-lawyer.htm patent-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/patent-lawyer.htm pennsylvania-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/pennsylvania-lawyer.htm personal-injury-lawyer-south-florida.htm http://mywebpage.netscape.com/bestlaywer13/personal-injury-lawyer-south-florida.htm personal-injury-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/personal-injury-lawyer.htm philadelphia-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/philadelphia-lawyer.htm pro-bono-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/pro-bono-lawyer.htm real-estate-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/real-estate-lawyer.htm san-diego-dui-lawyer.htm http://mywebpage.netscape.com/bestlaywer13/san-diego-dui-lawyer.htm 2006/08/06 22:29 CST 2006/08/07 03:38 CST 2006/08/07 08:25 CST 2006/08/07 13:46 CST 2006/08/07 18:33 CST avupra --2006/08/07 20:22 CST http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm [url=http://cheapestworld.pisem.net/free-resume-search.htm]?free-resume-search.htm[/url]? [url]?http://cheapestworld.pisem.net/free-resume-template.htm[/url]?http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm free-resume-help.htm http://cheapestworld.pisem.net/free-resume-help.htm free-resume-maker.htm http://cheapestworld.pisem.net/free-resume-maker.htm free-resume-search.htm http://cheapestworld.pisem.net/free-resume-search.htm free-resume-template.htm http://cheapestworld.pisem.net/free-resume-template.htm free-resume-writing.htm http://cheapestworld.pisem.net/free-resume-writing.htm free-resume.htm http://cheapestworld.pisem.net/free-resume.htm free-sample-resume.htm http://cheapestworld.pisem.net/free-sample-resume.htm functional-resume.htm http://cheapestworld.pisem.net/functional-resume.htm how-i-can-do-a-resume.htm http://cheapestworld.pisem.net/how-i-can-do-a-resume.htm how-to-make-a-resume.htm http://cheapestworld.pisem.net/how-to-make-a-resume.htm how-to-write-a-resume-free.htm http://cheapestworld.pisem.net/how-to-write-a-resume-free.htm how-to-write-a-resume.htm http://cheapestworld.pisem.net/how-to-write-a-resume.htm index.htm http://cheapestworld.pisem.net/index.htm job-resume.htm http://cheapestworld.pisem.net/job-resume.htm logistics-job-resume.htm http://cheapestworld.pisem.net/logistics-job-resume.htm make-a-free-resume.htm http://cheapestworld.pisem.net/make-a-free-resume.htm making-a-resume.htm http://cheapestworld.pisem.net/making-a-resume.htm microsoft-resume-template.htm http://cheapestworld.pisem.net/microsoft-resume-template.htm nurse-resume.htm http://cheapestworld.pisem.net/nurse-resume.htm nursing-resume.htm http://cheapestworld.pisem.net/nursing-resume.htm online-resume.htm http://cheapestworld.pisem.net/online-resume.htm post-resume.htm http://cheapestworld.pisem.net/post-resume.htm professional-resume-example.htm http://cheapestworld.pisem.net/professional-resume-example.htm professional-resume-writer.htm http://cheapestworld.pisem.net/professional-resume-writer.htm professional-resume.htm http://cheapestworld.pisem.net/professional-resume.htm resume-and-portfolio.htm http://cheapestworld.pisem.net/resume-and-portfolio.htm resume-builder.htm http://cheapestworld.pisem.net/resume-builder.htm resume-cover-letter-example.htm http://cheapestworld.pisem.net/resume-cover-letter-example.htm resume-cover-letter.htm http://cheapestworld.pisem.net/resume-cover-letter.htm resume-cover-page.htm http://cheapestworld.pisem.net/resume-cover-page.htm resume-database.htm http://cheapestworld.pisem.net/resume-database.htm resume-example.htm http://cheapestworld.pisem.net/resume-example.htm resume-for-pharmaceutical-industry.htm http://cheapestworld.pisem.net/resume-for-pharmaceutical-industry.htm resume-form.htm http://cheapestworld.pisem.net/resume-form.htm resume-format-sample.htm http://cheapestworld.pisem.net/resume-format-sample.htm resume-format.htm http://cheapestworld.pisem.net/resume-format.htm resume-help.htm http://cheapestworld.pisem.net/resume-help.htm resume-layout.htm http://cheapestworld.pisem.net/resume-layout.htm resume-maker.htm http://cheapestworld.pisem.net/resume-maker.htm resume-objective-example.htm http://cheapestworld.pisem.net/resume-objective-example.htm resume-objective.htm http://cheapestworld.pisem.net/resume-objective.htm resume-outline.htm http://cheapestworld.pisem.net/resume-outline.htm resume-search.htm http://cheapestworld.pisem.net/resume-search.htm resume-service.htm http://cheapestworld.pisem.net/resume-service.htm resume-template-download-free.htm http://cheapestworld.pisem.net/resume-template-download-free.htm resume-template.htm http://cheapestworld.pisem.net/resume-template.htm resume-tip.htm http://cheapestworld.pisem.net/resume-tip.htm resume-wizard.htm http://cheapestworld.pisem.net/resume-wizard.htm resume-writer.htm http://cheapestworld.pisem.net/resume-writer.htm tkqbnlz --2006/08/07 22:33 CST 2006/08/07 23:03 CST 2006/08/08 04:01 CST 2006/08/08 09:04 CST 2006/08/08 14:53 CST 2006/08/08 20:32 CST 2006/08/09 02:45 CST 2006/08/09 08:07 CST 2006/08/09 13:28 CST 2006/08/09 18:56 CST buy cheap phentermine --2006/08/09 21:42 CST 2006/08/10 00:47 CST 2006/08/10 06:20 CST 2006/08/10 12:41 CST eiligo --2006/08/10 22:24 CST www.xanax4everyone.blogspot.com buy cheap vicodin [url=www.paris-hilton-forever4.blogspot.com]?paris hilton[/url]? [url]?www.ringtones-phones-melodies.blogspot.com[/url]?www.phone-sex-opyati-porno.blogspot.com cell phones www.teen-pornushkaa.blogspot.com refinance cheap xanax www.xanax4everyone.blogspot.com buy cheap vicodin www.buy-cheap-vicodin24x7x256.blogspot.com paris hilton www.paris-hilton-forever4.blogspot.com free ringtones www.ringtones-phones-melodies.blogspot.com lawyer www.lawyers-best-s.blogspot.com www.phone-sex-opyati-porno.blogspot.com cell phones www.cell-kletka-phones.blogspot.com teen porn www.teen-pornushkaa.blogspot.com refinance www.refinance-babloo.blogspot.com movies www.movies-sadjh.blogspot.com black sex www.black-sex-nigerssz.blogspot.com voyeur www.voyeur-redjf.blogspot.com teens www.teenszz.blogspot.com online casino www.zzz-online-casino.blogspot.com amateur www.amateur-zzzxc.blogspot.com adult personal ads www.1adultpersonalads1.blogspot.com sex toy www.sexyyytoy.blogspot.com teen+movies www.freeeteenmovies.blogspot.com loan www.loan-kto-eto.blogspot.com live sex cams www.livesexcams-porivo.blogspot.com airline tickets www.airline-tickets-al-kaida.blogspot.com weight loss pills www.weightlosspillsz.blogspot.com tits www.tits-cooler.blogspot.com ass www.ass-zhopa.blogspot.com home equity loans www.home-equity-loans-zaa.blogspot.com muscle sex www.muscle-sex-xc.blogspot.com teen pussy www.teen-pussy-cats.blogspot.com didrex www.didrex-x9.blogspot.com gay porn www.gay-porn-pentuki.blogspot.com hentai www.hentai-japanisss.blogspot.com pharmacy www.pharmacy-online24x7.blogspot.com www.pissing-ss.blogspot.com gay sex www.gay-sex-pro-pidorov.blogspot.com sexy women www.sexy-women-yyeax.blogspot.com ionamin www.tabletka-ionamin.blogspot.com big penis www.big-penis-hehe.blogspot.com valium www.valium--valium.blogspot.com meridia www.meridia-zuz.blogspot.com buy viagra www.prosto-buy-viagra.blogspot.com hardcore www.hardcore-zzz.blogspot.com models www.models-maximmko.blogspot.com work at home www.work-at-home-like-me.blogspot.com models www.models-maximm.blogspot.com adult+photo+personals www.adult-photo-personals-sekas.blogspot.com big nipples www.big-big-nipples.blogspot.com diet pills www.diet-pills-zhir.blogspot.com dating www.dating-svidanko.blogspot.com adult www.prosto-tupo-adult.blogspot.com anal+sex www.anal---sex.blogspot.com My homepage --2006/08/11 08:40 CST My homepage --2006/08/11 08:40 CST ikpso --2006/08/11 13:38 CST free incest stories --2006/08/11 14:04 CST 2006/08/11 15:44 CST 2006/08/11 21:46 CST 2006/08/12 04:56 CST 2006/08/12 11:04 CST 2006/08/12 16:45 CST mrotgka --2006/08/12 17:44 CST www.teen---sex.blogspot.com oral sex [url=www.adult-photo-personals-hehe.blogspot.com]?adult photo personals[/url]? [url]?www.teen-teenteen.blogspot.com[/url]?www.adult-dating-free-here.blogspot.com debt consolidation www.xenical-vot.blogspot.com adult friend finder teen+sex www.teen---sex.blogspot.com oral sex www.oral-sex-kruto.blogspot.com adult photo personals www.adult-photo-personals-hehe.blogspot.com teen www.teen-teenteen.blogspot.com sex toys www.funnys-sex-toys.blogspot.com adult dating free www.adult-dating-free-here.blogspot.com debt consolidation www.debt-consolidation-zopa.blogspot.com xenical www.xenical-vot.blogspot.com adult friend finder www.adult-friend-finder-and-have-asex.blogspot.com ambien www.ambien-cheap-costs.blogspot.com stop smoking www.stop-smoking-narkotiks.blogspot.com penis enlargement pill www.penis-enlargement-pillsss.blogspot.com boobs www.boobs-xx7.blogspot.com limewire www.limewire-everywere.blogspot.com free asian porn www.free-asian-porn-kings.blogspot.com porn video www.porn-video-kings.blogspot.com buy phentermine www.buy-phentermine-for-cheap-costs.blogspot.com pussy www.pussy-my-my.blogspot.com free porn clips www.free-porn-clips44.blogspot.com online pharmacy www.cheapest-online-pharmacy.blogspot.com animal sex www.funny-animal-sexx.blogspot.com asian sex www.free1-asian-sex.blogspot.com bdsm www.bdsm-msn-free.blogspot.com resume www.best2-free-resume.blogspot.com soma www.soma-free-cool.blogspot.com anal sex www.4-anal-sex4.blogspot.com mature sex www.mature-sex-v2.blogspot.com group sex www.group-sex-many.blogspot.com xanax www.xanax-for-true-free.blogspot.com xanax www.xanax-x0.blogspot.com sexy lingerie www.sexy-lingerie-cc.blogspot.com amateur sex www.amateur-sex-m.blogspot.com swinger personals www.swinger-personals-z2.blogspot.com anal www.anal-anal-x3.blogspot.com free sex www.free-sex-fre1.blogspot.com paris hilton www.paris-hilton-a-star.blogspot.com sex chat www.24x7x256-sex-chat.blogspot.com adipex www.24x7x256-adipex.blogspot.com big tits www.very-big-tits-1.blogspot.com hydrocodone www.hydrocodone-24x7.blogspot.com penis enlargement www.24x7-penis-enlargement.blogspot.com vicodin www.vicodin-24x7x256.blogspot.com tramadol www.tramadol-zz.blogspot.com adult personals www.adult-personals-2006-08.blogspot.com teen sex www.teen-sex-yhoo.blogspot.com adult dating www.adult-dating-2006-08.blogspot.com porn www.porn-baby5.blogspot.com swingers www.swingers-swingers-7.blogspot.com viagra www.viagra-o-da.blogspot.com Valium --2006/08/12 21:43 CST carisoprodol phentermine yellow --2006/08/12 21:50 CST Phentermine --2006/08/12 21:55 CST 2006/08/12 21:59 CST Viagra --2006/08/12 22:14 CST 2006/08/13 03:26 CST 2006/08/13 09:05 CST 2006/08/13 14:37 CST text --2006/08/13 16:42 CST 2006/08/13 18:34 CST Soma --2006/08/13 18:56 CST Tramadol --2006/08/13 20:11 CST Ringtones --2006/08/14 12:14 CST text --2006/08/14 15:33 CST Mobile 17 Ringtones --2006/08/14 17:46 CST Free Music Ringtones For Nextel --2006/08/14 18:00 CST Cingular Ringtones --2006/08/14 20:33 CST Phentermine --2006/08/14 20:50 CST Xanax --2006/08/14 21:22 CST
When I telnet to port 5222 and pass the following "
I tested port and i have this problem in syslog [0.0.0.0, port=5347]? unable to listen (Address already in use)
That means some other program is listening on that port already, possibly even another jabberd2 process.
5. Common Configuration Tasks
5.1. Configuring Firewall for Internet Access
5.2. Configuring Jabberd 2 for SSL Connections
sm, resolver, s2s and c2s) and the Jabberd router. A single SSL certificate may be used for these two functions (Jabber client to Jabberd and Jabberd component to router), or two separate keys may be used. See the appendix, Generating a Self-Signed SSL Certificate for instructions about how to create your own self-signed certificate for use by Jabberd 2.
router, sm, resolver, s2s and c2s). 5.2.1. Assigning a Certificate for Use by Jabber Clients
c2s.xml. Note that c2s.xml contains the location of the SSL key used by Jabber clients in addition to the location of the SSL key used for c2s to router communications.
pemfile (your SSL key) location under the section labeled Local network configuration, and edit it for the location of your SSL key. Note that if your PEM file is in the default location of /usr/local/etc/jabberd/server.pem, you need only uncomment this section as below:
<!-- File containing a SSL certificate and private key for client
connections. If this is commented out, clients will not be
offered the STARTTLS stream extension -->
<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>
ssl-port tags:
<ssl-port>5223</ssl-port>
require-starttls tag as below:
<!-- Require STARTTLS. If this is enabled, clients must do STARTTLS
before they can authenticate. Until the stream is encrypted,
all packets will be dropped. -->
<require-starttls/>
5.2.2. Assigning a Certificate for Use by Jabberd Components
router.xml
sm.xml
resolver.xml
s2s.xml
c2s.xml
pemfile tag for router communications. In the router.xml file, the pemfile is specified under the section labeled Local network configuration. In each of the the remaining four configuration files above, the pemfile location is specified under the section labeled Router connection configuration. Uncomment this section and edit it to point to the location of your SSL key. For example, you would edit c2s.xml as below if you are using the default location for your SSL key:
<!-- Router connection configuration -->
<router>
<!-- IP/port the router is waiting for connections on -->
<ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
<port>5347</port> <!-- default: 5347 -->
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
<pass>secret</pass> <!-- default: secret -->
<!-- File containing a SSL certificate and private key to use when
setting up an encrypted channel with the router. If this is
commented out, or the file can't be read, no attempt will be
made to establish an encrypted channel with the router. -->
<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>
5.3. Changing Router Password
router-users.xml, contains ID's and password(s) for components that are allowed to connect to the router. By default, the ID is jabberd and the password is secret. router-users.xml.router-users.xml and then in sm.xml, resolver.xml, s2s.xml and c2s.xml.
router-users.xml as below (replacing newpass with your new password):
<users>
<user>
<name>jabberd</name>
<secret>newpass</secret>
</user>
</users>
sm.xml, resolver.xml, s2s.xml and c2s.xml. In each of these files there are tags for the router user in the router section. Change the password as below (replacing newpass with your new password):
<!-- Router connection configuration -->
<router>
<!-- IP/port the router is waiting for connections on -->
<ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
<port>5347</port> <!-- default: 5347 -->
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
<pass>newpass</pass> <!-- default: secret -->
router.xml Must Be Edited If User Is Changedrouter-users.xml is changed, then the user listed in the acl section of router.xml must also be changed:
<!-- Access control information -->
<aci>
<!-- The usernames listed here will get access to all restricted
functions, regardless of restrictions further down -->
<acl type='all'>
<user>jabberd</user>
</acl>
5.4. Creating an Administrative User
aci section of sm.xml. By default, the administrative user is admin@localhost. In order to enable an administrative user that can be accessed remotely, change the jid to a user of your own choosing as below:
<acl type='all'>
<jid>admin@lsomedomain.com</jid>
</acl>
acl type. See the examples in the sm.xml file. 5.5. Disabling Public Registration
c2s.xml configuration file.Authentication/registration database configuration section, look for the Registration configuration subsection. Commenting the enable tag as below will disable public registration:
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>mysql</module>
<!-- Registration configuration -->
<register>
<!-- Account registration is enabled by default (provided the
auth/reg module in use supports it). Comment this out to
disable. -->
<!--
<enable/>
-->
5.6. Enabling User Password Change
password tag in the authreg section in c2s.xml as below:
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>mysql</module>
<!-- Registration configuration -->
<register>
<!-- Account registration is enabled by default (provided the
auth/reg module in use supports it). Comment this out to
disable. -->
<enable/>
<!-- Human-readable instructions to be returned to client when
registration is requested. -->
<instructions>Enter a username and password to register with this server.</instructions>
<!-- Password change only. When registration is disabled, it may
still be useful to allow clients to change their password. If
you want this, uncomment this when you disable registration. -->
<password/>
5.7. Setting DNS SRV Records
somedomain.com resolves host1.somedomain.com, and your Jabberd server is running on host1, SRV records would not be required. 5.7.1. SRV Records for Jabberd
_jabber._tcp.<domain> -> <host>.<domain>:5269
_xmpp-server._tcp.<domain> -> <host>.<domain>:5269
_xmpp-client._tcp.<domain> -> <host>.<domain>:5222
5.7.2. Creating SRV Records in Bind
_jabber._tcp.some_domain.com. 86400 IN SRV 5 0 5269 host.some_domain.com.
_xmpp-server._tcp.some_domain.com. 86400 IN SRV 5 0 5269 host.some_domain.com.
_xmpp-client._tcp.some_domain.com. 86400 IN SRV 5 0 5222 host.some_domain.com.
some_domain.com with your domain name and host with the name of the host, and do not omit the "." after the domain name. 5.7.3. Creating SRV Records in TinyDNS
host.some_domain.com using a priority of 10 and a weight of '0':
:_jabber._tcp.some_domain.com:33:\000\012\000\000\024\225\004host\013some_domain\003com\000
:_xmpp-client._tcp.some_domain.com:33:\000\012\000\000\024\146\004host\013some_domain\003com\000
:_xmpp-server._tcp.some_domain.com:33:\000\012\000\000\024\225\004host\013some_domain\003com\000
5.7.4. Testing SRV Records
_jabber._tcp.some_domain.com, using the DNS server my.dns_server.com, you would enter the command below:
dig @my.dns_server.com _jabber._tcp.some_domain.com any +short
10 0 5269 host.some_domain.com.
5.8. Using Jabberd 1.4 to Connect to Legacy Services
sm.xml if the component does not support discovery (disco). For example, MU Conference supports discovery, so no entry is required in sm.xml in order to make this service browsable. On the other hand, JUD (Jabber User Directory) does not support discovery; therefore, an entry would be required in sm.xml to make a JUD browsable by users. See sm.xml for examples. 5.8.1. XDB Section
<xdb id="xdb">
<host>conference.somedomain.com</host>
<load>
<xdb_file>/usr/local/jabber/xdb_file/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
<spool>/usr/local/var/spool/jabber</spool>
</xdb_file>
</xdb>
5.8.2. Log Section
<log id="muclog">
<file>/usr/local/var/jabberd/log/muc.log</file>
<host/>
<logtype/>
<format>%d: [%t] (%h): %s</format>
</log>
muc.log. Each service should have a separate log file. 5.8.3. Router IP Address and Port
5347, so the beginning of the id section of your linked file would look something like this:
<service id="muclinker">
<uplink/>
<connect>
<ip>192.168.0.2</ip> <!-- IP Address of Router here -->
<port>5347</port>
5.8.4. Shared Password
secret, must be specified in your the configuration file for your linked component:
<service id="muclinker">
<uplink/>
<connect>
<ip>192.168.0.2</ip> <!-- IP Address of Router here -->
<port>5347</port>
<secret>ComponentPass</secret>
</connect>
</service>
secret must also be specified in your router.xml file. The secret is set in the section labeled 'local network configuration':
<!-- Local network configuration -->
<local>
<!-- IP address to bind to (default: 0.0.0.0) -->
<ip>0.0.0.0</ip>
<!-- Port to bind to (default: 5347) -->
<port>5347</port>
<!-- File containing the user table. This is where the router gets
its component and secret information from for component
authentication.-->
<users>/usr/local/etc/jabberd/router-users.xml</users>
<!-- Shared secret used to identify legacy components (that is,
"jabber:component:accept" components that authenticate using
the "handshake" method). If this is commented out, support for
legacy components will be disabled. -->
<secret>ComponentPass</secret>
secret tag in router.xml (as above), and not in the router-users.xml file. 5.8.5. Router Name Alias
router.xml file must also contain an alias for the linked component, and the router.xml file provides an example for uplinking an MSN transport. Add an alias section for the component to which you are linking. Continuing with the example above, this alias would be set as below in 'router.xml':
<!-- Name aliases.
Packets destined for the domain specified in the "name" attribute
will be routed to the component that has currently bound the name
in the "target" attribute (assuming it is online).
This is usually only required for some kinds of legacy
components (particularly jabberd 1.4 "uplink" components) -->
<aliases>
<!-- Example for a msn transport running from a jabberd 1.4 uplink -->
<!--
<alias name='msn.domain.com' target='msn-linker'/>
-->
<alias name='conference.somedomain.com' target='muclinker'/>
</aliases>
target references the service id as specified in the linked component XML file (as shown in Section 5.5.4). 5.8.6. Example: muc.xml
muc.xml file for MU Conferencing appears below:
<jabber>
<service id="muclinker">
<uplink/>
<connect>
<ip>192.168.0.2</ip> <!-- IP Address of Router here -->
<port>5347</port>
<secret>ComponentPass</secret>
</connect>
</service>
<service id="conference.somedomain.com">
<load>
<conference>/usr/local/jabber/mu-conference/src/mu-conference.so</conference>
</load>
<conference xmlns="jabber:config:conference">
<public/>
<vCard>
<FN>Public Chatrooms</FN>
<DESC>This service is for public chatrooms.</DESC>
</vCard>
<history>50</history>
<logdir>/usr/local/var/jabberd/log/muc/</logdir>
<sadmin>
<user>admin@somedomain.com</user>
</sadmin>
<notice>
<join>has become available</join>
<leave>has left</leave>
<rename>is now known as</rename>
</notice>
</conference>
</service>
<log id="muclog">
<file>/usr/local/var/jabberd/log/muc.log</file>
<host/>
<logtype/>
<format>%d: [%t] (%h): %s</format>
</log>
<xdb id="xdb">
<host>conference.somedomain.com</host>
<load>
<xdb_file>/usr/local/jabber/xdb_file/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
<spool>/usr/local/var/spool/jabber</spool>
</xdb_file>
</xdb>
</jabber>
/usr/local/jabber/jabberd/jabberd -c /etc/jabber/muc.xml
-c parameter specifies a configuration file for Jabberd 1.4. After you restart your Jabberd 2 server, your new (legacy) service should be running. In the case of MU Conference, you should be able to set up multi-user chat rooms via a compatible client, or via the script included with the tarball. 5.9. Using JCR to Connect to Jabberd 2 Components
5.9.1. Download JCR and MU Conference
tar -xzvf jcr-0.2.4.tar.gz
glib-2.0. You should check that this is installed on your system before building the JCR library. 5.9.2. Build the JCR Library
cd jcr-0.2.4
make
TERROR_. These errors did not prevent me from successfully using JCR. 5.9.3. Build the Component
mu-conference-0.6.0.tar.gz, into the JCR directory, in this case jcr-0.2.4, and then untar the service package there:
mv ../mu-conference-0.6.0.tar.gz ./
tar -xzvf mu-conference-0.6.0.tar.gz
main.c and jcomp.mk) to the src directory of the service:
cp src/main.c mu-conference-0.6.0/src/
cp src/jcomp.mk mu-conference-0.6.0/src/
cd to the src directory of the service and build the JCR component:
cd mu-conference-0.6.0/src/
make -f jcomp.mk
mu-conference/src/ directory) called mu-conference. This binary provides the MU Conference service for Jabberd 2. Copy this binary to a bin directory, such as /usr/local/bin. 5.9.4. Configure the Component
src directory of the JCR package contains an sample configuration file (muc_conf.xml) for use with MU Conference. Copy this file to the directory where your Jabberd 2 configuration files exist, such as /etc/jabberd or /usr/local/etc/jabberd. muc_conf.xml for your own installation. Within muc_conf.xml, set the directories for spool, logdir (there are 2 log directories) and pidfile. These should be set to directories over which your jabber user has permissions. (Note that spool refers to the spool directory.) Set the host to a name that is resolvable by your clients. Set the ip to the IP address or hostname of your Jabber server. Set the secret to match the secret used to identify legacy components in your router.xml file (found in the local section). You may also wish to set an administrator JID (sadmin).router.xml file to provide an alias for this service. Under the Name aliases section, add an alias that identifies this service:
<alias name='conference.somedomain.com' target='linker'/>
conference.somedomain.com is the host specified in mu_conf.xml, and linker is the name specified in mu_conf.xml. 5.9.5. Start the Component
mu-conference binary:
su jabber
/usr/local/bin/mu-conference -c /etc/jabberd/muc-conf.xml
mu-conference binary does not detach from the terminal when started. You may wish to use Daemon Tools to start mu-conference on boot. 5.10. Setting up a JUD Using Users-Agent
users-agent (Perl script)config.xml (configuration file)JUD (MySQL database)users-agent script is the running program that provides the JUD service. The users-agent script relies on the config.xml file for configuration. The config.xml file must be in the same path from which users-agent is run — or the -c option must be used to specify the location of config-xml. users-agent stores all data in a MySQL database named JUD. The package comes with a script named createDB that sets up the JUD database.
5.10.1. Install Required Perl Modules
Net::Jabber v1.30
XML::Stream v1.18
DBI
cpan shell by running this command (as super-user):
perl -MCPAN -e shell
cpan shell, you will enter an interactive setup script. Once finished, you will be ready to install the packages above (while still in the cpan shell):
cpan> install Net::Jabber
cpan> install XML::Stream
cpan> install DBI
cpan shell by using the command above (perl -MCPAN -e shell). 5.10.2. Download and Install Users-Agent
/etc/jabberd.
tar -zxvf users-agent-1.1.tar.gz
cd users-agent-1.1
5.10.3. Create JUD Database
createDB script that will create the MySQL JUD database. This script needs to temporary access an existing MySQL database as the means to connect to MySQL and install the JUD database. The easiest way to grant it access is to temporarily disable your MySQL root password by running this command:
mysqladmin -u root -p password ""
createDB script so that lines 13 and 17 contain your MySQL root password (enter it between the empty quotes). However, if you do not disable your MySQL root password, you must also export the DBI_DRIVER environment variable prior to running createDB. The DBI_DRIVER variable should be set to a value of dbi:mysql:test:localhost, where test is a working MySQL database.createDB and set the DBI_DRIVER variable), run the script to create your JUD database:
./createDB
mysqladmin -u root password "oldrootpassword"
mysql console:
mysql -u root -p
mysql> show databases;
+----------+
| Database |
+----------+
| JUD |
| jabberd2 |
| mysql |
| test |
+----------+
4 rows in set (0.00 sec)
JUD database is now setup. 5.10.4. Set JUD Database Permissions
JUD database is created, permissions need to be granted to it. If you are using MySQL for Jabberd 2 authentication or storage, you already have a MySQL user that can be used for the JUD database. If this is the case, enter the MySQL console and run this SQL statement to grant the MySQL user jabberd2 permissions to the JUD database (replace jabberd2 if you are not using the default MySQL user):
mysql -u root -p
mysql> use JUD;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'jabberd2'@'localhost' WITH GRANT OPTION;
sm.xml or c2s.xml and scan down below MySQL driver configuration, where you will find the user and password (pass) that you are using to connect with Jabberd 2.users-agent will use to connect to MySQL (replace secret_password with a the password you wish to use for this MySQL user):
mysql -u root -p
mysql> use JUD;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'jabberd2'@'localhost'
-> IDENTIFIED BY 'secret_password' WITH GRANT OPTION;
jabberd2 user to start the MySQL console. You will need your jabberd2 MySQL password (created immediately above or found in sm.xml) to start the console:
mysql -u jabberd2 -p
mysql> use JUD;
mysql> select * from jud;
Empty set (0.01 sec). Your JUD database is now ready for use by users-agent. 5.10.5. Configure
config.xml config.xml for configuration. Open config.xml in a text editor. To get Users-Agent running, I edited the values between these 6 tags:
<hostname>
<port>
<secret>
<name>
<username>
<password>
hostname value to provide the hostname of your Jabberd 2 server. This should match the id at the top of sm.xml.port to provide the port number that the Jabberd 2 router is listening on. By default, this would be 5347.secret to provide the shared secret that the Jabberd 2 router uses to connect to legacy components. The shared secret you are currently using can be found in router.xml near the top. Look for the secret tag pair under the section labeled Local Network configuration. name to provide the hostname for the Users-Agent. This hostname is usually something like users.somedomain.com, users.jabber.somedomain.com, jud.somedomain.com, etc. This hostname must be resolvable via DNS if your clients are to access it over the Internet. username to provide the MySQL user (from step 5.10.4.). For default installations, the username will be jabberd2.password to provide the MySQL user password (from step 5.10.4.). Again, this password can be found in sm.xml or c2s.xml if you are already using MySQL with Jabberd 2.users-agent is now configured for use. 5.10.6. Test
users-agent users-agent. Make sure that your Jabberd 2 and MySQL servers are running. Then, start users-agent :
su jabber
./users-agent
users-agent running, you should be able to see Users-Agent as an available service. How your client displays this depends on the client. The Users-Agent service should offer both Register and Search options.JUD database is empty, so you will need to register some users to test it. From your Jabber client, select Register (this is usually a right-click option in Jabber clients). You should be presented with the option of registering for this service along with a form into which you can enter personal information.
register and search options when right-clicking on the Users-Agent. Selecting Discovery (info) did provide these options in JAJC. Exodus performed the best of all the clients I tested (PSI, Gabber, Gnome-Gabber, Kopete, Exodus, JAJC and Neos).Search. You should be presented with a search form.
5.10.7. Set Users-Agent to Start with Jabberd 2
users-agent will die if it cannot connect to the router component. This means that if your Jabberd 2 server is stopped or dies, users-agent will die and therefore need restarting. You may wish to use Daemon Tools to make sure that users-agent is always restarted if it cannot connect to the router. 5.11. Integrating Users-Agent with vCard Data (private servers only)
users-agent file is installed. Apply the patch with this command:
patch -p0 < users-agent.vcard.patch
config.xml so that dbname is the name of your Jabberd 2 MySQL database (usually jabberd2). Edit the username and password if necessary. Restart users-agent, and it should now be connecting to Jabberd 2 vCard data.
Comments about this Document
As well as the files listed, one must also change the acl entry for jabberd in router.xml is you change the name of the router user in addition to the password
Thanks. I have changed this above.
I've got jabberd2 running. I've got JCR compiled. I've got MUC compiled against JCR. I see a bunch of example xml files. How do I get jabberd2 to know about the MUC built against JCR?
My 1st attempt at installing jabberd. I only want SSL connections, however if I follow the instructions above the server dies with errors like: jabberd/c2s[14492]?: both normal and SSL ports are disabled, nothing to do!
To get around this I needed to uncomment the use of port 5223. This is counter intuitive as I dont want to support older clients:
<!-- Older versions of jabberd support encrypted client connections
via an additional listening socket on port 5223. If you want
this (required to allow pre-STARTTLS clients to do SSL),
uncomment this -->
<!--
<ssl-port>5223</ssl-port>
-->
I think this is what
<require-tls>, that is.
I've changed the STARTTLS/SSL information above to reflect changes in stable 3.
SECTION 5.10.3. Create JUD Database (or not to create JUD DB)
The default port in the users-agent-1.1 config.xml file is wrong. Change it from 5226 to 5347. Then restart users-agent or jabberd.
The default port for Users-Agent is not so much wrong as it doesn't work for Jabberd 2. That is, the default port would work with Jabberd 1.4 if the server were configured to connect to Users-Agent on that port. I'm sorry you spent quite a bit of time trying to get it to work; however, Section 5.10.5. does state that the port should be set to the port that the router is listening on (default to 5347).
6. Common Administrative Tasks
6.1. Starting and Stopping Jabberd 2
6.1.1. Starting Jabberd 2
jabberd start script starts the Jabberd 2 server. This script is installed in the same directory with the Jabberd 2 binaries (/usr/local/jabberd by default). To start the server, switch to the jabber user and run the start script:
su jabber
/usr/local/bin/jabberd
/usr/local/etc/jabberd by default) for each Jabberd 2 binary. 6.1.2. Stopping Jabberd 2
router
resolver
sm
c2s
s2s
6.2. Converting from Jabberd 1.4
6.3. Adding Users
6.3.1. Enabling Auto-Create
user section of sm.xml contains a tag named auto-create, and enabling this tag causes a user to be created in the storage package the first time a user logs on if that user does not yet exist in that database. With this tag enabled, users can be manually added to the authentication (authreg) database, and when each user logs in for the first time, Jabberd will create rosters, templates, etc. for that user. Specifically, the auto-create tag causes the user-create chain to be called when a new user logs in for the first time.auto-create tag in the user section of the sm.xml file. This tag is near the end of the sm.xml file. 6.3.2. Creating Users from MySQL Console
auto-create is enabled, you can create a user from the MySQL console.
mysql -u jabberd2 -p
jabberd2 database:
mysql> use jabberd2
authreg table. The row should contain values for username, realm and password :
mysql> insert into authreg (username, realm, password)
-> values ('myusername', 'somedomain.com', 'mypassword');
somedomain.com to match your configuration. In most cases, the realm will be the same as the ID of the Jabber server. Change myusername and mypassword to the name and password for your new user. 6.4. Removing Users
mysql> delete from authreg where username='the_user_name';
authreg table will not delete additional user data, such as rosters; however, once the user has been deleted from the authreg table, the user will no longer be able to log on to the Jabberd server. 6.5. Sending MOTD's and Messages to All Online Users
broadcast privileges. See Section 5.4 for information about how to assign these privileges. Once an account has broadcast privileges, these messages can be sent from a Jabber client. Add the following contacts to the administrative account you have created:
somedomain.com/announce
somedomain.com/announce/online
somedomain.com/announce will send a Jabber MOTD to all users on the domain. Offline users will receive the message the next time they log on. Sending a message to somedomain.com/announce/online sends a message only to online users. Note that if your Jabber client does not provide explicit support for MOTD's, you can add a contact with the JID's above, and use that contact to send MOTD's.
Comments about this Document
I've noticed that with Jabberd2s3, I am unable to log in users unless they are added to the active table as well. You might want to note that in the documentation unless that shouldn't be the case.
Whether you need to manually add users to the active table depends on the type of auth you are using. For MySQL, PostgreSQL and Berkeley DB, the users should get added to the active table automatically the first time they log in. This is not true for OpenLDAP and PAM auth; however, users will get added automatically to the active table (using OpenLDAP or PAM) if you enable auto-create in sm.xml. Thus, you shouldn't really need to manually add users to the active table. See Section 4.6 and Section 4.7.
See 6.3.1. Enabling Auto-Create - you need to uncomment auto-create in the sm.xml file in order to add a user to authreg and have the jabber client auto add the record to the active table as well
I can't create a login name manually in Berkeley DB storage. No tools or hints. Should I write my own programm?
Jabberd 2 does not have a facility for managing users as stored in Berkeley DB. I've added a brief note to this effect above. If you do write your own program for managing users, please consider sharing it on the jadmin list.
Brent Towsley contributed this PHP script to add JABBER users to MYSQL backend.
Ive installed jabber2 with Berkeley DB. Now if a user forgets his/her password,how do i change the password.The only way out i reckon is to delete the user from the berkeley DB database and recreate it wid a new password.How is that possible..Help..??? Neone..???
Atul Kamat
Ive installed jabber2 with Berkeley DB. Now if a user forgets his/her password,how do i change the password.The only way out i reckon is to delete the user from the berkeley DB database and recreate it wid a new password.How is that possible..Help..??? Neone..???
Atul Kamat
Network Engineer
Offhand, I cannot think of a way to delete a user from a Berkeley DB authorization/data store. Berkeley DB is extremely limited in this respect because it does not include a client tool for manually manipulating data in the database. The idea behind Berkeley DB is that all data handling is done by the application itself, in this case Jabberd 2.
In that case what do i do if a user forgets his password .How do i create a new password for him? Regards
7. Router.xml Configuration
router.xml file provides configuration for the router component, which is the backbone of the Jabberd server. The router component accepts connections from other components, and it passes XML packets between them. The router.xml file contains these primary sections:
7.1. ID, PID and Logging
router.xml handle basic housekeeping items. For nearly all installations, the id section should be kept as default (router). The pid section specifies where the router component should write its process ID. If you do not need to be able to read the process ID from outside of Jabberd, you may comment this section out. For example, if you were to use D.J. Bernstein's DaemonTools to run Jabberd, you would comment the pid section. syslog. If you prefer the router to write to its own log file, change the log type to file, and specify a location for the log. 7.2. Network
local subsection handles network and connection settings for the router. The ip and port tags specify the network settings.
0.0.0.0 Specifies All Available IP's0.0.0.0 specifies that the component should listen on all available IP addresses. 0.0.0.0 is the default setting for IP addresses, and keeping this default setting should be fine for most installations.users tag specifies the file containing user ID's and passwords for users that can access the router. See the next section for a description of this file.secret tags specify a shared secret for legacy services. Legacy services are authenticated via this shared secret, as opposed to being authenticated against the user list in the router-users.xml file. This secret is tantamount to the shared secret specified for Jabberd 1.4 linked configuration files. See Section 5.8 and 5.9 for information on setting up legacy services. pemfile location specifies the location of the certificate and private key for client communications. Note that in this instance, client refers to clients of the router, and not end-user Jabber clients. That is to say, the pemfile specified here is used to secure communications between other Jabberd components and the router itself. See Section 5.2 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between Jabberd components. 7.3. Input/Output Control
i/o section controls the following input/output options:
7.3.1. Connection Limiting
max_fds (maximum file descriptors) setting. Jabberd uses a file descriptor for each connection. Thus, setting a maximum number of file descriptors for the router has the effect of limiting the number of concurrent connections for the Jabberd server. As the router.xml file notes, the router itself can use up to 4 connections (with other Jabberd components); therefore, the maximum number of file descriptors set here is actually slightly greater than the number of potential concurrent connections. 7.3.2. Rate Limiting
limits subsection dictates throttling for individual connections. This section is tantamount to a simplified karma setup as found in Jabberd 1.4. The default for both bytes and connects is 0. Thus, these limits are disabled by default. Administrators of servers under heavy load may wish to set limits here to prevent users from controlling excessive server resources. The router.xml file contains examples for setting rate limiting on connections. 7.3.3. IP Access Control
access subsection specifies IP addresses that should be allowed or denied access to the router. IP addresses denied access to the router cannot have their packets handled and are thus denied access to Jabberd server functions. order subsection specifies the order of rule checking (checking of allow rules then deny rules versus checking of deny rules then allow rules). IP restrictions are set using either an allow or a deny tag below the order within the access subsection. Omission of both a deny and allow rule causes all connections to be accepted — as is the default setting. 7.4. Aliases
aliases section provides support for linked legacy services, such as MU Conference and JUD. These legacy services connect directly to the router via linked configuration. Each alias specifies the resolvable name for the component and the target specifies the service id as specified in the linked component XML file. See Section 6.5 for more information about linking legacy services. 7.5. Feature Access Controls
aci section specifies the type of access for each user specified in router-users.xml. By default, the jabberd user is granted all access because the other Jabberd components connect to the router as the Jabberd user. Of special note in this section is the example of a user with the 'acl type = 'log''. Such a user would be able to receive all packets that pass through the router, and thus, all packets handled by the Jabberd server.
Comments about this Document
8. Router-users.xml Configuration
router-users.xml file is to provide a list of user and password pair(s) for authentication by the router. The default user (jabberd) is the user against which the other Jabberd components (sm, resolver, s2s and c2s) authenticate. router-users.xml file probably does not deserve its own section, except to encourage strongly that all Jabberd administrators change the default password on production servers. Using the default password (secret) leaves your Jabberd installation open to easy attack by malicious crackers.router-users.xml is changed, the corresponding passwords must be changed in the following files:
sm.xml
resolver.xml
s2s.xml
c2s.xml
Router connection configuration near the top of the above listed files.
Comments about this Document
9. Sm.xml Configuration
sm.xml file configures the session manager component of Jabberd 2. The session manager acts as a layer between the router and the externally available components — s2s and c2s. The sm.xml file configures the following functions:
sm.xml file. 9.1. Jabberd Identification
sm.xml specify the ID on the network and the PID file to write. The id section is important because it is this ID that becomes appended to user names to form a JID (Jabber Identification). For most installations, id will be the hostname — something like somedomain.com. This ID must be resolvable via DNS if the server is to communicate with other Jabber servers; therefore, it need not be resolvable for closed or local Jabberd systems. An IP address may be used as the 'id'; however, because an IP address is not resolvable via DNS, a system based on an IP address ID would not be able to communicate with other Jabber servers.pid section specifies the location of the PID file. This may be commented out if a PID file is not needed. 9.2. Communication with the Router
router section controls communication with the router component. The default ip and port should be fine for most installations, although note that if the session manager is running on a separate server, an external IP address would be specified here.user and pass sub-sections specify the user name for connecting to the router. These must match against a pair specified in router-users.xml as explained in Section 9. Basic security procedures dictate that the default password should be changed for production systems.pemfile section specifies the certificate and private key to be used for communication with the router. See Section 5.2 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between the session manager and router.retry section specifies how the session manager should try to reconnect to the router if the connection cannot be established during startup or if the connection is lost during operation. The default settings prevent the session manager from indefinitely attempting to reconnect if this connection cannot be made. These default settings will essentially cause the session manager to die if the router dies or is killed. 9.3. Logging
syslog. If you prefer the session manager to write its own log file, change the log type to file, and specify a location for the log. 9.4. Database Connection and Configuration
host for databases running on separate machines. Note that the default password (secret) should not be used on production machines. 9.5. Access Control for Administrative Functions
acl section controls which users have access to administrative functions. Among these functions are broadcast, messages and discovery. Note that specification of an administrative user in this section does not cause that user to be created in the authentication (authreg) database. Thus, you must register a user separately. Section 7.4 describes how to use an administrative account to send messages to all users. 9.6. Modules that Are Called during Sessions
modules section controls module chains that are called by specific events. Events are defined in terms of receipt or delivery of a type of packet. These module chains should be edited only by experienced Jabberd administrators. Of note are the chains that are called during user creation (user-create) and user deletion (user-delete). 9.7. Static Discovery Settings for Legacy Components
discovery section contains both standard service information for instant messaging (the identity sub-section) in addition to settings for static discovery settings for legacy components (the items sub-section). If your server is running legacy components, such as JUD, MU Conferencing, MSN-T or Aimtrans, you should complete an item sub-section if the component does not support disco (discovery). Follow the examples shown in this section to add an item for static discovery for your legacy components. 9.8. User Options
user section specifies templates that should be added to a user's data store when the user is created, and this section also specifies whether non-existent user should be created when that user logs in. This option allows an administrator to add users to the authentication database (authreg) and then have those users be created the first time they log in.
Comments about this Document
10. Resolver.xml Configuration
resolver.xml file configures the router component which handles hostname resolution for the s2s (server to server) component. The resolver.xml file configures the following functions:
10.1. PID File
pid section specifies the location of the PID file. This section may be commented if a PID file is not needed. 10.2. Communication with the Router
router section controls communication with the router component. The default ip and port should be fine for most installations, although note that if the resolver is running on a separate server, an external IP address would be specified here.user and pass sub-sections specify the user name for connecting to the router. These must match against a pair specified in router-users.xml as explained in Section 9. Basic security procedures dictate that the default password should be changed for production systems.pemfile section specifies the certificate and private key to be used for communication with the router. See Section 5.2 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between the resolver and router.retry section specifies how the resolver should try to reconnect to the router if the connection cannot be established during startup or if the connection is lost during operation. The default settings prevent the resolver from indefinitely attempting to reconnect if this connection cannot be made. These default settings will essentially cause the resolver to die if the router dies or is killed. 10.3. Logging
syslog. If you prefer the resolver to write its own log file, change the log type to file, and specify a location for the log.
Comments about this Document
11. S2s.xml Configuration
s2s.xml file handles configuration for the server-to-server Jabberd component. The s2s.xml file provides network settings for this component in addition to settings for communicating with the router component:
s2s.xml file. 11.1. PID File
pid section specifies the location of the PID file. This section may be commented if a PID file is not needed. 11.2. Communication with the Router
router section controls communication with the router component. The default ip and port should be fine for most installations, although note that if s2s is running on a separate server, an external IP address would be specified here.user and pass sub-sections specify the user name for connecting to the router. These must match against a pair specified in router-users.xml as explained in Section 9. Basic security procedures dictate that the default password should be changed for production systems.pemfile section specifies the certificate and private key to be used for communication with the router. See Section 5.2 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between s2s and router.retry section specifies how s2s should try to reconnect to the router if the connection cannot be established during startup or if the connection is lost during operation. The default settings prevent s2s from indefinitely attempting to reconnect if this connection cannot be made. These default settings will essentially cause s2s to die if the router dies or is killed. 11.3. Logging
syslog. If you prefer s2s to write its own log file, change the log type to file, and specify a location for the log. 11.4. Network Configuration
local section specifies network configuration for s2s in addition to the secret used for dialback keys. The default IP address and port should be fine for most installations (the 0.0.0.0 setting allows s2s to listen on all available IP addresses). The secret setting specifies the passphrase that s2s uses to generate dialback keys for other Jabber servers. The default setting of secret should be changed on production servers. 11.5. S2S Connection Checking
check section handles checking of connections with other Jabber servers. By default, these checks are disabled (interval is set to 0). To enable checking, set an interval in seconds, and then set intervals for queue expiry, invalid route expiry and/or keep alives.
Comments about this Document
12. c2s.xml Configuration
c2s.xml file configures the client-to-server Jabberd component. The c2s component handles communications with Jabber clients, and the settings in c2s.xml are primarily concerned with client communication:
c2s.xml file. 12.1. PID File
pid section specifies the location of the PID file. This section may be commented if a PID file is not needed. 12.2. Communication with the Router
router section controls communication with the router component. The default ip and port should be fine for most installations, although note that if c2s is running on a separate server, an external IP address would be specified here.user and pass sub-sections specify the user name for connecting to the router. These must match against a pair specified in router-users.xml as explained in Section 9. Basic security procedures dictate that the default password should be changed for production systems.pemfile section specifies the certificate and private key to be used for communication with the router. See Section 6.3 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between c2s and router.retry section specifies how c2s should try to reconnect to the router if the connection cannot be established during startup or if the connection is lost during operation. The default settings prevent c2s from indefinitely attempting to reconnect if this connection cannot be made. These default settings will essentially cause c2s to die if the router dies or is killed. 12.3. Logging
syslog. If you prefer c2s to write its own log file, change the log type to file, and specify a location for the log. 12.4. Network Configuration
local section specifies network configuration for c2s. For most installations, the id should be the same as the ID specified in sm.xml. The realm attribute can be used in cases where multiple jabber servers are relying on the same authentication database. This might be the case for a large company with several Jabber servers that authenticate via LDAP. The default IP address and port should be fine for most installations (the 0.0.0.0 setting allows c2s to listen on all available IP addresses). pemfile sub-section of the local section specifies the certificate and private key to be used for client communications. See Section 5.2 and Appendix: Generating A Self-Signed SSL Key for more information about setting up SSL on Jabberd. Commenting this section has the effect of disabling SSL communication between Jabberd and clients. Note that this key pair does not need to be the same key pair used for internal Jabberd communications. 12.5. Input/Output Control
i/o section controls the following input/output options:
12.5.1. Connection Limiting
max_fds (maximum file descriptors) setting. Jabberd uses a file descriptor for each connection. Thus, setting a maximum number of file descriptors for c2s has the effect of limiting the number of concurrent client connections for the Jabberd server. As the c2s.xml file notes, c2s itself can use up to 5 connections (with other Jabberd components); therefore, the maximum number of file descriptors set here is actually slightly greater than the number of potential concurrent connections. 12.5.2. Rate Limiting
limits subsection dictates throttling for individual connections. This section is tantamount to a simplified karma setup as found in Jabberd 1.4. The default for both bytes and connects is 0. Thus, these limits are disabled by default. Administrators of servers under heavy load may wish to set limits here to prevent users from controlling excessive server resources. The c2s.xml file contains examples for setting rate limiting on connections. 12.5.3. IP Access Control
access subsection specifies IP addresses that should be allowed or denied access to c2s. IP addresses denied access to c2s cannot have their packets handled and are thus denied access to Jabberd server functions. order subsection specifies the order of rule checking (checking of allow rules then deny rules versus checking of deny rules then allow rules). IP restrictions are set using either an allow or a deny tag below the order within the access subsection. Omission of both a deny and allow rule causes all connections to be accepted — as is the default setting. 12.5.4. Client Connection Checking
check section handles checking of connections with other Jabber clients. By default, these checks are disabled (interval is set to 0). To enable checking, set an interval in seconds, and then set intervals for queue expiry, invalid route expiry and/or keep alives. 12.6. Client Authentication and Registration
authreg section controls aspects of client authentication and registration:
12.6.1. Authentication Package
module subsection specifies the authentication data package to use. Jabberd sets this module during build according to your configuration choice, and so you should not need to edit this unless you change the authentication data package after installing Jabberd. 12.6.2. Public Registration
enable subsection of register controls whether registration is publicly open for new users. Public registration is enabled by default. Comment the enable tag to disable public registration. 12.6.3. Password Change
password subsection of register specifies whether users can change their own passwords. Password change is disabled by default. As c2s.xml notes, it may be useful to enable password change if public user registration is disabled. 12.6.4. Authentication Mechanisms
mechanisms sub-section specifies which authentication encryption methods will be offered to clients. As c2s.xml notes, you should comment out any mechanisms that you do not want to offer. 12.6.5. Authentication Package Configuration
authreg controls connectivity with your authentication data package. The default settings should be fine for most installations unless your authentication data package is running on a separate server.
Comments about this Document
Needs an explanation of the various authentication mechanisms.
Specifically, do these methods affect the passwords as they are transmitted or as they're stored in the database? I'm not comfortable with the fact that my admins can see all of the users' password in mysql and there's no clear explanation of how to change that.
13. Jabberd 2 Architecture (Draft)
13.1. Jabber Network Architecture
PC 2 SVR 2 PC 3
.-----------------. .-----------------. .-----------------.
| | | | | |
| ,---------. | | ,---------. | | ,---------. |
| ,' `. | | ,' `. | | ,' `. |
|( Jabber Client -+-------+- Jabber Server -+-------+- Jabber Client )|
| `. ,' | | `. ,' | | `. ,' |
| `---------' | | `----+----' | | `---------' |
`-----------------' `--------+--------' `-----------------'
|
PC 1 |
.-----------------. .--------+--------.
| | | | | SVR 1
| ,---------. | | ,----+----. |
| ,' `. | | ,' `. |
|( Jabber Client -+-------+- Jabber Server )|
| `. ,' | | `. ,' |
| `---------' | | `----+----' |
`-----------------' | | |
| ,----+----. |
| ,' Foreign `. |
|( IM )|
| `. Gateway ,' |
| `----+----' |
`--------+--------'
|
|
.--------+--------. .-----------------.
| | | | |
| ,----+----. | | ,---------. |
| ,' Foreign `. | | ,' Foreign `. |
|( IM -+-------+- IM )|
| `. System ,' | | `. Client ,' |
| `---------' | | `---------' |
`-----------------' `-----------------'
SVR 3 PC 4
Key for Deployment Diagrams
+--------------------------------------------+
| |
| +-------------+ TCP/IP Connection |
| |
| ,---------. |
| ,' `. |
| ( ) Software Package |
| `. ,' or Module |
| `---------' |
| |
| .---------------. |
| | | |
| | | Computer: |
| | | PC or Physical |
| | | Server |
| `---------------' |
| |
+--------------------------------------------+
13.1.1. Jabber Client to Jabber Server
13.2.2. Jabber Server to Jabber Server
13.1.2. Jabber Server to Foreign IM Gateway
13.2. Jabberd 2 Component Architecture
PC 1 SVR 2 SVR 3
.-----------------. .-----------------. .-----------------.
| | | | | |
| ,---------. | | ,---------. | | ,---------. |
| ,' `. | | ,' `. | | ,' Foreign `. |
|( Jabber Client )| |( Jabber Server )| |( IM )|
| `. ,' | | `. ,' | | `. System ,' |
| `----+----' | | `----+----' | | `----+----' |
`--------+--------' `--------+--------' `--------+--------'
| | |
| | |
.---------------------------------+----------------------+----------------------+----------.
| | | | |
| ,---------. ,----+----. ,----+----. | |
| ,'Authentica-`. ,' Client to `. ,' Server to `. | |
| ( tion Data +-----+ Server ) +--+ Server ) | |
| `. Package ,' `. (C2S) ,' | `. (S2S) ,' | |
| `---------' `----+----' | `---------' | |
| | | | |
| | | | |
| | | | |
| ,----+----. | ,---------. | |
| ,' `+----+ ,' `. | |
| ( Router +------+ Resolver ) | |
| `. +----+ `. ,' | |
| `----+----' | `---------' | |
| | | | |
| | | | |
| | | | |
| | | | |
| ,---------. ,----+----. | ,----+----. |
| ,'Application`. ,' Session `. | ,' Foreign `. |
| ( Data +-----+ Manager ) +-------------------------+ IM ) |
| `. Package ,' `. (SM) ,' `. Gateway ,' |
| `---------' `---------' `---------' |
`------------------------------------------------------------------------------------------'
SVR 1
13.2.1. Router
13.2.2. S2S
13.2.3. Resolver
13.2.4. SM
13.2.5. C2S
13.3. Jabberd 2 Module Decomposition
13.4. Jabberd 2 Data Handling
+--------------+
| Collection |
+--------------+---+
| Collection | |
+--------------+---+ |
| Collection | | | Key for Object Diagram
+--------------+ | | +-------------------------------------+
| Type | |---+ | |
| Owner | | | +-------+ |
| |---+ | | | |
| | | +-------+ Object |
+--------------+ | | | |
| | | | |
| | +-------+ |
| | | |
| | | One-to-Many Relationship |
^ | | |
+-------------------+ | ^ |
| Collection Data | | |
+-------------------+ +-------------------------------------+
| Key |
| Value |
| Type |
| |
+-------------------+
13.5. Jabberd 2 Data Structure (for MySQL)
13.5.1 Table List (for MySQL).
13.5.2. Table Descriptions (for MySQL).
MySQL Table Descriptions
+------------------------------------------------------------------------------------------------------------+
| |
| +-------------------------------+ +-----------------------+ +------------------------------+ |
| | active | | authreg | | disco-items | |
| +-------------------------------+ +-----------------------+ +------------------------------+ |
| | | | | | | |
| +-------------------------------+ +-----------------------+ +------------------------------+ |
| | collection-owner: TEXT | | username: TINYTEXT | | collection-owner: TEXT | |
| | object-sequence: BIGINT(20) | | realm: TINYTEXT | | object-sequence: BIGINT(20) | |
| | time: INTEGER(11) | | password: TINYTEXT | | jid: TEXT | |
| | | | token: VARCHAR(10) | | name: TEXT | |
| +-------------------------------+ | sequence: INTEGER(11) | | node: TEXT | |
| | | | hash: VARCHAR(40) | | | |
| +-------------------------------+ | | +------------------------------+ |
| +-----------------------+ | | |
| | | +------------------------------+ |
| +-----------------------+ |
| |
| |
| +-------------------------------+ +------------------------------+ +-------------------------------+ |
| | logout | | motd-message | | motd-times | |
| +-------------------------------+ +------------------------------+ +-------------------------------+ |
| | | | | | | |
| +-------------------------------+ +------------------------------+ +-------------------------------+ |
| | collection-owner: TEXT | | collection-owner: TEXT | | collection-owner: TEXT | |
| | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | |
| | time: INTEGER(11) | | xml: TEXT | | time: INTEGER(11) | |
| | | | | | | |
| +-------------------------------+ +------------------------------+ +-------------------------------+ |
| | | | | | | |
| +-------------------------------+ +------------------------------+ +-------------------------------+ |
| |
| |
| +------------------------------+ +-------------------------------+ +------------------------------+ |
| | privacy-default | | privacy-items | | private | |
| +------------------------------+ +-------------------------------+ +------------------------------+ |
| | | | | | | |
| +------------------------------+ +-------------------------------+ +------------------------------+ |
| | collection-owner: TEXT | | collection-owner: TEXT | | collection-owner: TEXT | |
| | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | |
| | default: TEXT | | list: TEXT | | ns: TEXT | |
| | | | type: TEXT | | xml: TEXT | |
| +------------------------------+ | value: TEXT | | | |
| | | | deny: TINYTEXT(4) | +------------------------------+ |
| +------------------------------+ | order: INTEGER(11) | | | |
| | block: INTEGER(11) | +------------------------------+ |
| | | |
| +-------------------------------+ |
| | | |
| +-------------------------------+ |
| |
| |
| +------------------------------+ +------------------------------+ +-------------------------------+ |
| | queue | | roster-groups | | roster-items | |
| +------------------------------+ +------------------------------+ +-------------------------------+ |
| | | | | | | |
| +------------------------------+ +------------------------------+ +-------------------------------+ |
| | collection-owner: TEXT | | collection-owner: TEXT | | collection-owner: TEXT | |
| | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | |
| | xml: TEXT | | jid: TEXT | | jid: TEXT | |
| | | | group: TEXT | | name: TEXT | |
| +------------------------------+ | | | to: TINYTEXT(4) | |
| | | +------------------------------+ | from: TINYTEXT(4) | |
| +------------------------------+ | | | ask: INTEGER(11) | |
| +------------------------------+ | | |
| +-------------------------------+ |
| | | |
| +-------------------------------+ |
| |
| |
| +-------------------------------+ +------------------------------+ |
| | vacation-settings | | vcard | |
| +-------------------------------+ +------------------------------+ |
| | | | | |
| +-------------------------------+ +------------------------------+ |
| | collection-owner: TEXT | | collection-owner: TEXT | |
| | object-sequence: BIGINT(20) | | object-sequence: BIGINT(20) | |
| | start: INTEGER(11) | | fn: TEXT | |
| | end: INTEGER(11) | | nickname: TEXT | |
| | message: TEXT | | url: TEXT | |
| | | | tel: TEXT | |
| +-------------------------------+ | email: TEXT | |
| | | | title: TEXT | |
| +-------------------------------+ | role: TEXT | |
| | bday: TEXT | |
| | desc: TEXT | |
| | n-given: TEXT | |
| | n-family: TEXT | |
| | adr-street: TEXT | |
| | adr-extadd: TEXT | |
| | adr-locality: TEXT | |
| | adr-region: TEXT | |
| | adr-pcode: TEXT | |
| | adr-country: TEXT | |
| | org-orgname: TEXT | |
| | org-orgunit: TEXT | |
| | | |
| +------------------------------+ |
| | | |
| +------------------------------+ |
| |
+------------------------------------------------------------------------------------------------------------+
Comments about this Document
A.1. Jabberd 2 Quick Start Guide
A.1.1. Install OpenSSL
A.1.2. Install Berkeley DB
A.1.3. Install Libidn
A.1.4. Create Jabber User and Group
jabber user and group to run the server:
su
groupadd jabber
useradd -g jabber jabber
A.1.5. Create Directories Data, Logging and PID's
A.1.5.1. Create Data Directory
mkdir -p /usr/local/var/jabberd/db
A.1.5.2. Create Log Directory
mkdir -p /usr/local/var/jabberd/log
A.1.5.3 Create PID Directory
mkdir -p /usr/local/var/jabberd/pid
A.1.5.4. Set Ownership for Data and Log Directories
chown -R jabber:jabber /usr/local/var/jabberd
A.1.6. Install Jabberd 2
A.1.6.1. Download Jabberd
jabberd-2.n.tar.gz from the Jabberd 2 Releases page, where "n" is the latest version of Jabberd 2. A.1.6.2. Extract Jabberd Installation Files
tar -zxvf jabberd-2.0s3.tar.gz
A.1.6.3 Configure the Jabberd Build
cd jabberd-2.0s3
./configure --enable-db --disable-mysql
--enable-debug to the configuration options above. For help with configuration options, enter ./configure --help. A.1.6.4. Build Jabberd
make
A.1.6.5. Install Jabberd
su
make install
A.1.5.6. Default File Locations
/usr/local/etc Jabberd Configuration Files
/usr/local/bin Jabberd Binaries (jabberd, c2s, resolver, router, s2s, sm)
A.1.7. Configure Server
c2s.xmlc2s.xmlsm.xmlsm.xml/usr/local/etc/jabberd. A.1.7.1. Set hostname ID in
c2s.xml c2s.xml edit the id tag under the section labelled local network configuration so that the id references a resolvable network name for your jabber server. For example, using the FQDN of somemachine.somedomain.com, your c2s.xml configuration would appear as below:
<local>
<!-- Who we identify ourselves as. This should correspond to the
ID (host) that the session manager thinks it is. You can
specify more than one to support virtual hosts, as long as you
have additional session manager instances on the network to
handle those hosts. The realm attribute specifies the auth/reg
or SASL authentication realm for the host. If the attribute is
not specified, the realm will be selected by the SASL
mechanism, or will be the same as the ID itself. Be aware that
users are assigned to a realm, not a host, so two hosts in the
same realm will have the same users.
If no realm is specified, it will be set to be the same as the
ID. -->
<id>somemachine.somedomain.com</id>
id must be resolvable by the clients that will be connecting to your Jabberd server. Using an IP address as the id should work; however, this is strongly discouraged. A.1.7.2. Set authreg module to use in
c2s.xml c2s.xml is a section labeled Authentication/registration database configuration. This is where the authreg data module is specified. Edit the module tag so that Berkeley DB is specified as the Backend module to use. Throughout Jabberd configuration, Berkely DB is abbreviated to db. Therefore, you should edit the module tag as below:
<!-- Authentication/registration database configuration -->
<authreg>
<!-- Backend module to use -->
<module>db</module>
A.1.7.3. Set hostname ID in
sm.xml sm.xml is the id setting for hostname. Edit the id tag with the same hostname specified in section A.1.6.1 above:
<sm>
<!-- Our ID on the network. Users will have this as the domain part of
their JID. If you want your server to be accessible from other
Jabber servers, this ID must be resolvable by DNS.s
(default: localhost) -->
<id>somemachine.somedomain.com</id>
A.1.7.4. Set storage module to use in
sm.xml sm.xml is a section labeled Storage database configuration. This is where the storage data module is specified. Edit this section as below so that Berkely DB is specified as the storage data driver to use:
<!-- Storage database configuration -->
<storage>
<!-- By default, we use the MySQL driver for all storage -->
<driver>db</driver>
A.1.8. Test Server
A.1.8.1. Starting Jabberd 2
su
su jabber
/usr/local/bin/jabberd
/usr/local/bin/jabberd -D
A.1.8.2. Connecting to your Jabberd Server
someuser@somemachine.somedomain.com. If you are unable to connect, make certain that the hostname used (sections A.1.6.1 and A.1.6.3) is resolvable from the machine on which the client is running. A.1.9. Further Configuration
Comments about this Document
Following the instructions on this page with jabberd-2.0s3, the c2s module would fail at runtime with the error about db not being a valid auth module. After a few hours of poking around, I discovered that I needed to add the --enable-db flag to the ./configure statement.
Thanks. I've updated the above to reflect the changes regarding the new release.
With RedHat EL 3 I needed to configure with --disable-mysql
I used the Quick Start documentation. The 2.0s3 server still doesn't work.
Thanks for pointing that out. I'm still catching up with 2.0 s3 changes. As for it not running, I'll try testing the Quick Start guide today or tomorrow if I have the time. I wish I had a clean box to try it out on.
When Autoconf does its tests, it returns an error under redhat9. Berkeley DB must be compiled with the following variable set, so issue the following just before running ./configure for the DB:
export LDFLAGS="-lpthread"
After compiling and installing db that way I was able to autoConfigure jabberd.
came here to find out a RAW xml packet I could send to the server to do something interesting to test that it is indeed functional.... thought it used to be here. Maybe was for ver 1.4? otherwise great wiki
A.2. Installing OpenSSL for Jabberd 2
A.2.1. Download OpenSSL Installation File
openssl-0.9.nz.tar.gz from the OpenSSL site, where "nz" is the latest stable version of OpenSSL. At the time of writing, OpenSSL 0.9.7b' is the most current OpenSSL version and is used in the examples below. A.2.2. Extract OpenSSL Installation Files
tar -zxvf openssl-0.9.7b.tar.gz
A.2.3. Build OpenSSL
cd openssl-0.9.7b
./config --prefix=/usr
/usr/local/openssl. Using the --prefix=/usr option causes the OpenSSL libraries to be installed to the /usr directory. Using this option makes OpenSSL more accessible not only to Jabber, but also to other applications. The shared option causes the build to create shared libraries. Read the INSTALL file if you are in doubt about options for your system.
make
make test
A.2.4. Install OpenSSL
su
make install
OpenSSL installation is now complete — unless the 'make install' output shows errors. If you receive errors, refer to documentation on the "OpenSSL":http://www.openssl.org/ site.
Comments about this Document
A.3. Installing Berkeley DB for Jabberd 2
A.3.1. Download Berkeley DB Installation Files
db-4.1.nn.tar.gz from the Berkeley DB Downloads page, where "nn" is the latest version of Berkeley DB. At the time of writing, Berkeley DB 4.1.25 is the most current version, and is used in the examples below. A.3.2. Extract Berkeley DB Files
tar -zxvf db-4.1.25.tar.gz
db-4.1.25. Then run patch -p0 < patchfile to apply the patch, for example:
patch -p0 < patch.4.1.25.1
A.3.3. Build Berkeley DB
build_unix directory of the Berkeley DB directory just created:
cd db-4.1.25/build_unix
../dist/configure --prefix=/usr
prefix command will install the package under /usr, where it will be easier to find by other applications.
make
A.3.4. Install Berkeley DB
su
make install
make install output shows errors. If you receive errors, refer to documentation on the Berkeley DB site.
Comments about this Document
A.4. Installing MySQL for Jabberd 2
A.4.1. Install from Source or Binaries
A.4.2. Create MySQL User and Group
mysql user and group to run the MySQL server:
su
groupadd mysql
useradd -g mysql mysql
A.4.3. Download MySQL Installation Files
mysql-4.0.15a.tar.gz from the MySQL Downloads page, where "nn.nn" is the latest version of MySQL. This download file is listed as the source tarball downloads near the bottom of the page. At the time of writing, MySQL 4.0.15 is the most current version, and is used in the examples below. A.4.4. Extract MySQL Files
tar -zxvf mysql-4.0.15.tar.gz
A.4.5. Build MySQL
build_unix directory of the MySQL directory just created:
cd mysql-4.0.15
./configure --prefix=/usr
prefix command will install MySQL under /usr, where it will be more easily found by other applications.
make
A.4.6. Install MySQL
su
make install
A.4.7. Set Root Password for MySQL
/usr/local/bin/mysqladmin -u root password 'new-password'
A.4.8. Copy Preference File to /etc
/etc/. Instead, sample configuration files are contained in the support-files directory of the source code. Choose one that fits your requirements (large, medium or small installation), and copy it to /etc so that the preference file has the name my.cnf (as superuser):
cd support files
cp my-small.cnf /etc/my.cnf
A.4.9. Set Ownership for Data Directories
chown -R mysql:mysql /usr/local/var/mysql/
A.4.10. Create Symlinks for Shared Libraries
ln -s /usr/local/include/mysql/ /usr/include/mysql
ln -s /usr/local/lib/mysql/ /usr/lib/mysql
A.4.11. Set MySQL to Start at Boot
/usr/local/libexec/mysqld to start at boot time. A.4.12. Test MySQL
/usr/local/bin/mysqld_safe --user=mysql &
/usr/local/bin/mysql
mysql> prompt. You can test your installation with a show databases command:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
Comments about this Document
A.5. Installing Libidn for Jabberd 2
A.5.1. Download Libidn Installation Files
libidn-0.n.n.tar.gz from the GNU Libidn Page page, where "n.n" is the latest version of Libidn. At the time of writing, Libidn libidn-0.5.0 is the most current version, and is used in the examples below. A.5.2. Extract Libidn Files
tar -zxvf libidn-0.5.0.tar.gz
A.5.3. Build Libidn
libidn-0.5.0 directory just created:
cd libidn-0.5.0
--prefix=/usr option will cause the libraries to be installed under /usr/lib, making them easier for other applications to find:
./configure --prefix=/usr
make
A.5.4. Install Libidn
su
make install
make install output shows errors. If you receive errors, refer to documentation on the Libidn site.
Comments about this Document
A.5. Generating a Self-Signed SSL Certificate
A.5.1. Generate Key Pair
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
Common Name for your certificate.-days parameter. A.5.2. Remove Passphrase
openssl rsa -in privkey.pem -out privkey.pem
A.5.3. Combine the Private and Public Key
cat privkey.pem >> server.pem
A.5.4. Delete Private Key
rm privkey.pem
A.5.5. Move Key and Set Permissions
pemfile location, you would enter this command (as superuser):
mv server.pem /usr/local/etc/jabberd/server.pem
chown root:jabber /usr/local/etc/jabberd/server.pem
chmod 640 /usr/local/etc/jabberd/server.pem
Comments about this Document
like your site ! Its very well !
I glad too see this interest site, I tell my friends about it! They like sites like that: site
Hello, nice site look this:
travel15.html
business19.html
business4.html
sexual-health4.html
sexual-health20.html
education11.html
Nice layout. But i didnt find information for me that i try to find on your website. But thanks you in any way!
Hello, nice site look this:
health13.html
auto12.html
auto14.html
sexual-health.html
dating3.html
viagra online viagra online [url=http://xoomer.alice.it/order2/viagra-online.html]?viagra online[/url]? [url]?http://xoomer.alice.it/order2/viagra-online.html[/url]? http://xoomer.alice.it/order2/viagra-online.html
phentermine online phentermine online [url=http://xoomer.alice.it/order2/online-phentermine.html]?phentermine online[/url]? [url]?http://xoomer.alice.it/order2/online-phentermine.html[/url]? http://xoomer.alice.it/order2/online-phentermine.html
xanax online xanax online [url=http://xoomer.alice.it/order2/xanax-online-pharmacy.html]?xanax online[/url]? [url]?http://xoomer.alice.it/order2/xanax-online-pharmacy.html[/url]? http://xoomer.alice.it/order2/xanax-online-pharmacy.html
viagra online viagra online [url=http://xoomer.virgilio.it/order2/viagra-online.html]?viagra online[/url]? [url]?http://xoomer.virgilio.it/order2/viagra-online.html[/url]? http://xoomer.virgilio.it/order2/viagra-online.html
phentermine online phentermine online [url=http://xoomer.virgilio.it/order2/online-phentermine.html]?phentermine online[/url]? [url]?http://xoomer.virgilio.it/order2/online-phentermine.html[/url]? http://xoomer.virgilio.it/order2/online-phentermine.html
xanax online xanax online [url=http://xoomer.virgilio.it/order2/xanax-online-pharmacy.html]?xanax online[/url]? [url]?http://xoomer.virgilio.it/order2/xanax-online-pharmacy.html[/url]? http://xoomer.virgilio.it/order2/xanax-online-pharmacy.html
bontril online bontril [url=http://xoomer.virgilio.it/order2/bontril.html]?bontril[/url]? [url]?http://xoomer.virgilio.it/order2/bontril.html[/url]? http://xoomer.virgilio.it/order2/bontril.html tramadol online tramadol online [url=http://007.sh/tramadoltabletonline/]?tramadol online[/url]? [url]?http://007.sh/tramadoltabletonline/[/url]? http://007.sh/tramadoltabletonline/
viagra online viagra online [url=http://onlineviagra.su.pl/]?viagra online[/url]? [url]?http://onlineviagra.su.pl/[/url]? http://onlineviagra.su.pl/ viagra online viagra online [url=http://007.sh/viagratabletonline/]?viagra online[/url]? [url]?http://007.sh/viagratabletonline/[/url]? http://007.sh/viagratabletonline/
casino on net casino on net [url=http://casino-on-net-t.any.pl/]?casino on net[/url]? [url]?http://casino-on-net-t.any.pl/[/url]? http://casino-on-net-t.any.pl/ casino on net casino on net [url=http://007.sh/casinoonnet1093/]?casino on net[/url]? [url]?http://007.sh/casinoonnet1093/[/url]? http://007.sh/casinoonnet1093/
casino bonus casino bonus [url=http://007.sh/casinobonus999dollar777/]?casino bonus[/url]? [url]?http://007.sh/casinobonus999dollar777/[/url]? http://007.sh/casinobonus999dollar777/ online casino poker online casino poker [url=http://007.sh/casinopoker2009/]?online casino poker[/url]? [url]?http://007.sh/casinopoker2009/[/url]? http://007.sh/casinopoker2009/
casino on net casino on net [url=http://007.sh/casinoonnet1093/]?casino on net[/url]? [url]?http://007.sh/casinoonnet1093/[/url]? http://007.sh/casinoonnet1093/ travel in Greece travel in Greece [url=hhttp://007.sh/travelgreece/]?travel in Greece[/url]? [url]?http://007.sh/travelgreece/[/url]? http://007.sh/travelgreece/
eciukz
link http://3fhazhvy.fjxlkef.com [url=http://4rjqus.mxrsmc.com]?link[/url]? [url]?http://5xfxze.ehgbcf.com[/url]? [LINK http://6qtofe.thiwfwa.com]?LINK[/LINK]? [a]?http://7pmfcap.haliww.com[/a]?
alrdwq
link http://3egnfqb.ahlgwc.com [url=http://4cybgc.uhishq.com]?link[/url]? [url]?http://5erobjt.dbzqi.com[/url]? [LINK http://6sanfwwl.gccdgj.com]?LINK[/LINK]? [a]?http://7krzqvb.rcyeo.com[/a]?
online casino poker online casino poker [url=http://007.sh/casinopoker2009/]?online casino poker[/url]? [url]?http://007.sh/casinopoker2009/[/url]? http://007.sh/casinopoker2009/ bontril online bontril [url=http://xoomer.virgilio.it/order2/bontril.html]?bontril[/url]? [url]?http://xoomer.virgilio.it/order2/bontril.html[/url]? http://xoomer.virgilio.it/order2/bontril.html
phentermine online phentermine online [url=http://007.sh/phenterminetabletonline/]?phentermine online[/url]? [url]?http://007.sh/phenterminetabletonline/[/url]? http://007.sh/phenterminetabletonline/ casino bonus casino bonus [url=http://007.sh/casinobonus999dollar777/]?casino bonus[/url]? [url]?http://007.sh/casinobonus999dollar777/[/url]? http://007.sh/casinobonus999dollar777/
tramadol online tramadol online [url=http://007.sh/tramadoltabletonline/]?tramadol online[/url]? [url]?http://007.sh/tramadoltabletonline/[/url]? http://007.sh/tramadoltabletonline/ viagra online viagra online [url=http://007.sh/viagratabletonline/]?viagra online[/url]? [url]?http://007.sh/viagratabletonline/[/url]? http://007.sh/viagratabletonline/
viagra online viagra online [url=http://007.sh/viagratabletonline/]?viagra online[/url]? [url]?http://007.sh/viagratabletonline/[/url]? http://007.sh/viagratabletonline/ phentermine online phentermine online [url=http://007.sh/phenterminetabletonline/]?phentermine online[/url]? [url]?http://007.sh/phenterminetabletonline/[/url]? http://007.sh/phenterminetabletonline/
travel in Greece travel in Greece [url=http://007.sh/travelgreece/]?travel in Greece[/url]? [url]?http://007.sh/travelgreece/[/url]? http://007.sh/travelgreece/ viagra online viagra online [url=http://007.sh/viagratabletonline/]?viagra online[/url]? [url]?http://007.sh/viagratabletonline/[/url]? http://007.sh/viagratabletonline/
alprazolam online alprazolam online [url=http://www.fw.hu/fastorder/alprazolam.html]?alprazolam online[/url]? [url]?http://www.fw.hu/fastorder/alprazolam.html[/url]? http://www.fw.hu/fastorder/alprazolam.html viagra online viagra online [url=http://www.fw.hu/fastorder/viagra.html]?viagra online[/url]? [url]?http://www.fw.hu/fastorder/viagra.html[/url]? http://www.fw.hu/fastorder/viagra.html
viagra online viagra online [url=http://www.fw.hu/fastorder/viagra.html]?viagra online[/url]? [url]?http://www.fw.hu/fastorder/viagra.html[/url]? http://www.fw.hu/fastorder/viagra.html xanax online xanax online [url=http://www.fw.hu/fastorder/xanax.html]?xanax online[/url]? [url]?http://www.fw.hu/fastorder/xanax.html[/url]? http://www.fw.hu/fastorder/xanax.html
xanax online xanax online [url=http://www.fw.hu/fastorder/xanax.html]?xanax online[/url]? [url]?http://www.fw.hu/fastorder/xanax.html[/url]? http://www.fw.hu/fastorder/xanax.html clonazepam online clonazepam online [url=http://www.fw.hu/fastorder/clonazepam.html]?clonazepam online[/url]? [url]?http://www.fw.hu/fastorder/clonazepam.html[/url]? http://www.fw.hu/fastorder/clonazepam.html
clonazepam online clonazepam online [url=http://www.fw.hu/fastorder/clonazepam.html]?clonazepam online[/url]? [url]?http://www.fw.hu/fastorder/clonazepam.html[/url]? http://www.fw.hu/fastorder/clonazepam.html diazepam online diazepam online [url=http://www.fw.hu/fastorder/diazepam.html]?diazepam online[/url]? [url]?http://www.fw.hu/fastorder/diazepam.html[/url]? http://www.fw.hu/fastorder/diazepam.html
http://phentermine-buy-phentermine.org/phentermine/info/ phentermine price http://phentermine-buy-phentermine.org/phentermine/ionamin/ phentermine ingredient http://phentermine-buy-phentermine.org/purchase/phentermine/ phentermine cod http://phentermine-buy-phentermine.org/adipex/phentermine/vs/ low cost phentermine http://phentermine-buy-phentermine.org/free/phentermine/ order phentermine phentermine online http://phentermine-buy-phentermine.org/phentermine/online/ phentermine result http://phentermine-buy-phentermine.org/phentermine/line/ phentermine diet pill http://phentermine-buy-phentermine.org/carisoprodol/phentermine/yellow/ phentermine tablet http://phentermine-buy-phentermine.org/phentermine/overnight/ cheapest phentermine online http://phentermine-buy-phentermine.org/phentermine/pharmacy/ phentermine yellow http://phentermine-buy-phentermine.org/phentermine/price/ adipexdrug addiction order phentermine online http://phentermine-buy-phentermine.org/generic/phentermine/ low cost phentermine http://phentermine-buy-phentermine.org/phentermine/ low cost phentermine http://phentermine-buy-phentermine.org/danger/of/phentermine/ phentermine success story http://phentermine-buy-phentermine.org/order/phentermine/uk/ phentermine pharmacy http://phentermine-buy-phentermine.org/buy/phentermine/mg/ pal pay phentermine http://phentermine-buy-phentermine.org/lowest/price/for/phentermine/ phentermine for sale http://phentermine-buy-phentermine.org/phentermine/pregnancy/ phentermine online purchase http://phentermine-buy-phentermine.org/compare/phentermine/price/ cheap phentermine online http://phentermine-buy-phentermine.org/picture/of/phentermine/ phentermine adipex http://phentermine-buy-phentermine.org/phentermine/hydrochloride/ cheap phentermine online http://phentermine-buy-phentermine.org/mg/buy/phentermine/ abuse phentermine http://phentermine-buy-phentermine.org/phentermine/cod/ lowest price for phentermine http://phentermine-buy-phentermine.org/phentermine/free/shipping/ carisoprodol phentermine yellow http://phentermine-buy-phentermine.org/phentermine/weight/loss/ cheapest phentermine http://phentermine-buy-phentermine.org/abuse/phentermine/ phentermine prescription http://phentermine-buy-phentermine.org/buy/phentermine/online/ buy phentermine online http://phentermine-buy-phentermine.org/phentermine/phentermine/ phentermine on line http://phentermine-buy-phentermine.org/adipexdrug/addiction/order/phentermine/online/ phentermine phentermine http://phentermine-buy-phentermine.org/cheap/phentermine/free/shipping/ buy phentermine diet pill http://phentermine-buy-phentermine.org/best/price/for/phentermine/ drug phentermine
diazepam online diazepam online [url=http://www.fw.hu/fastorder/diazepam.html]?diazepam online[/url]? [url]?http://www.fw.hu/fastorder/diazepam.html[/url]? http://www.fw.hu/fastorder/diazepam.html valium online valium online [url=http://www.fw.hu/fastorder/valium.html]?valium online[/url]? [url]?http://www.fw.hu/fastorder/valium.html[/url]? http://www.fw.hu/fastorder/valium.html
valium online valium online [url=http://www.fw.hu/fastorder/valium.html]?valium online[/url]? [url]?http://www.fw.hu/fastorder/valium.html[/url]? http://www.fw.hu/fastorder/valium.html alprazolam online alprazolam online [url=http://www.fw.hu/fastorder/alprazolam.html]?alprazolam online[/url]? [url]?http://www.fw.hu/fastorder/alprazolam.html[/url]? http://www.fw.hu/fastorder/alprazolam.html
viagra online viagra online [url=http://xoomer.virgilio.it/order2/viagra-online.html]?viagra online[/url]? [url]?http://xoomer.virgilio.it/order2/viagra-online.html[/url]? http://xoomer.virgilio.it/order2/viagra-online.html
yhgxbr
link http://3sthmee.zysyg.com [url=http://4tedlpqh.dkcbqrv.com]?link[/url]? [url]?http://5qtnnpte.tuzyz.com[/url]? [LINK http://6gnlgkq.geuihh.com]?LINK[/LINK]? [a]?http://7gemixl.ewywry.com[/a]?
Well done!
[url=http://ztddzhiz.com/gmbr/oefk.html]?My homepage[/url]? | [url=http://zmbkwkqy.com/gkpi/mwjh.html]?Cool site[/url]?
Thank you!
My homepage | Please visit
pxevntu
link http://3zphffia.odkaeuh.com [url=http://4bluuo.glflkjc.com]?link[/url]? [url]?http://5ycifiq.vqmfh.com[/url]? [LINK http://6cefti.lbrmgg.com]?LINK[/LINK]? [a]?http://7mefyggk.iodygfh.com[/a]?
http://inceststories-incest-stories.org/incest/comics/ incest galleries http://inceststories-incest-stories.org/incest/bbs/ stories of incest http://inceststories-incest-stories.org/incest/tgp/ incest galleries http://inceststories-incest-stories.org/incest/thumbs/ mom and son http://inceststories-incest-stories.org/incest/pic/ free incest sex stories http://inceststories-incest-stories.org/mature/incest/ incest cartoons http://inceststories-incest-stories.org/free/incest/sex/stories/ incest chat http://inceststories-incest-stories.org/mother/son/incest/pictures/ incest sex http://inceststories-incest-stories.org/family/incest/photos/ incest xxx http://inceststories-incest-stories.org/mother/son/incest/stories/ incest tgp http://inceststories-incest-stories.org/incestgrrls/free/incest/stories/ mature incest http://inceststories-incest-stories.org/free/erotic/incest/stories/ free incest pic http://inceststories-incest-stories.org/sex/incest/ incest chat http://inceststories-incest-stories.org/lolita/incest/ free incest pics http://inceststories-incest-stories.org/incest/video/ brother sister incest stories http://inceststories-incest-stories.org/mother/daughter/incest/ mom incest http://inceststories-incest-stories.org/free/incest/pics/ family incest sex http://inceststories-incest-stories.org/incest/mother/ free erotic incest stories http://inceststories-incest-stories.org/incest/sex/ free family incest pictures http://inceststories-incest-stories.org/incest/taboo/rape/photo/ mother daughter incest http://inceststories-incest-stories.org/incest/stories/free/ mother and son incest http://inceststories-incest-stories.org/real/incest/ mother son incest stories http://inceststories-incest-stories.org/real/incest/stories/ brother sister sex http://inceststories-incest-stories.org/mother/son/incest/ incest story http://inceststories-incest-stories.org/father/son/incest/ erotic incest stories http://inceststories-incest-stories.org/incest/pics/ teens incest pics http://inceststories-incest-stories.org/mom/son/incest/stories/ incest movies http://inceststories-incest-stories.org/incest/xxx/ incest girl http://inceststories-incest-stories.org/brother/sister/incest/stories/ mother son incest http://inceststories-incest-stories.org/stories/of/incest/ real incest http://inceststories-incest-stories.org/free/incest/ mom son incest stories
projection keyboard,
dvorak key layout,
chord keyboard,
vertical keyboards,
ergonomic keyboard,
placement of keyboard.
alprazolam online [url=http://www.tglman.com/fastorder/alprazolam.html]?alprazolam online[/url]? http://www.tglman.com/fastorder/alprazolam.html [url]?http://www.tglman.com/fastorder/alprazolam.html[/url]? ambien online [url=http://www.tglman.com/fastorder/ambien.html]?ambien online[/url]? http://www.tglman.com/fastorder/ambien.html [url]?http://www.tglman.com/fastorder/ambien.html[/url]? levitra online
ambien online [url=http://www.tglman.com/fastorder/ambien.html]?ambien online[/url]? http://www.tglman.com/fastorder/ambien.html [url]?http://www.tglman.com/fastorder/ambien.html[/url]? diazepam online [url=http://www.tglman.com/fastorder/diazepam.html]?diazepam online[/url]? http://www.tglman.com/fastorder/diazepam.html [url]?http://www.tglman.com/fastorder/diazepam.html[/url]? online pharmacy levitra
diazepam online [url=http://www.tglman.com/fastorder/diazepam.html]?diazepam online[/url]? http://www.tglman.com/fastorder/diazepam.html [url]?http://www.tglman.com/fastorder/diazepam.html[/url]? phentermine online [url=http://www.tglman.com/fastorder/phentermine.html]?phentermine online[/url]? http://www.tglman.com/fastorder/phentermine.html [url]?http://www.tglman.com/fastorder/phentermine.html[/url]? buy levitra
phentermine online [url=http://www.tglman.com/fastorder/phentermine.html]?phentermine online[/url]? http://www.tglman.com/fastorder/phentermine.html [url]?http://www.tglman.com/fastorder/phentermine.html[/url]? tramadol online [url=http://www.tglman.com/fastorder/tramadol.html]?tramadol online[/url]? http://www.tglman.com/fastorder/tramadol.html [url]?http://www.tglman.com/fastorder/tramadol.html[/url]? cheap levitra
qzgcjn
link http://3loehrw.hxscf.com [url=http://4usqohlm.aqoww.com]?link[/url]? [url]?http://5ajzjbxv.yojmsen.com[/url]? [LINK http://6mohyp.wjrhw.com]?LINK[/LINK]? [a]?http://7qtszbw.ehbmkwn.com[/a]?
Great site! http://home.aol.com/neopills2/valium.htm Valium [link=http://home.aol.com/neopills2/valium.htm]?Valium[/link]? Valium | de74dd15
http://phentermine-buy-phentermine.org/cheap/phentermine/diet/pill/ cheapest phentermine http://phentermine-buy-phentermine.org/danger/of/phentermine/ abuse phentermine http://phentermine-buy-phentermine.org/phentermine/pill/ phentermine 37.5 mg http://phentermine-buy-phentermine.org/purchase/phentermine/ phentermine obesity http://phentermine-buy-phentermine.org/phentermine/ phentermine diet pill http://phentermine-buy-phentermine.org/phentermine/prescription/ phentermine online pharmacy http://phentermine-buy-phentermine.org/compare/phentermine/ phentermine success story http://phentermine-buy-phentermine.org/phentermine/on/line/ lowest online phentermine price http://phentermine-buy-phentermine.org/discount/phentermine/ free phentermine http://phentermine-buy-phentermine.org/buy/phentermine/on/line/ lowest price for phentermine http://phentermine-buy-phentermine.org/phentermine/review/ low cost phentermine http://phentermine-buy-phentermine.org/cheap/phentermine/online/ phentermine hydrochloride http://phentermine-buy-phentermine.org/phentermine/ingredient/ compare phentermine http://phentermine-buy-phentermine.org/phentermine/prozac/ phentermine price http://phentermine-buy-phentermine.org/generic/phentermine/ cheap phentermine http://phentermine-buy-phentermine.org/low/cost/phentermine/ phentermine online purchase http://phentermine-buy-phentermine.org/phentermine/day/ phentermine blue http://phentermine-buy-phentermine.org/cheapest/phentermine/online/ phentermine adipex http://phentermine-buy-phentermine.org/phentermine/free/shipping/ buy phentermine on line http://phentermine-buy-phentermine.org/phentermine/for/sale/ cheap phentermine http://phentermine-buy-phentermine.org/lowest/price/for/phentermine/ order phentermine uk http://phentermine-buy-phentermine.org/xenical/hgh/phentermine/quit/smoking/ phentermine canada http://phentermine-buy-phentermine.org/phentermine/phentermine/ phentermine phentermine http://phentermine-buy-phentermine.org/phentermine/sales/ 15mg buy phentermine http://phentermine-buy-phentermine.org/phentermine/tablet/ phentermine 37 http://phentermine-buy-phentermine.org/phentermine/blue/ phentermine no prescription http://phentermine-buy-phentermine.org/get/phentermine/ phentermine 30 mg http://phentermine-buy-phentermine.org/picture/of/phentermine/ phentermine ionamin http://phentermine-buy-phentermine.org/phentermine/pharmacy/ generic phentermine http://phentermine-buy-phentermine.org/best/price/for/phentermine/ phentermine review http://phentermine-buy-phentermine.org/phentermine/no/prescription/ phentermine tablet
Great site! http://hometown.aol.de/neopills3/phentermine.htm Phentermine [link=http://hometown.aol.de/neopills3/phentermine.htm]?Phentermine[/link]? Phentermine | f31a7487
tramadol online [url=http://www.tglman.com/fastorder/tramadol.html]?tramadol online[/url]? http://www.tglman.com/fastorder/tramadol.html [url]?http://www.tglman.com/fastorder/tramadol.html[/url]? valium online [url=http://www.tglman.com/fastorder/valium.html]?valium online[/url]? http://www.tglman.com/fastorder/valium.html [url]?http://www.tglman.com/fastorder/valium.html[/url]? order levitra
Great site! http://home.aol.com/neopills2/viagra.htm Viagra [link=http://home.aol.com/neopills2/viagra.htm]?Viagra[/link]? Viagra | 4af4bdfa
valium online [url=http://www.tglman.com/fastorder/valium.html]?valium online[/url]? http://www.tglman.com/fastorder/valium.html [url]?http://www.tglman.com/fastorder/valium.html[/url]? viagra online [url=http://www.tglman.com/fastorder/alprazolam.html]?viagra online[/url]? http://www.tglman.com/fastorder/viagra.html [url]?http://www.tglman.com/fastorder/viagra.html[/url]? levitra
viagra online [url=http://www.tglman.com/fastorder/alprazolam.html]?viagra online[/url]? http://www.tglman.com/fastorder/viagra.html [url]?http://www.tglman.com/fastorder/viagra.html[/url]? xanax online [url=http://www.tglman.com/fastorder/xanax.html]?xanax online[/url]? http://www.tglman.com/fastorder/xanax.html [url]?http://www.tglman.com/fastorder/xanax.html[/url]? levitra
xanax online [url=http://www.tglman.com/fastorder/xanax.html]?xanax online[/url]? http://www.tglman.com/fastorder/xanax.html [url]?http://www.tglman.com/fastorder/xanax.html[/url]? alprazolam online [url=http://www.tglman.com/fastorder/alprazolam.html]?alprazolam online[/url]? http://www.tglman.com/fastorder/alprazolam.html [url]?http://www.tglman.com/fastorder/alprazolam.html[/url]? [url=http://levitra-24.any.pl/]?levitra[/url]?
ambien ,valium , meridia ,soma , carisoprodol ,levitra , diazepam ,alprazolam , cialis ,bontril ,
Good work. It was pleasant to me at you and I have decided to express to you.
Great site! http://home.aol.com/neopills2/soma.htm Soma [link=http://home.aol.com/neopills2/soma.htm]?Soma[/link]? Soma | 4691dcdf
Great site! http://home.aol.com/neopills2/tramadol.htm Tramadol [link=http://home.aol.com/neopills2/tramadol.htm]?Tramadol[/link]? Tramadol | 99bdc3f3
Great site! http://home.aol.com/zringtonesx/ringtones.htm Ringtones [link=http://home.aol.com/zringtonesx/ringtones.htm]?Ringtones[/link]? Ringtones | http://home.aol.com/dringtones/download-ringtones.htm Download Ringtones [link=http://home.aol.com/dringtones/download-ringtones.htm]?Download Ringtones[/link]? Download Ringtones | f585d8fa
Anne_Klein_Watches, Lange,Alain_Silberstein,Audemars_Piguet, Baume,Bedat, Bell,Bertolucci, Breguet,Breitling, Bulova,Bvlgari, Cartier,Chanel, Chase,Chaumet, Chopard,ChronoSwiss, Compass,Concord, Corum,Daniel_Roth, David_Yurman,Diesel, Digital,Discount, Dive,Ebel, Fake,Festina, Formex,Fortis, Fossil,Glashutte, Graham,Hamilton, Harry_Winston,Hermes, Hublot,IceTek, IWC,Longines, Movado,Omega, Oris,Piaget, Rado,Sinn, Tissot,Tudor, Zenith,
Great site! http://hometown.aol.de/gringtones/mobile-17-ringtones.htm Mobile 17 Ringtones [link=http://hometown.aol.de/gringtones/mobile-17-ringtones.htm]?Mobile 17 Ringtones[/link]? Mobile 17 Ringtones | http://hometown.aol.de/autoinsurancez/direct-line-car-insurance-uk.htm Direct Line Car Insurance Uk [link=http://hometown.aol.de/autoinsurancez/direct-line-car-insurance-uk.htm]?Direct Line Car Insurance Uk[/link]? Direct Line Car Insurance Uk | http://hometown.aol.de/autoinsurancez/car-insurance-for-young-drivers.htm Car Insurance For Young Drivers [link=http://hometown.aol.de/autoinsurancez/car-insurance-for-young-drivers.htm]?Car Insurance For Young Drivers[/link]? Car Insurance For Young Drivers | http://hometown.aol.de/autoinsurancez/car-free-insurance-online-quote.htm Car Free Insurance Online Quote [link=http://hometown.aol.de/autoinsurancez/car-free-insurance-online-quote.htm]?Car Free Insurance Online Quote[/link]? Car Free Insurance Online Quote | http://hometown.aol.de/autoinsurancez/quote-me-happy-car-insurance.htm Quote Me Happy Car Insurance [link=http://hometown.aol.de/autoinsurancez/quote-me-happy-car-insurance.htm]?Quote Me Happy Car Insurance[/link]? Quote Me Happy Car Insurance | http://hometown.aol.de/autoinsurancez/florida-no-fault-auto-insurance.htm Florida No Fault Auto Insurance [link=http://hometown.aol.de/autoinsurancez/florida-no-fault-auto-insurance.htm]?Florida No Fault Auto Insurance[/link]? Florida No Fault Auto Insurance | http://hometown.aol.de/autoinsurancez/best-auto-insurance-companies.htm Best Auto Insurance Companies [link=http://hometown.aol.de/autoinsurancez/best-auto-insurance-companies.htm]?Best Auto Insurance Companies[/link]? Best Auto Insurance Companies | http://hometown.aol.de/autoinsurancez/compare-car-insurance-prices.htm Compare Car Insurance Prices [link=http://hometown.aol.de/autoinsurancez/compare-car-insurance-prices.htm]?Compare Car Insurance Prices[/link]? Compare Car Insurance Prices | http://hometown.aol.de/autoinsurancez/new-york-auto-insurance.htm New York Auto Insurance [link=http://hometown.aol.de/autoinsurancez/new-york-auto-insurance.htm]?New York Auto Insurance[/link]? New York Auto Insurance | http://hometown.aol.de/autoinsurancez/high-risk-auto-insurance.htm High Risk Auto Insurance [link=http://hometown.aol.de/autoinsurancez/high-risk-auto-insurance.htm]?High Risk Auto Insurance[/link]? High Risk Auto Insurance | http://hometown.aol.de/autoinsurancez/century-21-auto-insurance.htm Century 21 Auto Insurance [link=http://hometown.aol.de/autoinsurancez/century-21-auto-insurance.htm]?Century 21 Auto Insurance[/link]? Century 21 Auto Insurance | http://hometown.aol.de/autoinsurancez/usaa-military-car-insurance.htm Usaa Military Car Insurance [link=http://hometown.aol.de/autoinsurancez/usaa-military-car-insurance.htm]?Usaa Military Car Insurance[/link]? Usaa Military Car Insurance | http://hometown.aol.de/autoinsurancez/instant-mexico-auto-insurance.htm Instant Mexico Auto Insurance [link=http://hometown.aol.de/autoinsurancez/instant-mexico-auto-insurance.htm]?Instant Mexico Auto Insurance[/link]? Instant Mexico Auto Insurance | http://hometown.aol.de/autoinsurancez/cheap-auto-insurance-online.htm Cheap Auto Insurance Online [link=http://hometown.aol.de/autoinsurancez/cheap-auto-insurance-online.htm]?Cheap Auto Insurance Online[/link]? Cheap Auto Insurance Online | http://hometown.aol.de/autoinsurancez/full-coverage-auto-insurance.htm Full Coverage Auto Insurance [link=http://hometown.aol.de/autoinsurancez/full-coverage-auto-insurance.htm]?Full Coverage Auto Insurance[/link]? Full Coverage Auto Insurance | http://hometown.aol.de/autoinsurancez/sr-22-auto-insurance.htm Sr 22 Auto Insurance [link=http://hometown.aol.de/autoinsurancez/sr-22-auto-insurance.htm]?Sr 22 Auto Insurance[/link]? Sr 22 Auto Insurance | http://hometown.aol.de/autoinsurancez/direct-general-auto-insurance.htm Direct General Auto Insurance [link=http://hometown.aol.de/autoinsurancez/direct-general-auto-insurance.htm]?Direct General Auto Insurance[/link]? Direct General Auto Insurance | http://hometown.aol.de/autoinsurancez/century-21-car-insurance.htm Century 21 Car Insurance [link=http://hometown.aol.de/autoinsurancez/century-21-car-insurance.htm]?Century 21 Car Insurance[/link]? Century 21 Car Insurance | http://hometown.aol.de/autoinsurancez/new-york-car-insurance.htm New York Car Insurance [link=http://hometown.aol.de/autoinsurancez/new-york-car-insurance.htm]?New York Car Insurance[/link]? New York Car Insurance | http://hometown.aol.de/autoinsurancez/mexico-auto-insurance-online.htm Mexico Auto Insurance Online [link=http://hometown.aol.de/autoinsurancez/mexico-auto-insurance-online.htm]?Mexico Auto Insurance Online[/link]? Mexico Auto Insurance Online | http://hometown.aol.de/autoinsurancez/us-agencies-car-insurance.htm Us Agencies Car Insurance [link=http://hometown.aol.de/autoinsurancez/us-agencies-car-insurance.htm]?Us Agencies Car Insurance[/link]? Us Agencies Car Insurance | http://hometown.aol.de/autoinsurancez/sheilas-wheels-car-insurance.htm Sheilas Wheels Car Insurance [link=http://hometown.aol.de/autoinsurancez/sheilas-wheels-car-insurance.htm]?Sheilas Wheels Car Insurance[/link]? Sheilas Wheels Car Insurance | http://hometown.aol.de/autoinsurancez/21st-century-car-insurance.htm 21st Century Car Insurance [link=http://hometown.aol.de/autoinsurancez/21st-century-car-insurance.htm]?21st Century Car Insurance[/link]? 21st Century Car Insurance | http://hometown.aol.de/autoinsurancez/unitrin-direct-auto-insurance.htm Unitrin Direct Auto Insurance [link=http://hometown.aol.de/autoinsurancez/unitrin-direct-auto-insurance.htm]?Unitrin Direct Auto Insurance[/link]? Unitrin Direct Auto Insurance | http://hometown.aol.de/autoinsurancez/american-express-auto-insurance.htm American Express Auto Insurance [link=http://hometown.aol.de/autoinsurancez/american-express-auto-insurance.htm]?American Express Auto Insurance[/link]? American Express Auto Insurance | http://hometown.aol.de/autoinsurancez/car-insurance-las-vegas.htm Car Insurance Las Vegas [link=http://hometown.aol.de/autoinsurancez/car-insurance-las-vegas.htm]?Car Insurance Las Vegas[/link]? Car Insurance Las Vegas | http://hometown.aol.de/autoinsurancez/liberty-mutual-car-insurance.htm Liberty Mutual Car Insurance [link=http://hometown.aol.de/autoinsurancez/liberty-mutual-car-insurance.htm]?Liberty Mutual Car Insurance[/link]? Liberty Mutual Car Insurance | http://hometown.aol.de/autoinsurancez/instant-auto-insurance-quote.htm Instant Auto Insurance Quote [link=http://hometown.aol.de/autoinsurancez/instant-auto-insurance-quote.htm]?Instant Auto Insurance Quote[/link]? Instant Auto Insurance Quote | http://hometown.aol.de/autoinsurancez/state-farm-car-insurance.htm State Farm Car Insurance [link=http://hometown.aol.de/autoinsurancez/state-farm-car-insurance.htm]?State Farm Car Insurance[/link]? State Farm Car Insurance | http://hometown.aol.de/autoinsurancez/the-general-auto-insurance.htm The General Auto Insurance [link=http://hometown.aol.de/autoinsurancez/the-general-auto-insurance.htm]?The General Auto Insurance[/link]? The General Auto Insurance | http://hometown.aol.de/autoinsurancez/farm-bureau-auto-insurance.htm Farm Bureau Auto Insurance [link=http://hometown.aol.de/autoinsurancez/farm-bureau-auto-insurance.htm]?Farm Bureau Auto Insurance[/link]? Farm Bureau Auto Insurance | http://hometown.aol.de/autoinsurancez/auto-insurance-policy-mexico.htm Auto Insurance Policy Mexico [link=http://hometown.aol.de/autoinsurancez/auto-insurance-policy-mexico.htm]?Auto Insurance Policy Mexico[/link]? Auto Insurance Policy Mexico | http://hometown.aol.de/autoinsurancez/aaa-auto-club-insurance.htm Aaa Auto Club Insurance [link=http://hometown.aol.de/autoinsurancez/aaa-auto-club-insurance.htm]?Aaa Auto Club Insurance[/link]? Aaa Auto Club Insurance | http://hometown.aol.de/autoinsurancez/auto-one-car-insurance.htm Auto One Car Insurance [link=http://hometown.aol.de/autoinsurancez/auto-one-car-insurance.htm]?Auto One Car Insurance[/link]? Auto One Car Insurance | http://hometown.aol.de/autoinsurancez/lloyds-tsb-car-insurance.htm Lloyds Tsb Car Insurance [link=http://hometown.aol.de/autoinsurancez/lloyds-tsb-car-insurance.htm]?Lloyds Tsb Car Insurance[/link]? Lloyds Tsb Car Insurance | http://hometown.aol.de/autoinsurancez/car-insurance-san-diego.htm Car Insurance San Diego [link=http://hometown.aol.de/autoinsurancez/car-insurance-san-diego.htm]?Car Insurance San Diego[/link]? Car Insurance San Diego | http://hometown.aol.de/autoinsurancez/high-risk-car-insurance.htm High Risk Car Insurance [link=http://hometown.aol.de/autoinsurancez/high-risk-car-insurance.htm]?High Risk Car Insurance[/link]? High Risk Car Insurance | http://hometown.aol.de/autoinsurancez/west-coast-auto-insurance.htm West Coast Auto Insurance [link=http://hometown.aol.de/autoinsurancez/west-coast-auto-insurance.htm]?West Coast Auto Insurance[/link]? West Coast Auto Insurance | http://hometown.aol.de/autoinsurancez/cape-coral-auto-insurance.htm Cape Coral Auto Insurance [link=http://hometown.aol.de/autoinsurancez/cape-coral-auto-insurance.htm]?Cape Coral Auto Insurance[/link]? Cape Coral Auto Insurance | http://hometown.aol.de/autoinsurancez/titan-auto-insurance.htm Titan Auto Insurance [link=http://hometown.aol.de/autoinsurancez/titan-auto-insurance.htm]?Titan Auto Insurance[/link]? Titan Auto Insurance | http://hometown.aol.de/autoinsurancez/auto-insurance-discounters.htm Auto Insurance Discounters [link=http://hometown.aol.de/autoinsurancez/auto-insurance-discounters.htm]?Auto Insurance Discounters[/link]? Auto Insurance Discounters | http://hometown.aol.de/autoinsurancez/farmers-auto-insurance.htm Farmers Auto Insurance [link=http://hometown.aol.de/autoinsurancez/farmers-auto-insurance.htm]?Farmers Auto Insurance[/link]? Farmers Auto Insurance | http://hometown.aol.de/autoinsurancez/gmac-auto-insurance.htm Gmac Auto Insurance [link=http://hometown.aol.de/autoinsurancez/gmac-auto-insurance.htm]?Gmac Auto Insurance[/link]? Gmac Auto Insurance | http://hometown.aol.de/autoinsurancez/wawanesa-auto-insurance.htm Wawanesa Auto Insurance [link=http://hometown.aol.de/autoinsurancez/wawanesa-auto-insurance.htm]?Wawanesa Auto Insurance[/link]? Wawanesa Auto Insurance | http://hometown.aol.de/autoinsurancez/metlife-auto-insurance.htm Metlife Auto Insurance [link=http://hometown.aol.de/autoinsurancez/metlife-auto-insurance.htm]?Metlife Auto Insurance[/link]? Metlife Auto Insurance | 9ec4846b
Great site! http://home.aol.com/gringtones/free-music-ringtones-for-nextel.htm Free Music Ringtones For Nextel [link=http://home.aol.com/gringtones/free-music-ringtones-for-nextel.htm]?Free Music Ringtones For Nextel[/link]? Free Music Ringtones For Nextel | http://home.aol.com/gringtones/free-3g-ringtones.htm Free 3g Ringtones [link=http://home.aol.com/gringtones/free-3g-ringtones.htm]?Free 3g Ringtones[/link]? Free 3g Ringtones | http://home.aol.com/gringtones/free-american-idol-ringtones.htm Free American Idol Ringtones [link=http://home.aol.com/gringtones/free-american-idol-ringtones.htm]?Free American Idol Ringtones[/link]? Free American Idol Ringtones | http://home.aol.com/gringtones/send-free-ringtones.htm Send Free Ringtones [link=http://home.aol.com/gringtones/send-free-ringtones.htm]?Send Free Ringtones[/link]? Send Free Ringtones | http://home.aol.com/gringtones/centennial-wireless-ringtones.htm Centennial Wireless Ringtones [link=http://home.aol.com/gringtones/centennial-wireless-ringtones.htm]?Centennial Wireless Ringtones[/link]? Centennial Wireless Ringtones | http://home.aol.com/gringtones/final-fantasy-7-ringtones.htm Final Fantasy 7 Ringtones [link=http://home.aol.com/gringtones/final-fantasy-7-ringtones.htm]?Final Fantasy 7 Ringtones[/link]? Final Fantasy 7 Ringtones | http://home.aol.com/gringtones/free-net-10-ringtones.htm Free Net 10 Ringtones [link=http://home.aol.com/gringtones/free-net-10-ringtones.htm]?Free Net 10 Ringtones[/link]? Free Net 10 Ringtones | http://home.aol.com/gringtones/free-hindi-ringtones.htm Free Hindi Ringtones [link=http://home.aol.com/gringtones/free-hindi-ringtones.htm]?Free Hindi Ringtones[/link]? Free Hindi Ringtones | http://home.aol.com/gringtones/free-wwe-ringtones.htm Free Wwe Ringtones [link=http://home.aol.com/gringtones/free-wwe-ringtones.htm]?Free Wwe Ringtones[/link]? Free Wwe Ringtones | http://home.aol.com/gringtones/free-latest-bollywood-ringtones.htm Free Latest Bollywood Ringtones [link=http://home.aol.com/gringtones/free-latest-bollywood-ringtones.htm]?Free Latest Bollywood Ringtones[/link]? Free Latest Bollywood Ringtones | http://home.aol.com/gringtones/free-punjabi-ringtones.htm Free Punjabi Ringtones [link=http://home.aol.com/gringtones/free-punjabi-ringtones.htm]?Free Punjabi Ringtones[/link]? Free Punjabi Ringtones | http://home.aol.com/gringtones/free-funny-ringtones.htm Free Funny Ringtones [link=http://home.aol.com/gringtones/free-funny-ringtones.htm]?Free Funny Ringtones[/link]? Free Funny Ringtones | http://home.aol.com/gringtones/free-alltel-ringtones.htm Free Alltel Ringtones [link=http://home.aol.com/gringtones/free-alltel-ringtones.htm]?Free Alltel Ringtones[/link]? Free Alltel Ringtones | http://home.aol.com/gringtones/free-samsung-ringtones.htm Free Samsung Ringtones [link=http://home.aol.com/gringtones/free-samsung-ringtones.htm]?Free Samsung Ringtones[/link]? Free Samsung Ringtones | http://home.aol.com/gringtones/free-poly-ringtones.htm Free Poly Ringtones [link=http://home.aol.com/gringtones/free-poly-ringtones.htm]?Free Poly Ringtones[/link]? Free Poly Ringtones | http://home.aol.com/gringtones/free-bollywood-ringtones.htm Free Bollywood Ringtones [link=http://home.aol.com/gringtones/free-bollywood-ringtones.htm]?Free Bollywood Ringtones[/link]? Free Bollywood Ringtones | http://home.aol.com/gringtones/unlimited-ringtones.htm Unlimited Ringtones [link=http://home.aol.com/gringtones/unlimited-ringtones.htm]?Unlimited Ringtones[/link]? Unlimited Ringtones | http://home.aol.com/gringtones/harry-thompson-ringtones.htm Harry Thompson Ringtones [link=http://home.aol.com/gringtones/harry-thompson-ringtones.htm]?Harry Thompson Ringtones[/link]? Harry Thompson Ringtones | http://home.aol.com/gringtones/free-kyocera-soho-ringtones.htm Free Kyocera Soho Ringtones [link=http://home.aol.com/gringtones/free-kyocera-soho-ringtones.htm]?Free Kyocera Soho Ringtones[/link]? Free Kyocera Soho Ringtones | 4acbbfd1
Great site! http://home.aol.com/zringtonesx/cingular-ringtones.htm Cingular Ringtones [link=http://home.aol.com/zringtonesx/cingular-ringtones.htm]?Cingular Ringtones[/link]? Cingular Ringtones | http://home.aol.com/zringtonesx/boost-mobile-ringtones.htm Boost Mobile Ringtones [link=http://home.aol.com/zringtonesx/boost-mobile-ringtones.htm]?Boost Mobile Ringtones[/link]? Boost Mobile Ringtones | http://home.aol.com/zringtonesx/tracfone-ringtones.htm Tracfone Ringtones [link=http://home.aol.com/zringtonesx/tracfone-ringtones.htm]?Tracfone Ringtones[/link]? Tracfone Ringtones | http://home.aol.com/zringtonesx/create-ringtones.htm Create Ringtones [link=http://home.aol.com/zringtonesx/create-ringtones.htm]?Create Ringtones[/link]? Create Ringtones | http://home.aol.com/zringtonesx/kyocera-ringtones.htm Kyocera Ringtones [link=http://home.aol.com/zringtonesx/kyocera-ringtones.htm]?Kyocera Ringtones[/link]? Kyocera Ringtones | http://home.aol.com/zringtonesx/sidekick-2-ringtones.htm Sidekick 2 Ringtones [link=http://home.aol.com/zringtonesx/sidekick-2-ringtones.htm]?Sidekick 2 Ringtones[/link]? Sidekick 2 Ringtones | http://home.aol.com/zringtonesx/country-ringtones.htm Country Ringtones [link=http://home.aol.com/zringtonesx/country-ringtones.htm]?Country Ringtones[/link]? Country Ringtones | http://home.aol.com/zringtonesx/motorola-razr-ringtones.htm Motorola Razr Ringtones [link=http://home.aol.com/zringtonesx/motorola-razr-ringtones.htm]?Motorola Razr Ringtones[/link]? Motorola Razr Ringtones | http://home.aol.com/zringtonesx/free-verizon-ringtones.htm Free Verizon Ringtones [link=http://home.aol.com/zringtonesx/free-verizon-ringtones.htm]?Free Verizon Ringtones[/link]? Free Verizon Ringtones | http://home.aol.com/zringtonesx/free-yahoo-ringtones.htm Free Yahoo Ringtones [link=http://home.aol.com/zringtonesx/free-yahoo-ringtones.htm]?Free Yahoo Ringtones[/link]? Free Yahoo Ringtones | http://home.aol.com/zringtonesx/free-true-tone-ringtones.htm Free True Tone Ringtones [link=http://home.aol.com/zringtonesx/free-true-tone-ringtones.htm]?Free True Tone Ringtones[/link]? Free True Tone Ringtones | http://home.aol.com/zringtonesx/free-treo-650-ringtones.htm Free Treo 650 Ringtones [link=http://home.aol.com/zringtonesx/free-treo-650-ringtones.htm]?Free Treo 650 Ringtones[/link]? Free Treo 650 Ringtones | http://home.aol.com/zringtonesx/free-sidekick-ringtones.htm Free Sidekick Ringtones [link=http://home.aol.com/zringtonesx/free-sidekick-ringtones.htm]?Free Sidekick Ringtones[/link]? Free Sidekick Ringtones | http://home.aol.com/zringtonesx/free-country-ringtones.htm Free Country Ringtones [link=http://home.aol.com/zringtonesx/free-country-ringtones.htm]?Free Country Ringtones[/link]? Free Country Ringtones | http://home.aol.com/zringtonesx/free-nextel-wallpapers-and-ringtones.htm Free Nextel Wallpapers And Ringtones [link=http://home.aol.com/zringtonesx/free-nextel-wallpapers-and-ringtones.htm]?Free Nextel Wallpapers And Ringtones[/link]? Free Nextel Wallpapers And Ringtones | http://home.aol.com/zringtonesx/free-moto-razr-ringtones.htm Free Moto Razr Ringtones [link=http://home.aol.com/zringtonesx/free-moto-razr-ringtones.htm]?Free Moto Razr Ringtones[/link]? Free Moto Razr Ringtones | http://home.aol.com/zringtonesx/south-park-ringtones.htm South Park Ringtones [link=http://home.aol.com/zringtonesx/south-park-ringtones.htm]?South Park Ringtones[/link]? South Park Ringtones | http://home.aol.com/zringtonesx/arabic-ringtones.htm Arabic Ringtones [link=http://home.aol.com/zringtonesx/arabic-ringtones.htm]?Arabic Ringtones[/link]? Arabic Ringtones | http://home.aol.com/zringtonesx/free-real-ringtones-for-motorola.htm Free Real Ringtones For Motorola [link=http://home.aol.com/zringtonesx/free-real-ringtones-for-motorola.htm]?Free Real Ringtones For Motorola[/link]? Free Real Ringtones For Motorola | http://home.aol.com/zringtonesx/free-christian-ringtones.htm Free Christian Ringtones [link=http://home.aol.com/zringtonesx/free-christian-ringtones.htm]?Free Christian Ringtones[/link]? Free Christian Ringtones | http://home.aol.com/zringtonesx/indian-ringtones.htm Indian Ringtones [link=http://home.aol.com/zringtonesx/indian-ringtones.htm]?Indian Ringtones[/link]? Indian Ringtones | http://home.aol.com/zringtonesx/free-tracfone-nokia-ringtones.htm Free Tracfone Nokia Ringtones [link=http://home.aol.com/zringtonesx/free-tracfone-nokia-ringtones.htm]?Free Tracfone Nokia Ringtones[/link]? Free Tracfone Nokia Ringtones | http://home.aol.com/zringtonesx/cheap-ringtones.htm Cheap Ringtones [link=http://home.aol.com/zringtonesx/cheap-ringtones.htm]?Cheap Ringtones[/link]? Cheap Ringtones | http://home.aol.com/zringtonesx/real-tones-ringtones.htm Real Tones Ringtones [link=http://home.aol.com/zringtonesx/real-tones-ringtones.htm]?Real Tones Ringtones[/link]? Real Tones Ringtones | http://home.aol.com/zringtonesx/free-tracphone-ringtones.htm Free Tracphone Ringtones [link=http://home.aol.com/zringtonesx/free-tracphone-ringtones.htm]?Free Tracphone Ringtones[/link]? Free Tracphone Ringtones | aec88b42
Great site! http://hometown.aol.de/neopills3/phentermine.htm Phentermine [link=http://hometown.aol.de/neopills3/phentermine.htm]?Phentermine[/link]? Phentermine | cc66523f
Great site! http://home.aol.com/neopills2/xanax.htm Xanax [link=http://home.aol.com/neopills2/xanax.htm]?Xanax[/link]?