Q: How To Reset a Broken jabberd/Messages/iChat Service on OS X Server
I've had trouble with my jabberd/Messages/iChat service after recents updates of the OS X Server.app, problems I see several posts on here. After getting some help from Apple Enterprise support and my own experiments, here's a summary of a working solution.
I'm still having some difficulty with virtual domain authentication when trying to authenticate from outside the server. Any pointers to a fix for this would be appreciated. But at this point I suspect a jabberd configuration bug in OS X Server.
Reset the jabberd service:
sudo serveradmin stop jabber
sudo rm /private/var/run/jabberd/*.pid /Library/Preferences/com.apple.messageserver.plist
sudo rm -rf /Library/Server/Messages/*
sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/copy_message_server_co nfig_files.sh
sudo launchctl load -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/org.j abber.jabberd.plist
sudo serveradmin start jabber
Reset your Messages app, including your keychain entries:
rm ~/Library/Preferences/com.apple.iChat.*
Keychain Access>Search for and delete all jabber accounts.
Finally, it's highly preferable to use the domain name, not the FQDN, in email-name-based services like jabber. These steps allow you to authenticate to the jabber service using names like user@domainname.com, rather than user@host.domainname.com. Unfortunately, as noted above and elsewhere, this only works for clients on the LAN. Intenet clients must authenticate using the FQDN, or get the error:
host.domainname.com jabberd/c2s[60453]: Authentication failed, mech: DIGEST-MD5 client IP: ::ffff:36.413.165.258 client port: 49694 username: ?
Please post if anyone knows how to fix this problem and authenticate to an OS X Server jabber service from the internet using a virtual domain name.
Configuring jabber for virtual hosts:
sudo serveradmin stop jabber
sudo serveradmin settings jabber:hostsCommaDelimitedString = "hostname.domainname.com,domainname.com"
sudo serveradmin start jabber
These steps should allow you to fix the jabber/Messages/iChat service and create a Messages jabber account like user@domainname.com that successfully authenticates.
Mac mini Server (Mid 2010), OS X Mountain Lion (10.8.2), Lion Server, EyeTV HD, Turbo.264 HD
Posted on Sep 22, 2013 6:03 PM
I solved this virtual domain authentication problem. In the directory /Library/Server/Messages/Config/jabberd/ , the files sm.xml, sm_domainname.com.xml, and sm_hostname_domainname.com.xml all contain the entry:
<local><!--comment-->
<id>hostname.domainname.com</id>
</local>
With multiple virtual domains, they all should contain the entry:
<local><!--comment-->
<id>domainname.com</id>
<id>hostname.domainname.com</id>
</local>
Stopping jabber, correcting these files, and restarting jabber allows internet clients to authenticate to jabber using either the TLD username@domainname.com or the FQDN username@hostname.domainname.com.
This is definitely a bug in OS X Server's jabber configuration settings when jabber:hostsCommaDelimitedString is modified; I've filed a bug report with the solution. See https://discussions.apple.com/message/20567203#20567203 for background.
Posted on Nov 26, 2013 8:00 PM