Book Image

Openfire Administration

By : Mayank Sharma
Book Image

Openfire Administration

By: Mayank Sharma

Overview of this book

<p>Openfire is a free, open-source and full featured Jabber-based Instant Messaging server.<br /><br />This book is a guide to setting up Openfire, tweaking it, and customizing it to build a secure and feature-rich alternative to consumer IM networks. The features covered include details about setting up the server, adding and handling users and groups, updating, and extending the service with plug-ins, connecting with users on external IM networks, connecting with external voice over IP solutions and more, with user-friendly instructions and examples so that you can easily set up your IM network.<br /><br />The book deals with several features of Openfire to streamline communication within an enterprise and beyond. It shows how to configure Openfire to allow only secured connections. It then explains how Openfire complements other existing services running on your network. Managing and fostering IM as a real-time collaboration and communication tool is what this book is about.</p>
Table of Contents (19 chapters)
Openfire Administration
Credits
About the Author
About the Reviewer
Preface

Identify the Required Objects and their Properties


The first thing you need to do, before deploying an IM server, is to make a list of all of the IM services available, and consider how you want to distribute them between users. This can be an exhaustive task. I'll list some of the more essential services here:

  1. 1. Identify global services. These are services available to all users. For sure, you'd want everyone to be able to exchange IMs with each other. But what are the add-ons and conveniences you'd want them to be able to use? Some of the things you'd probably want everyone to do would include searching for other users on the network, editing their profile, and changing their password.

  2. 2. Identify restricted services. These are services that will only be available to a select few, in addition to the global services. The ability to broadcast is one such service. You also wouldn't want every user to be able to connect to external IM services via the gateway extension. Neither would you want everyone to have the right to create a persistent chat room.

  3. 3. Identify the override method. There will be times when you'll have to give people access to restricted services. You can prepare for such a situation by identifying the override authority for each restricted service. There will be some services that a user could request directly from you, while others would require approval from a user's supervisor. You'll also need to take into account a user's role when deciding their override methods. For example, if you are a newspaper, a journalist can directly request a gateway access, while an accountant's request might require a supervisor's approval.

  4. 4. Identify key users. Typically, you'd want to delegate or share your admin powers with other admins as well, unless you are a one-man team. Then, there are some services that have their own hierarchy of users. One such service is multi-user chat rooms. You'll need to determine which users own which rooms, and which users have administrator privileges for those rooms. Additionally, the IM system also has the ability to notify certain users of various events such as policy violations. These will also have to be identified.

Once you have the list of services and their distribution across the various categories of users in your organization, you might want to run this plan past the management, and if possible get input from the various department heads as well.

Plan the Deployment Process

In addition to identifying the various components of an IM system, it's advisable to have a rough outline of the deployment process. This will help you estimate the time required for the process, as well as serve as a checklist while you are busy deploying the server. Here's an overview of a typical IM service deployment process:

  1. 1. Plan the infrastructure and determine the server locations. If you have a large organization, you'll need to introduce redundancy and setup servers at multiple locations to distribute loads. Also, determine if you'll be running the IM server on a dedicated server, or on a shared one. If you want to deploy multiple services on one server, you should understand that a heavily-utilized chat service requires significant server resources, in terms of memory, CPU, and network throughput, to meet customer response-time expectations.

  2. 2. Name your chat servers in line with the naming standards already in use for other servers on the network or in your organization.

  3. 3. Install the server and hook it up with the external services. This would include:

    • Hooking up with an external database for storing IM-related data

    • Connecting with a directory server for adding users

  4. 4. Pre-populate rosters.

  5. 5. Create the required Domain Name System (DNS) resource records (typically, a host record) for the chat server.

  6. 6. Configure Network Address Translation (NAT) and Firewalls. Verify that the proper service records have been entered in all internal DNS servers, and in case of server-to-server communication, in external DNS servers as well. Make sure that all required ports are open and forwarding traffic to the correct addresses.

  7. 7. Make the IM client software available to users. Upload the clients on the server, and send a pre-drafted notice about the new IM service, with (a link to) adequate end-user documentation to all users.