Taking Mac OS X Server for a ride
Volume Number: 20 (2004)
Issue Number: 1
Column Tag: Programming
Taking Mac OS X Server for a ride
by Schoun P. Regan
A brief look inside Panther, Apple's latest update to Mac OS X Server
It all began with Rhapsody. The green box with the gears, or, Mac OS X Server 1.0, as named by Apple. It had NetInfo at the core and support for LDAP. It supported Classic with OS version 8.6 and it introduced Macintosh users to the UNIX filing system.
A few years later, Apple introduced Mac OS X Server 10.1 which added a more refined GUI, enhanced administration tools, and withdrew, rightfully so, a default install of Classic.
Mac OS X Server 10.2, code named Jaguar, brought us Zero Conf in the form of a marketing term called Rendezvous, improved integration of Samba; the open source project responsible for sharing with Windows' computers, network installations, and Open Directory, the name Apple gave to Mac OS X's ability to talk to other directory services, such as LDAP, Active Directory, NetInfo, and NIS.
Enter Panther, Mac OS X Server 10.3. Panther changes the rules. Panther is the most open-sourced, well thought out, scalable software to come out of Apple's campus. But just like a car, reading the features list doesn't really give you a feel for the product. Let's take a look at how Mac OS X Server changes the rules, ups the ante, and stands up to the rest of the pack.
Taking the time to install the server the first time means answering questions about the network information of the server, the services, the directory setup, and a few more options. Reinstalling a server from scratch means that you must locate the piece of paper where you wrote down all the settings. If your office is as cluttered as mine, you'll never find it. Mac OS X Server now includes the ability to save the server settings setup, allowing you to instantly apply those settings to another server upon install. The property list configuration file can be encrypted and stuck on your iPod for safekeeping. This is an enormous advantage when setting up servers. A configuration file can be used to mirror a server setup across the country by emailing the configuration file to the remote server administrator. Better still; Mac OS X Server will search a network for this file when starting up, so starting over from scratch is not so difficult anymore.
Figure 1: Dialog permitting the saving of Mac OS X Server settings.
Once the server is up and running, three tools are utilized for the administration and monitoring of Mac OS X Server; Server Admin, Workgroup Manager, and Server Monitor. Server Admin is a conglomeration of the old Server Settings and Server Status tools, while Workgroup Manager and Server Monitor tasks remain unchanged.
Let's begin with Server Admin, which is used to configure and monitor services provided by Mac OS X Server. If you have a service you wish to add to Mac OS X Server, you now have the ability to manage that service from Server Admin by writing a plug-in for your service. For example, Sybase could write a plug-in for Server Admin, allowing the administration of that Sybase database from the Server Admin tool. Apple has provided a consistent and relatively easy to use interface in Server Admin. So, now any service can be carefully configured and tested. Their settings can saved to a small property list file by simply dragging a small icon off the service's window to the desktop. Again, we see that these small configuration files can be used to configure identical service settings on any other Mac OS X Server, or used to recover existing settings when additional configuration changes go terribly awry.
Figure 2: Small configuration box above the Save button.
Apple included BIND v9.2.2 with this version of Mac OS X Server and the interface for DNS now permits the creation of Zone files and their subsequent records. What is not automatic yet is the default creation of reverse lookup files and records. You must place a check box in the Address record setup indicating you want to have a reverse lookup file created. Since Mac OS X Server relies heavily on DNS, insuring your records are accurate is essential to keeping other dependant services running smoothly.
Figure 3: Adding a DNS Address record.
Two other GUI additions to Server Admin are NAT and VPN. Prior to this version of Mac OS X Server, if you wanted to do Network Address Translation, you needed to pop into the command line and configure your routing table. While the GUI for NAT is not particularly spectacular, you can choose the interface on which it runs, which is really all you need for basic NAT. The VPN piece includes the ability to setup both PPTP and L2TP over IPSec. Anyone with the authorization to tunnel into the network can now do so.
Figure 4: IPsec and PPTP options
Now, it's time to welcome back Open Directory, nenamed called Open Directory2, Apple's marketing name for how Mac OS X integrates with other directory services, such as NIS, NetInfo, LDAP, and Active Directory. Apple has included an Active Directory plug-in that requires no schema modifications on the AD server, a Windows Active Directory administrator's dream. If the Active Directory schema has been changed, the plug-in module will access information within the modified schema, including any MCX settings that may have previously existed. If schema modifications have not been done, the plug-in will automatically generate the required attributes needed. Advanced options include caching user logon information for laptops, multiple domain authentication, and group administration settings. This feature is available on both Mac OS X and Mac OS X Server 10.3.
Figure 5: The Active Directory PAM (plug-in Authentication Module) for Open Directory
Another part of Open Directory's job is to assist the administrator when creating a secondary database on Mac OS X Server. When you first install Mac OS X Server, a local NetInfo database is created. This database is for local users, which are usually server administrators. Creating a Master database creates an LDAP database for networked users. Once a Master database is created, system administrators have the ability to configure various attributes via the built-in GUI, which also adds a new Inspector window (under Workgroup Manager Preferences). Once your Master is configured, add all the users, configure all their options, and then you can replicate that server to any other server, allowing both redundancy and speed of authentication since a network user does not have to cross subnets to authenticate against the Master if the Replica is nearby. So, for example, the Master server could reside in the school IT administrator's office downtown while one or two replicas exist in each school building. This permits students in one school building to authenticate locally, without sending the IP traffic downtown. This could be done in prior versions of Mac OS X Server with NetInfo. It was called cloning a database but there was no documentation for it. Master/Replica configurations rely on DNS and can be configured to update automatically as the Master changes or periodically, based on the Master settings.
Figure 6: Open Directory configuration as a Master.
Figure 7: The Inspector tab of Workgroup Manager
Security rules in Mac OS X Server. Not only does Apple now create a Kerberos KDC every time you create a Master, but they have cleaned up some older, less secure authentication methods. Mac OS X Server can use Kerberos, Password Server, and ShadowHash passwords to authenticate users. It does support crypt passwords if you are importing users from previous NetInfo databases, but you cannot create new users and assign them a crypt password. Password limitations have also been altered to include a 511 byte length for Password Server. Bytes length limitations are used instead of character limitations in case UNICODE fonts are used. Suffice to say that the password can be longer that you ever thought possible for a typical user. Encryption methods supported include DHX, CRAM-MD5 and Digest-MD5, SMB-NT, SMB-LAN Manager, and MS-CHAPv2.
Mac OS X Server does Windows like before, but again, support is improved. In previous versions you've been able to let Windows users authenticate against a Mac OS X Server and share files across platforms, but that's where it ended in the GUI. Now you can add a Windows Primary Domain Controller to the mix. This helps you close the gap on that single sign-on utopia most IT managers yearn for.
Figure 8: Windows PDC Setup window
There are other services worthy of mention, DHCP, NetBoot, Firewall, QuickTime Streaming Server, Mail, and more. But what stands out about the latest incarnation of Mac OS X Server boils down to one word: interoperability. Being able to use open standards, communicate with other systems, and scale well are all hallmarks of what we look for in robust, commercial, full-grade server systems. Apple has hit the mark this time, and has the server world square in its sights.
Schoun P. Regan is CEO of The Mac Trainers, which specializes in Mac OS X training and consulting. He speaks regularly to CEOs and CFOs on how to control IT department spending, the myths surrounding cross-platform integration, and the lunacy of expected lost revenue stemming from a culture bred to tolerate IT staff, and operating system, inadequacies as "normal". He seeks to change self-fulfilling IT departments that breed complacency for their jobs and contempt for the end user, neither of which are conducive to business.