Slashdot Mirror


Review - Mac OS X Server 10.3, Part 1

What is the point of Mac OS X Server? Mac OS X is Unix. I have Apache, bind, sendmail, (and whatever I want) already on here. My Mac OS X box is a server already, right? I have a home network with a half dozen Macs, and have a box that does some serving, and I want it do more. So, I set out to figure out what this Server thing is. (Read on for the rest.)

Sure, I can read. I can go to the Mac OS X Server web site and read all the documentation for things related to "standards-based management," "share printers and files," "n-tier" solutions. Yawn. I know all about this stuff, and I know I can do it already. If I am paying good money for this, it better have value I can't already get for free.

First Things First

Essentially, Mac OS X Server is the same thing as Mac OS X (a.k.a. Client). It's the same core OS, it has the same versioning (10.3.2 as of this writing), it runs the same programs. But Server comes with programs and tools and configurations geared toward being a server, rather than a user's workstation.

Server comes in two flavors: a 10-client version for $500, and an unlimited client version for $1000. The only difference between the two is that the 10-client version limits file and windows sharing to 10 simultaneous clients. You can have any number of users, but only 10 can connect to those services at the same time.

With that money, you also get 90 days of "up-and-running" support covering the software that ships with Server. So if you've read the frelling manual and still can't figure out why the firewall doesn't seem to be working, you can get some help. After 90 days, you can still get help -- including more advanced topics -- but it will cost you from $6,000 to $50,000.

Hardware

The Xserve, Apple's rack-mountable computer, comes with the unlimited client version of Server preinstalled; and really, Server is built with Xserve in mind. Server Monitor, included with Server, displays uptime, temperature, drives, power, network usage, fans, and security of Xserve boxes.

You can configure Xserve boxes automatically with Panther Server preinstalled. Design your configuration on one machine, set up an LDAP server and put it in the DHCP server settings, and add your configuration file to the LDAP server. Turn on the other servers for the first time, and each one will find the DHCP server, find the LDAP server, find the configuration file, and configure itself automatically. You can also put the configuration file on a USB key or somesuch, and the machines will configure themselves that way, too.

My test box is a dual G4/1.25 GHz Power Mac; it performs with nary a hiccup. If I had a large network or many users, I can imagine wanting more power: with a Power Mac or Xserve G5, I'd be able to take advantage of an OS that is optimized for the 64-bit CPU. For me, however, this would result in a depressingly, perpetually, low CPU load.

Initial Security Considerations

Out of the box, assuming no one has set up a rogue DHCP server on your network, Mac OS X Server is mostly secure: only SSH is on by default. As other services are turned on, more security concerns are created, because new security holes may be opened.

For the most part, the default configurations of the various services are secure, but that largely depends on your specific environment. Mac OS X Server is excellent at making advanced server configuration easier, but this ease of use comes with a price: you may be opening yourself up to attack. Mac users are often not used to the idea of making themselves vulnerable just by clicking checkboxes.

This may look like a Mac, and may be easy to use, but it is no substitute for having a real live sysadmin on hand to -- at the very least -- audit the security of the system. It'd be nice if Server included audit tools; I envision UI elements that warn you when you have conflicts, or when you've opened up a hole, or when you've violated predefined security policies. On the other hand, it would be more reliable to have a third-party system to do the audit, on basic principle. But that's so un-Mac-like.

Open

Tom Goguen, Director of Marketing for Mac OS X Server, says that Apple is 100% into using open standards and open source in the core operating system.

Mac OS X Server has always been largely based on open standards, but the Panther incarnation has gone even further. Gone are Apple's proprietary mail systems; they are replaced by postfix, mailman, and cyrus. Mostly gone is NetInfo; it is replaced by LDAP. Rendezvous, also an open system that others can plug into, is a bigger part of Server now: FTP, LPR, and web services are all announced via Rendezvous.

Of course, as always, Server -- just like Client -- is based on FreeBSD (now version 4.8, with some of 5.0 stirred in), and most of the Apple core OS itself is under the Apple Public Source License.

A Case for Case

New to Panther is case sensitivity in HFS+. For many years, Mac OS has used the HFS as its file system, which treated "Foo" and "foo" as the same file. Some years ago, HFS+ was introduced to overcome many of the limitations of HFS, but case sensitivity -- seen more as a usability feature than a limitation -- remained.

But in Unix, this certainly is a limitation for many people. "Makefile" vs. "makefile" and "head" vs. "HEAD" have caused many a headache for Mac OS X/Unix users. But now case sensitivity is a formatting option.

Because case insensitivity is still seen as a usability feature, this feature is not available by default on Client, although you could always connect your drive to a Server to format it. It is also possible, in theory, to format a drive with case sensitivity in Client using various tricks.

Setting it Up

My server is connected to my home network via a 100BaseT switch, to which is also connected a cable modem and an AirPort Extreme base station. My PowerBook G4/867 connects to the network via AirPort or the switch. My wife has an iBook G3/600, and I've got a PowerBook G3/400 in my stereo closet for playing MP3s. The PowerBook doesn't have internal AirPort, and instead is connected to another switch and another Extreme base station, configured to do WDS. I've also got the PS2 connected in there. Everything is running Panther Client (except for the PS2, last I checked).

Looking at the various services offered by Server, I can already see many things I want to set up: file sharing (Apple Filing Protocol, or AFP), DHCP for guests, DNS, FTP, SMTP, printing, and web. I have most of those already set up now, but I wouldn't mind if they were easier to configure and manage.

After surveying my situation, I installed Panther Server and took a look around.

The first thing I wanted to see was what my configuration options were. And lo, there in my Dock were not the expected iMovie, iTunes, iPhoto, and the like, but icons that a mouseover revealed to be representative of programs like Workgroup Manager, the aforementioned Server Monitor, and Server Admin.

Workgroup Manager uses a lot of terminology that is completely lost on me, and I am not managing any users, really. My wife doesn't need the file server -- we can exchange files via iChat, or I can copy them to her machine via scp -- and she keeps all her own files on her machine. We won't be using any print quotas. I do use Workgroup Manager to create some basic user accounts for friends, but I don't need any features more advanced than what is in Client.

Server Admin is what I want to sink my greedy little digits into. I opened it up, clicked the "add new server" button, typed in my server name ("Sweeney.local") and password, and started playing.

As I started looking around, I remembered that there was an extra CD in the distribution called Admin Tools. It allows you to install these tools on any Client machine, so you can manage the Server remotely. I want to go hang out in my La-Z-Boy while I configure my server, so I installed the tools on my PowerBook. Nifty.

Server Admin lists each machine and the services available to it, with an icon next to each describing its status. If you select a machine's name, you see several tabs: Overview, Logs, System, Graphs, Update, and Settings. Overview reports the system version, names, and dates. Under Logs, you can view the system log, watchdog log, etc. System reports what network interfaces and volumes are available. Graphs displays CPU and network use in pretty pictures. Update runs Software Update. Settings controls the system names, the date and time and timezone.

This is basic stuff, and each service is laid out in similar fashion. All of them have at least two tabs: Overview and Settings. Most also have a Logs tab. Some have other tabs like Connections, Graphs, Clients, Activity, Accounts, Queues, and Jobs.

The available services are AFP, Application Server, DHCP, DNS, Firewall, FTP, Mail, NAT, NetBoot, NFS, Open Directory, Print, QuickTime Streaming, VPN, Web, and Windows. Somewhat conspicuous in its absence, to me, is MySQL, which is included in Server, but doesn't have an interface in Server Admin.

Server Admin does have its problems. It will crash on occasion, but I see no evidence of my settings being corrupted, or any other lasting ill effects. Some of the lists are not sortable, though they appear to be: for example, the DNS zone listings are not sortable, even though clicking on the column headers indicate otherwise.

Also, it can be slow to update. This is understandable, but annoying. Logs don't refresh immediately, and when you hit reload, the wrong log is selected, instead of the current log being refreshed. When restarting services or viewing logs, I will sometimes use the command line tools, as they are more efficient; it would be nice if Server Admin would display the path to the log you are looking at, so you can easily find and tail it in a shell.

Sharing

Some of these services are available in a minimal form in Client, in Sharing under System Preferences: file sharing, Windows sharing, web, FTP, and printing. In Server, the Sharing preferences are still there, but contain only three items: Remote Login, Apple Remote Desktop, and Remote Apple Events. Remote Login is simple: it allows users to connect with ssh/scp, and can be turned on or off. The other two require, perhaps, a bit more explanation.

Apple Remote Desktop is a way for an admin to control client computers. Previously, the client was distributed only as part of the software package of the same name, but now the client is included with Panther. It is, of course, off by default, and once turned on, each machine must define what users have access to what resources (this can be done via the command line, too). I most commonly use ARD for controlling and viewing the screen of another computer, installing packages, and copying files.

Remote Apple Events has been in Mac OS for many years, since back in version 7-dot-something. It allows controlling "scriptable" Mac applications -- such as with AppleScript -- over the network. It used to run over AppleTalk, but now runs over plain old TCP/IP. Not many people make use of remote Apple events in my experience, but I use them often; for example, I have a Perl script that queries iTunes on a remote box, and sets the current track in iChat.

Windows

I don't use Windows, and therefore can't really test the new Windows integration in Panther Server. But from what I can tell, Apple has added quite a few improvements. Samba has been updated to version 3, and the lists of Unix and Windows users can be united via Directory Services. But I confess to a crippling ignorance and apathy about this small corner of the computing world. Sorry.

To Be Continued

Tomorrow, I'll get into the details of setting up the services I use on my network.

7 of 469 comments (clear)

  1. eh, how many clients? by 192939495969798999 · · Score: 5, Interesting

    How many clients can connect to OS X Client? That would be interesting to know. Granted, the server version comes with tools, but what tools are really there that aren't available for free somewhere?

    --
    stuff |
  2. OpenDirectory is the key feature by caseih · · Score: 5, Interesting

    While you can easily do everything that Panther Server does on your linux box, what Panther excels in is integration. Specifically the binding together of OpenLDAP, Samba, Apache, Postfix, IMAP, POP, and CUPS with the OpenDirectory password server. OpenDirectory's password server is essentially a SASL password store that they've hacked all the programs mentioned to interact directly with it for all authentication. Think of it similarly to what pam does for linux. The nice thing about OpenDirectory is that a password change from any of these mechanisms (say via samba) then all of the password hashes in the database are automatically synced (even kerberos is synced). This makes for very slick administration of users all from one central console. In the past on Linux, it was not uncommon to have to hack together some scripts to syncronize ldap, samba, and kerberos authentication stores. Even in the best case right now, samba password hashes have to be kept in the ldap database along with either an md5 hash for unix logins, or a pointer to kerberos. With OpenDirectory, there are no passwords stored in ldap itself. Instead an Apple Password field points to the password database which can provide md5 challenges and responses, samba challenges, and general password verification.

    Essentially OpenDirectory brings all the technologies together that we already use and make them into a service that competes very well with Active Directory or NDS.

    Another bonus is that since OpenDirectory (all its parts including the SASL password database and patches to cups, samba, etc) is open source, we could build a complete OpenDirectory-compatible system on Linux. I plan to do this over the next year or so. Most likely there will have to be a pam module created, and some patches made to OpenLDAP, Samba, etc. But it's a very exciting example of how to put open source projects together and have them work really well.

  3. The future... by thrillbert · · Score: 4, Interesting

    You know, a lot of friends and colleagues have been laughing at me when I tell them that Mac is the new force to be reckoned with. I've been watching them for a little while now and ever since they integrated FreeBSD into their OS, they've taken on a new direction which seems a lot more proffitable.

    Don't get me wrong, I still have my two Linux and two OpenBSD boxes at home along with the obligatory windows boxes for the wife, daughter and gaming.. but you know what? I'd love to get my hands on one of them OS X boxes..

    If you don't think I'm right.. that's your opinion.. but I know if I had OS X experience, I might be able to get a job Here!

    ---
    No matter how subtle the wizard, a knife in the shoulder blades will seriously cramp his style.

  4. Waiting for the other half, but.... by Chordonblue · · Score: 4, Interesting

    ...I really do want to know why I should use this in a Win2K environment. My boss wouldn't care what I get as long as it does the job. What I want to know is: Can this server provide me with tools to form a good bridge between Windows, Apple, and Linux clients?

    SAMBA 3, from what I read is GREAT, but it in no way yet compares to the ease of use of MS's Active Directory tools (at least in configuring Windows clients).

    --
    "...Well, there's egg and bacon; egg sausage and bacon; egg and spam; egg bacon and spam; egg bacon sausage and spam..."
  5. I use an old G4 as a server by MarkWatson · · Score: 4, Interesting
    Not OS X server edition - just plain old OS X.

    I have been a Linux user for about 10 years (when I first got Slackware over a 1200 baud modem) and until recently I was using a super-cheap Linux box to run Java server side stuff for my little NLP software business.

    I switched over to using an old G4 Mac for running web services about 4 months ago. It is a little too early to tell, but I seem to be spending less time taking care of the G4 server (approxametely 1 hour a month - and I think that I used to spend 2 or 3 hours a month messing with my Linux server).

    Anyway, a life for old Macs :-)

    -Mark

  6. Re:Costs? by midifarm · · Score: 5, Interesting
    I've been using OSX Server for over two years now (first time on an iMac!) and have NEVER had to pay for support for server. From the guys that I've talked to at Apple, they've stated that they don't want to charge the Server customer because they WANT that customer. They've been very helpful in the few problems that I've encountered even getting me to an actual programmer!

    Peace

  7. No more OS X Server! by Random+BedHead+Ed · · Score: 4, Interesting
    I've been totally turned off to OS X Server. I help a lab that has two servers (one is a backup/mirror). When I first started helping them they had AppleShare IP 6. This was useable, but it crashed frequently. We upgraded to OS X 10.2 Server hoping to get some added stability from UNIX, but ran into immediate problems.

    When I had both machines in place I ran into an issue where I had to rebuild the main one, so I transferred the data to the secondary server and planned to swap them. I changed their settings and IP addresses ... and all of the user accounts on the primary file server disappeared.

    This was odd.

    I Googled for it and came up with the answer: if you set up a password server on 10.2 Server you can't change the machine's IP address. This has to do with how Apple built the LDAP system that manages passwords, so it's a requirement if you want Windows file sharing (Samba in disguise) enabled. Which I did.

    I called Apple tech support and they confirmed it: if I wanted to do Windows file sharing, I needed to set up a "password server" (LDAP). And if I set up a password server, I couldn't change the IP address of the machine. Ever. If I did, the users and groups would vanish into thin air. I asked if I could back up the user and group databases and then upload them again ... and they said no. Not without stripping the passwords out. So I'd have to have my users reset their passwords.

    I was stunned. The inability to back up user account information, complete with passwords, and to change the IP address is ridiculous, and not the mark of a true, flexible server OS. So right now I'm migrating them to PPC Linux with Samba. I know 10.3 Server probably addresses these issues, but Linux is just simpler. Heck, all I have to do with Linux/Samba is replicate the passwd, group, shadow and smbpasswd files between the machines. Instant mirror servers. And it'll just work.

    Besides, tar and mt will give me better control over tape backups than Retrospect did. Retrospect was always propting me for tapes of a particular set, and rejecting tapes that were from the wrong set. I don't give a pair of fetid dingo's kidneys about backup sets. On Linux, it's just "See that tape drive? Put the data there, and shut up about it." And it does. And it's good.

    End of rant.