20,53 €
Openfire is a free, open-source and full featured Jabber-based Instant Messaging server.
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.
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.
This easy-to-use practical guide will teach you how to build efficient and secure Instant Messaging networks for your organization.
This book is a functional step-by-step, easy-to-follow reference guide that explains how to use Openfire to develop a secure instant messenger network. Each chapter will tell you how to add features to your IM.
Having a simple practical approach, this book is very user-friendly.
This book is for System Administrators who want to set up an in-house enterprise IM system using Openfire.
The reader will need experience in managing servers on any operating system.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 253
Veröffentlichungsjahr: 2008
Copyright © 2008 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: August 2008
Production Reference: 1180808
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847195-26-5
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]>)
Author
Mayank Sharma
Reviewer
Stefan Reuter
Senior Acquisition Editor
David Barnes
Development Editor
Ved Prakash Jha
Technical Editors
Usha Iyer
Gagandeep Singh
Copy Editor
Sumathi Sridhar
Editorial Team Leader
Akshara Aware
Project Manager
Abhijeet Deobhakta
Project Coordinator
Lata Basantani
Indexer
Monica Ajmera
Proofreader
Dirk Manuel
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade
Mayank Sharma is a contributing editor at SourceForge, Inc's Linux.com. He also writes a monthly column for Packt Publishing. Mayank has contributed several technical articles to IBM developerWorks where he hosts a Linux Security blog. When not writing, he occasionally teaches courses on Open Source topics at the Indian Institute of Technology, Delhi, as Industry Expert.
In memory of my grandfather H. C. Sharma and grandmother Shyma Sharma.
Thanks to my mom Shashi and dad Rakesh for laying down tough standards, and younger brother Shashank for his valuable suggestions and technical support.
Gratitude to Ved Prakash Jha for his guidance and advice, to Lata Basantani for managing and scheduling the book, to Usha Iyer and Gagandeep Singh for editing, to Stefan Reuter for his technical insights, and to the wonderful developers and community members of Openfire for developing and supporting such a wonderful project
Stefan Reuter is a key contributor to the igniterealtime community, the home of Spark and Openfire. He is also the lead developer of the Asterisk-Java library and the Asterisk-IM plugin for Openfire. After several years in the enterprise architecture group of a major European bank Stefan is now working as an independent consultant on Java and VoIP projects for various international customers.
Openfire is a free, open-source and full featured Jabber-based Instant Messaging server.
This book is a functional step-by-step, easy to follow reference guide that explains how to use Openfire can be used to develop a secure instant messenger network. Each chapter will tell you how to add features to your IM.
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.
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.
Chapter 1 introduces you to the importance and benefits of instant messaging over traditional communication methods. It also deals with benefits of hosting one's own EIM server. It then talks about Openfire real-time collaboration server.
In Chapter 2 you will learn how to install and configure the fully functional Openfire server environment for both Windows and Linux.
After reading Chapter 3 , you should be well equipped to run and administer an Openfire server in a single-office organization. You'll learn how to manage the administration console and some common network admin tasks.
Chapter 4 deals with the user organization in groups and populating the user's contact list in a variety of ways.
Chapter 5 shows how to sync your directory service with your Openfire server. Based on the directory service information, Openfire will let you migrate the users' contact information and other details, and use it to populate their profiles, as well as create groups.
Chapter 6 explores several ways of effectively administrating users irrespective of the size of the organization. You will learn how to import user data into their roster lists from any XMPP server to Openfire, and use tools that'll help members of the organization broadcast messages to their peers based on preset company rules.
Chapter 7 covers the Gateway plugin that allows access to a variety of IM services including Yahoo! Messenger, IRC, ICQ, MSN Messenger, AOL Instant Messenger, and so on. Apart from just enabling access to these gateways, the plugin lets you configure several aspects of the service including restricting gateway access to all users or a particular group of users. It also covers how you can hook up Openfire to your Asterisk VoIP server.
Chapter 8 talks about uses and ways to archive conversations using iBall plugin. The chapter also deals with the Monitoring Service plugin's archived conversation searching interface. Some freely available archiving options are also discussed including Open Archieve.
Chapter 9 covers in detail the two ways in which a server can be configured to distribute loads—by forming a cluster of Openfire nodes, and by delegating connection managers to make connections to clients. This chapter also covers installing and deploying connection managers in both Windows and Linux environments.
Chapter 10 looks at how users can connect and interact with users on remote Openfire servers. Server-to-server communication is a very powerful feature of Openfire and it enables users who move between multiple Openfire servers to stay connected with each other easily.
In Chapter 11 we have a look at installing and configuring the plugins and using them to create an online helpdesk with several queues to manage a couple of products. It also talks about online chat facility using the Fastpath plugin. The last section of the chapter illustrates what a Fastpath session feels like to a user and the various tools (transferring calls, user history, personal canned responses, and so on) at his or her disposal to enable him or her to service the users better.
Appendix A offers a quick look at Spark (its features, tools, and plugins), the official Openfire client. This appendix takes a look at the pre-installed and available plugins that give Spark the ability to spell check messages, control indiscriminate file transfers, and translate messages into a variety of languages among other features while bouncing it between users.
We have explored comprehensive group chat mechanisms of Openfire in Appendix B. We have broken down Openfire's group chat options into three broad subheads—general room characteristics, user permissions, and occupant behavior. We have looked at each of these in detail, and tried to understand their individual functions and then put them to test. We have then explored Openfire's flexibility with impromptu multiuser discussions.
In Appendix C, we've broadly looked at what goes on behind the scenes in selecting an IM server, planning the deployment, and making sure the server maintains a 100% uptime. We've also looked at the various decisions you'll have to make as the admin, and brainstorm with the management and other departments to maximize productivity and add flexibility to the system
This book is for System Administrators who want to set up an in-house enterprise IM system using Openfire.
The reader will need experience in managing servers on any operating system.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "This file will be under the webchat folder under your application server."
Any command-line input and output is written as follows:
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "To set some gateway-specific settings, click the Options slider button".
Important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you can get the most out of.
To send us general feedback, simply drop an email to <[email protected]>, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.
If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide the location address or website name immediately so we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.
Like it or not, instant messaging in the enterprise is here to stay. But rather than being on the back foot, it's time for all corporations, both big and small, to come forth and embrace this technology. Similar to how you look at half a glass of water—half-empty or half-full—Instant Messaging, or IM for short, can be perceived to have a positive or negative impact on productivity depending on the way you look at it. When you wake up to the importance of IM, you'll notice that, if properly managed, IM can increase connectivity within the realm of your business and have a positive impact on productivity.
This book is about managing and fostering IM as a real-time collaboration and communication tool. It's not about the 'why', although why IM is important, but rather it is about the 'what' and 'how'—what IM offers and how you can use it to your advantage.
Most people who use the Internet have been exposed to IM. Like email, IM is a user-centric technology. It offers something you want to use by addressing a basic human need—the need to communicate. There are dozens of public IM services: companies ranging from the leading software developer, Microsoft, to the leading web application developers, Yahoo and Google, offer free IM services. To make sure you use them, they also develop IM clients that work across platforms—from Microsoft Windows, Apple MacOSX, and Linux, to handheld devices like your mobile phone and PDA.
While you may be using IM to discuss weekend plans to pick up your aunt from across town, or kill time discussing the latest movie with a bunch of friends, IM also holds the potential to eliminate conversation blues in your workplace. Ever thought your boss was inaccessible? Wondered how to communicate your ideas to all of the members of your team without wasting time organizing a group meeting? IM is the key to all of these problems. In this chapter, we will discuss:
Now that companies are beginning to acknowledge the issue of employees using IM during company hours, they face a difficult choice. Blocking IM also stops employees from using it as a means to communicate with clients or other employees. Thankfully, several organizations aren't opting for this "easy" way out. In my personal experience, more and more companies are trying not to curb the proliferation of IM, but are rather taking steps to manage its use—looking for ways to oversee and control IM.
Let's take a short history lesson so that you will know how it all began and will be able to get things in perspective. When enterprises woke up to the benefits of IM, they also felt the need to control its use, and they ran into a void. IM was a public service. There wasn't any business-grade IM software that would provide the security and legal compliance expected from enterprise software. This void was filled in 1998, when IBM launched the first "Enterprise Instant Messaging" (EIM) software, called IBM Lotus Sametime. Microsoft quickly followed suit, first in haste with Microsoft Exchange Instant Messaging, and more properly later with Microsoft Office Live Communications Server.
Today, EIM is a multi-billion dollar business.
Like any Internet user I use IM daily. Like most, I use it to stay in touch with my friends, but every day for the past four years I've also been using IM to communicate with my editors over at Linux.com. Even this book was vetted out with Packt editors over IM.
While you might be impressed by the IDC figures and how IM works for "me", neither means anything if IM doesn't work for "you". IM is about communication—instant, real-time, communication. But of course, IM isn't the only real-time collaboration tool available. In addition to the telephone, the other digital communication tool you have access to is email.
I will not start a flame war here on which tool is the best, but rather will tell you how it ends. When the dust settles on the 'IM versus email versus telephone' battle and the purists retreat, there is only one option—to use all three tools together. Despite the fact that each tool has advantages over the other, because this book is about IM, let me just tell you what IM can do for you that email and telephone can't; at least not with the same efficiency as IM:
As I mentioned previously, the only way enterprises could safely allow IM proliferation was if they could apply necessary control. Some companies decided to apply "soft" control over public IM, by restricting, limiting, and pre-screening access. Others opted for more concrete steps, looking for a greater degree of control and, more importantly, privacy. These were the first users of EIMs.
By bringing the EIM infrastructure in-house, with an EIM server, a business can truly manage IM sessions, completely eradicating concerns about security and privacy. As with any good server application, an EIM system is also designed to function like any other enterprise application, offering centralized management, and directory and user integration with corporate directory systems such as Lightweight Directory Access Protocol (LDAP).
Because an in-house EIM server is tailor-tweaked to fit an organization, it does offer some level of customization not found with public IM. This allows a business to integrate IM and its features with other enterprise applications, like corporate email, intranet portals, ERP, and Supply Chain Management solutions and services such as over-the-network telephony.
There's no denying the advantage of an in-house EIM solution, if you want to effectively deploy, regulate, and be in charge of this new and useful means of communication.
There's no dearth of IM systems available. As we'd like to keep things under control and have decided to roll our own IM service, the next obvious question is: what features should we look for in an EIM solution? Not all products are the same, but like email, there are some features common to all and without which you wouldn't call them an IM system.
In this section, we're not discussing those features that are common and obvious; we're identifying the features that separate a good IM solution from an average one. Understanding these features will help us select an ideal, cost-effective solution that not only delivers now, but also grows as the company around it grows:
It's been a long time since the days when IBM and Microsoft dominated the EIM market. Now, there are a range of EIM platforms in addition to IBM Lotus Sametime and Microsoft Office Live Communications Server. Some of the most popular ones are ejabberd, jabberd2, Tigase, and Jabber XCP. According to Wikipedia, there are about 90 million users using Jabber-based servers. Openfire is one such server.
Note: The protocol on which Openfire is based on is now formally called XMPP or Extensible Messaging and Presence Protocol. It was formally known as Jabber, but some people confuse this with the company of the same name (Jabber Inc.). In this book, both terms are used interchangeably to refer to the protocol.
But what's so special about Openfire? There are many Jabber-based EIM servers available on the market. Openfire, which is written in Java, implements most features of XMP, according to Jabber's own website. As a product, Openfire is cross-platform, and is also very easy to setup and administer.
Openfire has lots of features designed to streamline communication within an enterprise. Some of Openfire's features, such as its secure design, are due to its well respected Jabber protocol. Jabber uses Transport Layer Security (TLS) by default, and will establish a secure connection if one is available. Openfire can be configured to allow only secured connections.
While the basic version of the server is available free of cost, an enterprise version, which can be bought for a fee, has features suitable for a large multi-office corporation. Openfire will suit a wide range of enterprises, from home office set-ups to large multi-site enterprises, as it is dual-licensed under GPL along with a commercial extension.
As we'll see in the course of this book, the free GPL'd version is no dumb cousin and has a variety of features that you'd need in an IM server, such as centralized administration of user lists, the ability to broadcast messages to entire groups, and customizable presence states, and tops it all off with a secure feature-rich client. Openfire is designed to complement other existing services running on your network. So, for example, it can plug into a directory server for authenticating users, or into an Asterisk setup for telephony.
Here's a list of some of Openfire's features:
