Server balks at reading the web settings

osx-serverserver.app

I have a lightly used server that no longer will show me the settings for Web services in the server app.

I see the progress spinner when selecting "web" from the list of services – but after a little while, servermrgd logs an error message and I see "Error Reading Settings" displayed where the Server app normally shows the web settings and controls in the main pane.

Here is what's logged to /var/log/system.log when select web…

Apr 25 12:00:32 www servermgrd[15799]: xswebconfig failed: Exception:
    undefined method `downcase' for nil:NilClass
Apr 25 12:00:32 www servermgrd[15799]: servermgr_web:  Error Domain=XSServerFoundationErrorDomain Code=4 "Failed to read settings: Exception:
    undefined method `downcase' for nil:NilClass
    ." UserInfo=0x7fc7c1def3d0 {NSLocalizedDescription=Failed to read settings: Exception:
    undefined method `downcase' for nil:NilClass
    .}

Where do I look next for a clue as to what is wrong or what might need to be fixed so I can resume using Server to manage the web sharing service?

10.7.3 build 11D50b – The server is a pretty simple setup – hosting one domain / one site – isolated server (all in one). The service is running (it serves up web pages), but I'd like to get control back of the settings or at least know what has broken to prevent the Server app from reading the settings.

Best Answer

I finally have had the chance to blow away this pesky server and no amount of digging yielded a clue how to avoid a reset of www - so that's what I did. I had since updated it to 10.7.5 Build 11G63 and the errors persisted on managing the web service.

I shut down all services except for File Sharing, DNS and Open Directory and did the following steps to force down apache and force a reset. Even trying to stop the web service using sudo serveradmin stop web kept failing with the errors above about xswebconfig and undefined methods of nil classes.

sudo apachectl stop 
sudo serveradmin command web:command=restoreFactorySettings
sudo serveradmin start web

At this point refreshing the Server app corrected the errors reading the settings. Thanks to this hint on cleaning up apache to get me most of the way to my solution.