Mac OS X 10.6.1 Server: Server Preferences broke and how to fix it.

Server Preferences: 10.6: An Issue

With running a Mac OS X 10.6.1 server, there are many things that you should not change once you set them up. One of them is the Open Directory domain. Why would you not want to change this? Good question. Besides actually breaking items that are set up like user accounts, computer accounts and the like, you can actually break your ability to use the Server preferences Application. I have done just this.

i have been searching for a fix for the last week or so, not because I need to use Server Preferences (I use Server Admin and Workgroup Manager for everything) but because I just like to have everything running properly. Server Preferences has the ability to quickly turn on and off services in case you do not want to run them or just to quickly restart them.

When I attempt to open Server Preferences I get the error shown below.

Server-Preferences-Wont-Open

If you click on ‘Ok’ you are prompted with the following dialog box.

Server-Preferences-Login-Window

So, if you try and login, you get the same error message as above. After googling, I could not find an answer to how to fix it. I set out to find an answer myself. Here’s how I found the answer.

I started Server Preferences which produces the error above. With Server Preferences open I launched Activity Monitor, found the ServerPreferences Process.

Server-Preferences-Activity-Monitor

I then clicked on ‘Inspect’. Inspect will bring up some additional information about the process. The Tab I needed was ‘Open Files and Ports’. This tab held the key to finding the fix.

Activity-Monitor-Server-Preferences-Open-Files

I went looking through the list of open files and found two that might be useful. Both Login.Keychain and System.keychain are opened by Server Preferences and the login dialog box screenshot shows this above. So I opened Keychain Access went the ‘login’ chain. While looking through the entire list I came across the possible offender. “Mac OS X Server: waynesworkshop.com”.

Keychain-Login-Server-Entries

I double-clicked the entry, clicked on ‘Access Control’ to see which applications are allowed access. What do you know, Server Preferences is on that list. I highlighted ‘Server Preferences’ and clicked the minus button to remove the program. Clicked on ‘Save Changes’, entered in my password, and closed Server Preferences.

Upon relaunching Server Preferences I received the same error. I went through each of the ‘Mac OS X Server: ‘ entries and removed every instance of Server Preferences. Upon Re-launching Server Preferences again I got the following message.

I clicked on ‘Always Allow’ thinking.. ooh, progress… this might fix it. Nope, still the same error message.

Since the ‘login’ keychain was now clear, I decided to move on to the ‘System’ keychain, since that was also listed in the ‘open files and ports’ under ‘Activity Monitor’.

I saw the following entries:

Keychain-System-Two-OpenDirectory-entries

Now, I only have one open directory, so I opened both of them up and noticed the following in one of them:

Keychain-Bad-OpenDirectory-Entry

So I went to Keychain and deleted it. I closed Server preferences again and re-launched it. Upon relaunching I was shown this screen:

Server-Preferences-Fixed

Success… all is working as expected now and everything is fixed.

Most readers won’t need to use Server Preferences, but they may want to figure out what’s causing an issue. By using ‘Open Files and Ports’ under Activity monitor one can gleam an insight into a starting place for locating the root cause of their strife with their problem applications.

I'm into everything technology related, particularly anything Apple related. I enjoy programming and tend to lean towards server-based technologies over client-based. You can contact me on twitter, via e-mail, or follow me on friendfeed.