Instant messaging and presence notification

From openSUSE

Contents

Introduction

You want free (as in freedom) software at no cost, using the open standard XMPP for secure instant messaging and presence notification in your enterprise, using your LDAP directory to authenticate and authorize users, easy administration and to be up and running in 10 minutes. In short, you want Wildfire from Jive Software.

Note: if you don't have an LDAP directory service, just skip that bit and continue.

Installation

  • Download the latest Wildfire RPM package, and install as root using either Yast or by typing at a console window
rpm -ivh wildfire-2.6.1-1.rpm

and then

SuSEconfig

Wildfire is now installed in

/opt/wildfire

Adding LDAP authentication to Wildfire

Backup

/opt/wildfire/conf/wildfire.xml

by typing as root

cp /opt/wildfire/conf/wildfire.xml /opt/wildfire/conf/wildfire.xml.backup

then open wildfire.xml with a text editor

vi /opt/wildfire/conf/wildfire.xml

There are lots of comments in there which is removed in this example. The example will designate one LDAP user - you - as administrator of Wildfire. Change the ou=Accounts to whatever your company uses.

<?xml version="1.0" encoding="UTF-8"?>
<jive>
  <adminConsole>
        <port>9090</port>
    <securePort>9091</securePort>
  </adminConsole>
  <admin>
        <authorizedUsernames>your_username_in_your_LDAP_directory</authorizedUsernames>
      </admin>
  <locale>en</locale>
      <network>
        <interface></interface>
    </network>
   
  <!-- Example LDAP settings -->
  <!-- Note, for Active Directory, try usernameField=sAMAccountName, nameField=displayName,
         emailField=mail -->
  <ldap>
    <host>your_hostname.your_domainname.com</host>
    <port>389</port>
    <usernameField>uid</usernameField>
    <nameField>cn</nameField>
    <emailField>mail</emailField>
    <baseDN>ou=Accounts,dc=your_domainname,dc=com</baseDN>
    <adminDN>cn=ReadOnlyAdminUserInYourLDAPDirectory,ou=Accounts,dc=your_domainname,dc=com</adminDN>
    <adminPassword>secret_adminDN_password_goes_here</adminPassword>
  </ldap>
  <provider>
    <user>
      <className>org.jivesoftware.wildfire.ldap.LdapUserProvider</className>
    </user>
    <auth>
      <className>org.jivesoftware.wildfire.ldap.LdapAuthProvider</className>
    </auth>
  </provider>
  <!-- End example LDAP settings -->
  <connectionProvider>
    <className>org.jivesoftware.database.EmbeddedConnectionProvider</className>
  </connectionProvider>
  <setup>true</setup>
</jive>

Starting Wildfire for the first time

Start Wildfire by issuing the following command as root

# /opt/wildfire/bin/wildfire start

Open your web browser to

http://localhost:9090/

or first change localhost to the hostname or IP address of the Wildfire server. Set the language and continue, skip the password setup page - you are using LDAP read-only anyway, finish the initial setup, and login using the username and password of the authorized user in LDAP.

The admin console

Familiarize yourself with the options available from the admin console, then turn off registration of new users.

Starting an XMPP/Jabber client

The open IETF standard XMPP - or Jabber - is the protocol used by Wildfire for instant messaging and presence notification. There are many clients available - Kopete, Gaim, Sparks and several others. You don't need to register - use your regular LDAP username and password.

Stopping Wildfire

Stop Wildfire by issuing the following command as root

# /opt/wildfire/bin/wildfire stop

Automatically start/stop Wildfire when rebooting/changing run level

Keep users and yourself happy by adding start/stop run level scripts for Wildfire under

/etc/init.d/

to make sure the service under

/opt/wildfire

is available upon reboots or changes in run level.

References

A thread regarding the run level script. The script and installation script is ready for SUSE 10.0, with restart added as a parameter. I'll post the complete scripts one day.