Articles by: bcirvin

Unique ID Module Errors (Apache)

After a software update and reboot together with some system tweaking, my personal webserver was not loading httpd successfully. I checked /var/log/httpd/error_log and found this: "[alert] mod_unique_id: unable to gethostbyname" followed by my hostname – actually, the hostname I had specified when setting up my server.

I had changed the Rendezvous name in Sharing Preferences, and forgotten that my hostname would be changed too – this conflicted with settings in httpd’s conf files. For now, I’ll just switch off the unique id module in Server Admin under Web service.

Web service is back up.

Read more

Errors Regarding Unavailable Home Directories

I was having some trouble with a large Open Directory installation recently – users were able to authenticate, but never saw their desktop – they got a "you are unable to log in at this time…" error instead, then were logged back out.

After some googling, I found a story on’s discussion boards about bad aliases in /Volumes. I checked /Volumes on my server, and sure enough, though the Homes mount record pointed to /Volumes/ServerRAID, the homes were actually at /Volumes/ServerRAID 1 (note the 1!).

What had happened was simple but had pretty bad side effects – I had found that the admin previous to me had set two of the Xserve’s drive modules to fucntion as a striped RAID (!) – very bad for user data – I had cloned the drive (with CCC) to an external firewire disk, then changed the RAID to a mirrored one, cloned from the firewire to the RAID, then removed the firewire disk.

The problem with this was that CCC also clones the volume name – you see on your desktop two disks with the same name, but Darwin needs to differentiate between disks – hence adding the "1". Unplugging a firewire disk unmounted it, but didn’t remove the alias (ServerRAID) to it in /Volumes. The new RAID continued to be called "ServerRAID 1" – and that, of course, confused clients looking to automount a home in /Volumes/ServerRAID – which no longer existed.

It’s not easy (possible?) to rename an alias, so I waited till the server could be shut down, booted down, removed the RAID drive modules, booted in single user mode (fsck’ed the disk to be safe) – checked /Volumes and deleted any stray alias files, shut down again (shutdown -h now), reinserted the RAID modules, booted, and all was immediately well with user logins.

So, keep an eye on /Volumes if you have Home Dir troubles. (Anyone know a way to make the Finder display all the unix stuff?)

(ed. note. "defaults write AppleShowAllFiles ON" will show all files in the Finder and you can always use the "Go To Folder…" command to navigate to hidden folders. You might also want to check /private/var/automount/Network/Servers –pre 10.3.5– or /private/Network –10.3.5 on– on the client side for network home folder issues.)


Read more

My Favorite OSX UNIX Tools

I’ve learned almost everything I know about UNIX on my own, and even when I’ve been shown how to do something from the command line, troubleshooting often puts me on the path of self-instructed discovery. Here are some tools I use a lot (specifically in OS X), when mapping uncharted territory.

Read more

Installing Much Needed Developer Tools Remotely

MacTroll has been very good about posting helpful tutorials for the installation of various unix-type tools and plugins for OSX Server. However, many of you might find (as I have) that attempted unix installs sometimes just don’t work (usually with a returned error like "no c-compiler found" or the like). This is because Apple has kindly left out a bunch of unix stuff from the base install, including the all-important gcc compiler for installing/compiling unix software. For those of us lucky enough to have physical access to the problematic server, it’s easy to pop in the Developer Tools CD and install Developer Tools.mpkg by double-clicking. However, I recently found myself needing to install some unix stuff, and had neither Developer Tools nor physical access to the server. So here’s what I did.

Read more