# Jive Messenger Installation Guide

Jive Messenger is a powerful instant messaging (IM) and chat server that implements the XMPP protocol. This document will guide you through installing Jive Messenger as a standalone application. For a full list of features and more information, please visit the Jive Messenger website: http://www.jivesoftware.org/messenger

In order to install Jive Messenger, you'll need a server environment that meets the following requirements:

- JDK 1.5.0 (Java 5) or later. You can check your java version by typing "java -version" at the command line. See http://java.sun.com for Java on your platform or download a Jive Messenger installer with bundled JVM for your operating system.
- A supported database with a robust JDBC 2.0 compliant driver. Supported databases and recommended JDBC drivers are detailed in the database documentation below. Alternatively, you can use the embedded database.

## Installation Overview

To complete the installation of Jive Messenger, you'll need to perform each of the following steps:

1. Database - prepare your database for Jive Messenger.
2. Setup - Use the built in web based setup tool to setup and verify the server configuration.
3. Admin Tool - use the web-based admin tool to manage the server.

## Files in the Distribution

The files in your distribution should be as follows (some sub-directories omitted for brevity):

    jive_messenger/
     |- readme.html
     |- license.html
     |- conf/
     |- bin/
     |- lib/
     |- plugins/
         |- admin/
     |- resources/
         |-database/
         |-security/
     |- documentation/

- The `conf` directory is where Jive Messenger stores configuration files.
- The `bin` directory contains the server executable scripts. Run startup.bat or startup.ssh. If you used the Jive Messenger installer, native executables are also provided for your convenience. Below the base directory are platform specific deployment tools for running Messenger as service, etc.
- The `lib` directory contains libraries necessary for running Jive Messenger.
- The `plugins` directory contains server plugins. By default, Jive Messenger ships with a web-based admin console plugin.
- The `resources/database` directory contains SQL schema files to create new Jive Messenger databases, as well as upgrade scripts for existing installations.
- The `resources/security` directory is where Jive Messenger maintains keystores to support SSL connection security.
- The `documentation` directory contains server documentation.

## Setting Up the Database

Jive Messenger uses a database to store it's data. To setup your database you must load the appropriate database schema. You can find schemas in the `resources/database` directory of this distribution. View the database setup documentation to learn how to install the schemas and JDBC drivers.

Complete the database steps outlined in the database setup documentation before proceeding further.

## Setup the Server

A web based, "wizard" driven setup and configuration tool is built into Jive Messenger. Simply launch Jive Messenger and use a web browser to connect to the admin console. The default port for the web-based admin console is 9090. If you are on the same machine as Messenger the following URL will usually work: http://127.0.0.1:9090.

If you used the Jive Messenger installer, a shortcut for starting the application is provided. Starting the server using this icon starts a graphical launcher application. A button on the launcher allows you to automatically open your web browser to the correct URL to finish setting up the server. Large deployments should use the command line or Windows Service or *nix deployment options described below to properly configure JVM settings before using. If you didn't use the installer, you can start Jive Messenger using the startup script in the `bin` directory.

If you want to manually set up the server, edit the `conf/jive-messenger.xml` file. To bypass the server's normal setup mode after manually configuring the server, add a <setup>true</setup> element to the XML file to indicate that the server has been setup.

If you wish to use SSL, run the keytool application that ships with the Sun JDK to add the appropriate server certificates to the keystore located in the `security` directory. Self-signed certificates will work fine for testing. We've provided a dummy self-signed certificate for your server if it is 127.0.0.1 (the localhost).

## Admin Console

After completing the above steps, Messenger will be configured and you can use the web-based admin console to administer the server. The URL should be the same as you used to setup the server unless you changed the port during the setup.