# 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

## Installation

### Windows

Run the Jive Messenger installer. The application will be installed to `c:\Program Files\Jive Messenger` by default.

### Linux/Unix

Choose either the RPM or tar.gz build. If using the RPM, run it using your package manager to install Jive Messenger to `/opt/jive_messenger`:

`rpm -ivh jive_messenger_2_1_2.rpm`

If using the .tar.gz, extract the archive to `/opt` or `/usr/bin`:

`tar -xzvf jive_messenger_2_1_2.tar.gz
mv jive_messenger /opt`

Note: the .tar.gz build does not contain a bundled Java runtime (JRE). Therefore, you must have JDK or JRE 1.5.0 (Java 5) or later installed on your system. You can check your java version by typing "java -version" at the command line and (if necessary) upgrade your Java installation by visiting http://java.sun.com.

## Setup Overview

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

1. Database - if you choose to use an external database, you must 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 Console - use the web-based admin tool to manage the server.

This document also includes information on:

- Running under Windows
- Running under Unix/Linux
- Installing and using plugins

## 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/
     |- jre/
     |- lib/
     |- plugins/
         |- admin/
     |- resources/
         |-database/
         |-security/
     |- documentation/

- The `conf` directory is where Jive Messenger stores configuration files.
- The `bin` directory contains the server executables. Depending on which distribution you installed, different executables will be available.
- The `jre` directory contains a Java 5 runtime that is bundled with the Windows and RPM versions of Jive Messenger.
- 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.

## Setup the Database

Jive Messenger can store its data in an embedded database or you can choose to use an external database such as MySQL or Oracle. If you would like to use an external database, you must prepare it before proceeding with installation by running the appropriate database schema. View the database setup documentation for more information.

## Setup the Server

A web-based, "wizard" driven setup and configuration tool is built into Jive Messenger. Simply launch Jive Messenger (platform-specific instructions below) 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.

## 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.

## Running Jive Messenger in Windows

If you used the Jive Messenger installer, a shortcut for starting the a graphical launcher is provided in your Start Menu. Otherwise, run messenger.exe in the `bin/` directory of your Jive Messenger installation. A button on the on the launcher allows you to automatically open your web browser to the correct URL to finish setting up the server:

### Windows Service

If you're running Messenger on Windows, you will likely want to run Messenger as a standard Windows service after initial setup. If you used the Windows installer, a `messenger-service.exe` file will be in the `bin` directory of the installation. You can use this executable to install and control the Jive Messenger service.

From a console window, you can run the following commands:

- `messenger-service /install` -- installs the service.
- `messenger-service /uninstall` -- uninstalls the service.
- `messenger-service /start` -- starts the service
- `messenger-service /stop` -- stops the service.

You can also use the Services tool in the Windows Control Panel to start and stop the service.

Note: the graphical launcher is not compatible with the Windows service at this time. If you install the service, you should use service controls as described above to control the server rather than the graphical launcher.

### Custom Parameters

Advanced users may wish to pass in parameters to the Java virtual machine (VM) to customize the runtime environment of Jive Messenger. You can do this by creating vmoptions files in the bin/ directory of your Jive Messenger installation. For the Windows service, you'd create a new text file called messenger-service.exe.vmoptions. Each parameter to the VM should be on a new line of the file. For example, to set the minimum and max VM heap size to 256 MB, you'd use:

    -Xms256m
    -Xmx256m

To create parameters for the normal launcher, create a file called messengerd.exe.vmoptions (since the messenger.exe launcher invokes the messengerd.exe executable to actually start the server).

## Running Jive Messenger in Linux/Unix

You can start and stop Jive Messenger using the `bin/messenger` script in your Jive messenger installation:

`# ./messenger
Usage: ./messenger {start|stop}
# ./messenger start
Starting messenger`

If you would like to install Jive Messenger as a service, two scripts are provided in the `bin/extra` directory:

- redhat-postinstall.sh -- automatically installs Jive Messenger as a service on Red Hat. It does so by creating a "jive" user and then copying the jive-messengerd script to your init.d directory. This script must be run as root. Please see the comments in the script for additional information.
- jive-messengerd -- script to run Jive Messenger as a service. You must manually configure this script. See the comments in the script for additional details.

## Plugins

Plugins add additional features and protocol support to Jive Messenger. After setting up your Jive Messenger installation, you may want to download and install plugins to enhance your server. Plugins can be downloaded from the plugins page on jivesoftware.org.

### Installing Plugins

Each plugin comes packaged as a .jar (JAR) file. After download the plugin, you can deploy it by copying the plugin file to the `plugins/` directory of your Jive Messenger installation. A plugin monitor will automatically extract the plugin into a directory and install the plugin in Jive Messenger.

### Managing Plugins

Plugins can be managed inside the Jive Messenger admin console. You can also manually delete a plugin at any time by deleting its JAR file (Jive Messenger will automatically remove the plugin from memory and delete it's directory when you do so).