Facilitate server based Time Machine backups of all local mac computers on our home network.

Manage user and computer accounts to control the level of service provided to the various household users.

Establish a VPN to remotely access files and services on the home network.

A secondary goal being an overall refresh and improvement of my server management skills.

The features that attracted me to the Mac mini server were:

It’s small footprint

Extremely energy efficient design

Unlimited client license

Low cost

Ability to support and manage Mac, Windows, and linux clients.

The marketing info from Apple is very suggestive that a non IT person can easily setup and manage a Mac mini server. By using their included setup assistant, anyone familiar with Mac OS X is supposed to be able to quickly and easily have a fully functioning email, file, and directory server. I can confidently say that this is not the case. I have a substantial amount of experience with OS X, some OS X Server experience, and some linux admin experience. I thought I would give the setup assistant a try and see how easy it really can be to setup a Snow Leopard Server. Here is a brief summary of my results:

First try (setup assistant) = EPIC FAIL

Second try (manual configuration) = SUCCESS

After reading a substantial amount of the server admin guides from Apple, and researching much info on the web, I now have a properly functioning Snow Leopard Server with the following services enabled:

DNS (Domain Name Server)

Open Directory

AFP (Apple Filing Protocol)

SMB (Windows file sharing)

NFS (Unix file sharing)

I have migrated my user account from local accounts on the various macs, to a network account on the server. This was a challenging task to do correctly and there is virtually no documentation from Apple which provides an approach or framework to migrate local accounts to server accounts. A full write-up will be forthcoming…but in the mean time, a few things to consider:

Have a full admin account on your server that does not have the same long or short name as the account you plan on using as your everyday network account.

Network accounts should have different long/short names than the local accounts on your Macs.

It is helpful to have a local admin account (backdoor account) for each mac in your network.

Back up all of your files on your local machines before you begin messing with the accounts!

In the future, I plan on incrementally adding the following services to my server:

iCal Server

Address Book Server

VPN

Mail

The key to success was not allowing the setup assistant to configure any services. Just start with a minimal server install and configuration. Then, starting with the DNS service, incrementally added services by configuring them manually with the Server Admin application.

Setting up your DNS service is the most important step and requires forethought and planning to avoid having to reconfigure your server in the future; this is where I screwed up the first time (DNS config), and then the server assistant took it from there and hosed the rest of the services. I tried to repair manually using Server Admin and at the command line, but in the end, it was just easier to start over.

I think if I had a more complete understanding of DNS during the first attempt with the setup assistant, it is very likely that I would have been successful configuring my server. So I don’t think that there is any problem with Apple’s setup assistant per se, it’s just that the setup assistant assumes that you have at least a baseline knowledge of DNS service settings. It is very easy to quickly get of course with the setup assistant despite the fact that it was designed to make server setup a breeze.

When setting up DNS service on your server, keep these things in mind:

Make sure you understand what constitutes a fully qualified domain name (FQDN).

Example: myserver.mydomain.com

Do not use .local or .private in your FQDN.

Register a unique domain name for your server, even if you intend on having a private network behind a firewall.

Use Google’s DNS servers, 8.8.8.8 and 8.8.4.4, as your “Forwarder IP addresses.” You will get fast and accurate domain name resolution without ending up at your ISP’s search page when they can’t resolve the domain your looking for.

Double check your DNS server and ensure that it is working before moving on to setting up other services.

In the near future, I plan on writing a comprehensive online guide to setting up a functioning Snow Leopard Server that the average Mac OS X user can follow and have a higher likelihood of success than relying on the setup assistant alone. Update (3/12/2011): Since writing this post I have discovered several very good online resources for Snow Leopard Server setup and configuration. So rather than re-invent the wheel, I am just going to post some links to these excellent resources:

I do think that OS X Server is easier to setup and manage than say a Windows 2003 server or a linux server. However, it is definitely not as easy as Apple makes it sound on their Mac mini Server webpage.

Don’t let that discourage you from taking the leap!

If you’re growing a small business around the mac platform (or Windows),

and you’d like to provide email, calendar, and address book services while keeping overall IT costs low.

Or you have a large technology investment at home (multiple Macs/iPhones/iPads, multiple users, and lots of files), need centrally managed file storage, and would like to provide your own services.

Then you can definitely benefit from leveraging a Mac OS X unlimited client license server to meet your evolving needs.