Apple's Other Great OS: OS X Server

Most everyone's well familiar with OS X by now, be it from daily use over the last five years, or from hatred or jealousy. Speaking as to the powers of OS X would be silly; they're well advertised, well known, and would only act as filler.

But not everyone has used Apple's other OS, the server version of OS X. This is largely due to price - for consumers, it can be up to over seven times more expensive with no real benefits for end users. As such, it is often only those of us in institutions that have already invested in it that get to enjoy its perks.

So this post goes out to all the geeks toiling away in IT departments but haven't looked at Apple's offerings yet. Below the fold, you'll find the five reasons I heart OS X Server and its related products - and why you should integrate it into your deployments.

Reason 1: We've Got The Tools, And The Talent

Yes, OS X Server is grounded in OS X (and Darwin, further down the chain). Your GUI experience is the same, and all of your favorite OS X apps run perfectly well under Server. You could potentially install it on a desktop, slap a user in front of it, and it would behave almost identically to a OS X Client box.

If you're a GUI user, and scared of the terminal, this is a boon. You do not, in fact, have to get your hands dirty. There are fantastic GUI tools for manipulating the server settings, with a well refined interface that only manages to get better from release to release. From hardware monitoring to service configuration to user management, Apple's tools are some of the best I've ever seen.

But if you're not scared of the terminal, or (god forbid) you're scared of the GUI, you can work entirely off the command line. The server admin apps are mirrored in well-documented command-line tools, in addition to the full suite of service related binaries you might be looking for.

Apple loves to give you choices on OS X Server - multiple paths to the same end result. Nothing could define this more clearly than your initial server config when you get a new Xserve. To get your server configured, you can:

  • Boot and hook a monitor into it and just use the regular GUI, -or-
  • Boot, let it find an IP over DHCP if it can, then locate the box and log in using Server Assistant from your desktop to do the exact same functionality, -or-
  • Drop the same configuration information exported from Server Assistant into your LDAP server, where if your DHCP setup includes information about this server, the server will immediately find its appropriate configuration, do it itself, and reboot into operation automatically. Or...
  • (This is my absolute favorite) Take Server Assistant, export the config data to a property list, and plop it in the right folder on any Firewire drive. Plug that drive in before you boot, and it will try and find an appropriate plist (based on serial number, MAC address, IP address, or generic metrics) and then configure itself appropriately.

Why is this last one my favorite? I said any Firewire drive. A lot of you have the same Firewire drive I do. Yes, I have personally configured an Xserve by plugging my iPod into it. This was not my idea - Apple actually recommends it as an option in the Xserve manual. Who would've ever thought a server admin would have a legitimate reason to keep his iPod on him when going into the server room?

So again - lots of paths, and you can pick the one you personally find has the least resistance.

Reason 2: For Once, Apple Is The Affordable Option

OS X Server comes in two flavors: 10 client ($499), and unlimited client ($999). The number of clients reflected is for file sharing only. Neither require yearly renewal, neither expire, and you get an unlimited client license with any Xserve as part of the cost. For double the cost, you can get all upgrades for three years.

The Xserve RAID can, at the top product level, cost $2 a gig for high-performance redundant storage. This is dirt cheap for the level of performance you get.

I never thought I'd see a place where Apple is selling competitively priced hardware and software, but here we are.

Reason 3: Open Source Up The Wazoo

People like to say that Apple suffers from "wasn't invented here syndrome" - where they don't like to use technology that they weren't responsible for. Looking at OS X Server, though, you'd be hard pressed to believe this. CUPS, Samba, WebDAV, Apache, OpenLDAP, Kerberos, Postfix, Cyrus, OpenSSL, Mailman, Squirrelmail, SpamAssassin, Perl, PHP, Python, Ruby, MySQL, Jabber, Blojsom, JBoss, Tomcat, Bind 9, ipfw, and plenty more are all standard on OS X Server.

Let's not also forget: the core of OS X (Client and Server) is open source, as are a number of other Apple technologies.

Reason 4: Maybe Because It's So Versatile

Think of all the things that go into your modern IT infrastructure:

  • File Shares: Samba, AFP, NFS, WebDAV, or even FTP.
  • Mail Services: POP, IMAP, mailing lists, spam filters
  • Web Services: Web servers, application servers
  • Distributed Computing: Cluster heads, worker nodes
  • Network Services: DNS, VPN, DHCP, Firewall
  • Collaboration: IM servers, blog hosts
  • Directory Services: Central authentication hosts, replicas, staff directories

OS X Server, out of the box, can do all of these in a speed I could only describe as insane. I was once asked to get an emergency web server online to handle some downloads we needed to have up on a stable server - it was literally an hour of work, for all services.

OS X Server also slides right into what are called heterogeneous environments, which the non-technical should take to mean "multiple OSes under the same roof". Linux machines can use OS X Server's OpenLDAP server to do authentication. Windows desktops can access Samba shares and have no idea it's not a Windows server. The OS X Server itself can pull system data as necessary from Active Directory, LDAP, or a host of other methods. To use the common parlance, it plays well with others.

I hope I've made it clear over the week that I don't like to struggle with my technology - I like it to bend to my will. For the overwhelming majority of deployments, OS X Server bends just the way I need it to.

Reason 5: Security Minded

Shockingly, even with all of these services at your disposal, OS X Server (just like Client) ships with nothing enabled by default. During your installation process, you can select some services that you could want to start, but nothing is forced on you out of the box.

Sometimes, OS X Server is so security minded, it borders on annoying. The Jabber server, which I've been playing around with a lot for work, will not run without an SSL certificate - which makes doing basic testing a little frustrating if I'm not quite ready to go through the process of getting an official cert.

Apple is routinely patching the OS to eradicate holes as soon as they're discovered. Some would even say that the frequency of patches borders on being eager to actually keep their Enterprise software secure - something you're not used to saying about certain other software companies.


I'm going to close this with a bit of an SAT-style comparison. I apologize, largely because my understanding is that these are no longer on the SAT and make me look dated.

The comparison reads:

OS X : Linux :: OS X Server : OS X Client

This is undoubtedly confusing. Let me explain:

Plenty of geeks will swear by Linux. It's a great OS, it's fantastic for tinkering, and it's free. The problem is, though, that you can spend a lot of time grappling with it to do things like get sound cards working. If you're willing to pay a bit more than what you'd pay for Linux (and have the appropriate hardware), you can get OS X - which gives you a fantastic user experience, removes the grappling, and still lets you tinker away should you see fit.

Similarly: OS X Client is great. If you're only using it for a desktop, it does the job better than any other client OS in the world. But if you're trying to use it as a server, it can be a bit problematic. I spent a year and a half of my life trying to coax OS X Client into doing server-y things while at Freeverse, and while it often worked, it was fragile and ready to fall apart with any OS upgrade.

So, in line with the Linux to OS X option - if you're willing to pay a bit more than what you'd pay for OS X Client, and you need to be running services, you can get OS X Server - which gives you the same fantastic user experience while extending it to service management, removes the pain of trying to shoehorn daemons onto an OS that isn't quite suited to support them, and lets you adapt into any environment or use you see fit.

It's a little sad when I love the OS I work with more than the one on my desktop. But not too sad.

Tangentially Related:

  • Stephen Sullivan

    A few notes and corrections. Mac OS X Server can most certainly use iLife, I have installed it on my server at home and it works fine. My main reason for doing this is to share iTunes and iPhoto across the home network.



    Jabber will most definitely work without SSL, I have only set this up in Tiger Server, but I know it works.



    I know of one service that is active on a brand new Mac OS X Server, and that is SSH.

  • Sakurina

    Correction: Not all GUI apps run on OSX Server (or not Panther Server), since I wanted to install iLife on the family G4 which uses Panther Server, yet it wouldn’t install.



    Also, we have the tens of thousands of OSX Server manuals printed out in the house here and I have to say that OSX Server, as you mention it, does give you tons of options for pretty much anything, and I only assume it got better with Tiger Server.



    An example of how easy it is to do this, is that my dad has very little experience with Unix command lines, in fact, one time the computer screwed up and I had to go in and delete an invisible file using Terminal, yet he had me do it.



    However, with OSX Server, he can do pretty much anything, and he’s migrating from a Linux box which was pretty much untouched for a while, so we’re really excited to get on the OSX Server bandwagon.



    That being said, I am the family’s “terminal geek” and I don’t really mind being stuck on a client version of the OS, since with a little bit of recompiling and all, it can be pretty much the same as Server for my needs. If you’re an individual who just needs web serving, Samba, and printer sharing, then OSX Client is fine for you.



    Note to other readers too, all the stuff that Dan mentioned about workblogs works wonderfully on a non-Server version of OSX. Same for Instiki, which happens to be 43 Folders’ wiki of choice.



    Anyways, thanks for not posting this one too late at night. :P
    Good night people. :)

blog comments powered by Disqus

About Dan

Dan Dickinson is a 29 year old living in Jersey City, New Jersey. He works at the strange intersection of collaborative technologies, education, software development, and medicine. His passions include finding unexpected paths and connections, music/rhythm video games, interesting food, and backchannels. This has been his primary (vivid) weblog since February of 2000.

Close