How to Configure Lion Server’s iChat Service
To change the default settings of Lion Server’s iChat Server, you mostly use the Server application. If you’re familiar with previous versions of Mac OS X Server, you’ll notice that Apple removed some of the more advanced configuration settings from Server Admin. However, you can still make some of these changes with the Unix command-line interface using Terminal.
To see all of the iChat settings, including the hidden ones, type this in Terminal:
sudo serveradmin settings jabber
Turn on iChat service
To turn on iChat service, just click the iChat icon in the Server app’s sidebar and click the big switch to the On position.
If you have an Apple wireless router (AirPort or Time Capsule) on the network and listed in the Server app’s sidebar, a dialog may ask you whether you want to allow Internet access to iChat service. Clicking the Allow button makes iChat Server available to users on the network; clicking Don’t Allow makes it unavailable.
For non-Apple routers, you need to configure the router for port mapping.
Archive chat messages
When you click Archive All Chat Messages in the Server app, Lion Server begins saving all iChat messages that users create. It stores this information in /Library/Server/iChat/Data/message_archives.
If you want to store this chat archive in a different location, such as another hard drive, you need to use the command line. Unlike previous versions of Mac OS X Server, Lion Server doesn’t let you change the data archive location with the administration tools. To change the location with the command line, open Terminal in the /Applications/Utilities folder and type the following on one line:
sudo serveradmin settings jabber:savedChatsLocation = "/path/message_archives"
where path is the new location you’d like to use. (If the path was on another drive, it would look something like /Volumes/MyOther HardDrive/myfolder.)
If you’ve lost track of where you set the archive, you can find it (and all of iChat Server’s settings) by typing sudo serveradmin settings jabber. Note that these comments are case-sensitive.
Enable server-to-server federation
Server-to-server (S2S) communication, known as S2S federation, enables communications with other XMPP servers, including Google Talk, Jabber, and other iChat Servers, as long as the servers are visible to the Internet. Users of each federated server can communicate with each other.
Selecting the Enable Server-to-Server Federation check box turns on S2S. Click the Edit button to get access to further S2S settings.
In the dialog that appears, you have a choice of Allow Federation with All Domains, which lets your users connect to a user on any XMPP server, or Restrict Federation to the Following Domains. The latter choice restricts access to domains or complete server hostnames that you add with the Add (+) button. You can have both domains and server names in this list.
Turn autobuddy support on
With the autobuddy feature turned on, all iChat Servers in a particular group are added automatically to everyone else’s buddy list. The upside is that users don’t have to add buddies manually. The downside is that if users remove buddies from their list, autobuddy adds them back.
Autobuddy is turned off by default. To turn it on using Terminal, type the following:
sudo serveradmin settings jabber:enableAutoBuddy = yes
Add host domains
Lion Server can host iChat service on multiple domains. The default is a single domain, the server host. You add other hostnames for use by iChat, as long as DNS is configured to resolve the names to the iChat Server IP address.
Open Terminal and type the following, all on a single line:
Sudo serveradmin settings jabber:hostsCommaDelimitedString="domain1.com,domain2.com,domain3.com"
Note that there is no space after the commas. Of course, substitute your real domains for domain1.com and so on. Include the server host in the list if it is one of the Jabber domains.