Computers, Laptops & Tablets Apple Create a Jabber-Based Server for iChat by Tom Nelson Writer Tom Nelson is an engineer, programmer, network manager, and computer network and systems designer who has written for Other World Computing,and others. our editorial process Facebook Twitter Tom Nelson Updated on January 21, 2020 Apple Macs iPad Tweet Share Email If you use iChat, you probably already know that it has built-in support for Jabber-based messaging. That's the same messaging scheme used by Google Talk and many other similar services. Jabber uses an open source protocol called XMPP to initiate and talk with messaging clients. The upshot of an open source framework is that it makes it very easy to run your own Jabber server on your Mac. 01 of 04 iChat Server - Create Your Own Jabber Server There are many reasons to use your own Jabber server to allow iChat messaging: You control who can connect to the service.You can create a secure messaging system.Keep all messaging communications in-house.Easy cross-platform messaging.You like to fiddle with your Mac and having a Jabber Server sounds cool. There are actually many other reasons, especially for larger companies that use messaging systems, but for the majority of users, creating a Jabber server comes down to the security of knowing that your home or small business iChat messages aren't accessible to outside eyes. That doesn't mean you're creating a closed environment. The Jabber server you create in this guide can be configured for in-house use only, open to the Internet, or just about anything in-between. But even if you choose to open your Jabber server to Internet connections, you can still use various security measures to encrypt and keep your messaging private. With the background out of the way, let's get started. There are various Jabber server applications available. Many require you to download source code, and then compile and make the server application yourself. Others are ready to go, with very simple installation instructions. We're going to use Openfire, an open source, real-time collaboration server. It uses XMPP (Jabber) for its instant messaging system, and it works out of the box with the native iChat client, as well as many other Jabber-based messaging clients. Best of all, it's a simple installation that isn't much different than installing any other Mac application. It also uses a web-based interface for configuring the server, so there are no text files to be edited or managed. What You Need to Create a Jabber Server Openfire real-time collaborative server.An Intel-based Mac.About a half an hour of your time. 02 of 04 iChat Server - Installation and Setup of the Openfire Jabber Server We chose Openfire for our Jabber server because of its ease of installation, web-based configuration, and adherence to standards that let us create a cross-platform server. To get started on the installation and setup, you need to grab the most current version of Openfire from the Ignite Realtime website. Download Openfire Jabber/XMPP Server To download the Openfire application, stop by the Openfire project site and click the Download button for the most current version of Openfire.Openfire is available for three different operating systems: Windows, Linux, and Mac. As you've probably already guessed, we'll be using the Mac version of the application.Select the Mac download button, then click on the openfire_3_7_0.dmg file. (We're using Openfire 3.7.0 for these instructions; the actual file name will change over time as new versions are released.) Installing Openfire Once the download is complete, open the disk image you downloaded, if it didn't open automatically.Double-click the Openfire.pkg application listed in the disk image.The installer will open, welcoming you to Openfire XMPP Server. Click the Continue button.Openfire will ask where to install the software; the default location is fine for most users. Click the Install button.You will be asked for an admin password. Supply the password, and click OK.Once the software has been installed, click the Close button. Setting up Openfire Openfire is installed as a preference pane. Launch System Preferences by either clicking the System Preferences Dock icon or selecting System Preferences from the Apple menu.Click the Openfire preference pane located in the "Other" category of System Preferences.You may see another message that says, "To use the Openfire preference pane, System Preferences must quit and reopen." This happens because the Openfire preference pane is a 32-bit application. In order to run the application, the 64-bit System Preferences application must quit, and the 32-bit version run in its place. This won't affect the performance of your Mac, so click OK, and then open the Openfire preference pane again.Click the Open Admin Console button.This will open a web page in your default browser that will allow you to administer the Openfire Jabber server.Since this is the first time you have used Openfire, the administration page will display a welcome message and start the setup process.Select a language, then click Continue.You can set the domain name used for the Openfire server. If you're planning to run the Openfire server only for your local network, with no connection to the Internet, then the default settings are fine. If you want to open the Openfire server to outside connections, you'll need to provide a fully qualified domain name. You can change this later if you wish. We're going to assume that you're using Openfire for your own internal network. Accept the defaults, and click Continue.You can choose to use an external database to hold all of the Openfire account data or use the embedded built-in database included with Openfire. The embedded database is fine for most installations, especially if the number of clients connecting is less than one hundred. If you're planning a larger installation, the external database is a better choice. We will assume this is for a small installation, so we'll select the Embedded Database option. Click Continue.User account data can be stored in the server database, or it can be pulled from a directory server (LDAP) or a ClearSpace server. For small to medium Openfire installations, especially if you're not already using an LDAP or ClearSpace server, the default Openfire embedded database is the easiest option. We're going to proceed using the default selection. Make your selection, and click Continue.The final step is to create an administrator account. Provide a functional email address and a password for the account. One note: You're not providing a username at this step. The username for this default administrator account will be 'admin' without the quotes. Click Continue. The setup is now complete. 03 of 04 iChat Server - Configuring the Openfire Jabber Server Now that the basic setup of the Openfire Jabber server is complete, it's time to configure the server so that your iChat clients can access it. If you're continuing from where we left off on the last page, you'll see a button on the web page that will let you move on to the Openfire Administration Console. Click the button to continue. If you closed the setup web page, you can regain access to the administration console by launching the Openfire preference pane and clicking the Open Admin Console button.Enter the username (admin), and password you specified earlier, then click Login.The Openfire Admin Console provides a tabbed user interface that allows you to configure Server, Users/Groups, Sessions, Group Chat, and Plugins for the service. In this guide, we'll only look at the basics you need to configure to have the Openfire Jabber server up and running quickly. Openfire Admin Console: Email Settings Click the Server tab, then click the Server Manager sub-tab.Click the Email Settings menu item.Enter your SMTP settings to allow the Openfire server to send notification emails to the administrator. This is optional; the Openfire server will work whether or not you set up email. But as the Openfire administrator, it's a good idea to be able to receive notifications if a problem should ever arise.The information asked for in the email settings is the same information you use for your email client. The mail host is the SMTP server (outgoing mail server) you use for your email. If your email server requires authentication, be sure to fill out the Server username, and Server password. This is the same information as your email account username and password.You can test the email settings by clicking the Send Test Email button.You're given the ability to specify who the test email should go to, and what the subject and body text should be. Once you make your choices, click Send.The test email should appear in your email application after a short time. Openfire Admin Console: Creating Users Click the Users/Groups tab.Click the Users sub-tab.Click the Create New Users menu item.Enter a username and password. You can also optionally include the user's real name and email address, and specify whether the new user can be an administrator of the server.Repeat for additional users you wish to add. Using iChat to Connect You will need to create a new account for the user in iChat. Launch iChat and select Preferences from the iChat menu.Select the Accounts tab.Click the plus (+) button under the list of current accounts.Use the dropdown menu to set the Account Type to "Jabber."Enter the account name. The name is in the following form: username@domain name. The domain name was determined during the setup process. If you used the default settings, it will be the name of the Mac that's hosting the Openfire server, with ".local" appended to its name. For example, if the username is Tom and the host Mac is called Jerry, then the full username would be Tom@Jerry.local.Enter the password you assigned to the user in Openfire.Click Done.A new iChat messaging window will open for the new account. You may see a warning about the server not having a trusted certificate. This is because the Openfire server uses a self-signed certificate. Click the Continue button to accept the certificate. That's it. You now have a fully operational Jabber server that will allow iChat clients to connect. Of course, an Openfire Jabber server has quite a bit more functionality to it than we explored here. We only looked at the bare minimum required to get the Openfire server up and running, and to connect your iChat clients to it. If you would like to learn more about using the Openfire Jabber server, you can find additional documentation at: Openfire Documentation The last page of this guide includes instructions for uninstalling the Openfire server from your Mac. 04 of 04 iChat Server - Uninstalling the Openfire Jabber Server One thing I don't like about Openfire is that it doesn't include an uninstaller or readily available documentation about how to uninstall it. Luckily, the Unix/Linux version contains details about where the Openfire files are located, and since OS X is based on a UNIX platform, it was fairly easy to find all of the files that need to be removed to uninstall the application. Uninstall Openfire for Mac Launch System Preferences, and then select the Openfire preference pane.Click the Stop Openfire button.After a short delay, the Status for Openfire will change to Stopped.Close the Openfire preference pane. Some of the files and folders you'll need to delete are stored in hidden folders. Before you can delete them, you must first make the items visible. You can find instructions on how to make invisible items visible, as well as how to return them to the hidden format after you've finished uninstalling Openfire, here: View Hidden Folders on Your Mac Using Terminal After making the hidden items visible, open a Finder window and navigate to: Startup drive/usr/local/Replace the words "Startup drive" with the name of your Mac's boot volume.Once in the /usr/local folder, drag the Openfire folder to the trash.Navigate to Startup drive/Library/LaunchDaemons and drag the org.jivesoftware.openfire.plist file to the trash.Navigate to Startup drive/Library/PreferencePanes and drag the Openfire.prefPane file to the trash.Empty the trash.You can now set your Mac back to the default condition of hiding system files, using the process outlined in the link above.