HackMake

Mac Brain: Server.app

This post is part of a series on setting up a Mac server and automation system to simplify computing and take greater advantage of iOS devices. You can read all of the posts from my Mac Brain project here.

There’s a few basic things that any server needs to do: serve files, control access, and get on a network. OS X Server.app is the most simple way to do this on a Mac.

Apple has moved away from creating Server OSes and now ships a Server application that runs on top of the standard consumer Mac OS. Along side Mountain Lion, Server.app is available in the App Store for $20. The things that this app does can all be done for free with standard unix utilities, but believe me, the $20 is worth the price so you don’t have to learn how to set up apache and DNS stuff on your own. You can easily open up the app and toggle the features you want to serve. The main ones I use are Websites, DNS, File Sharing, and the option that lets you set up some port forwarding and firewalls with a connected AirPort Extreme.

There’s a great guide that helped me with get familiar and set up 10.8 Server.app here at Krypted.com.

The first thing I needed to do since I was running this machine headless at home was (right after the box was delivered to my office) to plug it in to a display, get it updated, install Server.app, and config it to allow remote SSH and VNC access. This way, when I brought it home, I’d be able to power it up and from my iPad using Screens, log into the server and control it to do the rest of the configuration and set up.

To do this, go into Server.app and in the Hardware section at the top, click on your computer name and turn on these:

  • Allow remote login using SSH
  • Enable screen sharing and remote management
  • Allow remote administration using Server

You may also want to set up your AirPort to allow these connections so you can manage your server from outside of your local network. Go into your AirPort in the Hardware section and hit the + and choose which service you’d like to enable. This will open the port in your firewall and forward it to your server.1

Once these are set up, you should be able to manage your server via Screen Sharing on Mac, a VNC app like Screens on your iPad, SSH at any command line, and using the same Server.app you downloaded from the Mac App Store on a different computer to log in and admin your server. There are plenty of tutorials around for VNC and SSH, so search for those if you need a hand getting it set up. Part of the fun of this project is to learn things, so challenge yourself and try SSH and learning some of the command line tools.

Next, I’ll go through some of the basic tasks I’ve got running that manage my files. If you’ve got questions about setting things up, or have something specific you’re interesting in me going over, chat with me on Twitter.


  1. Abstracting this type of configuration is so nice. You’ll understand what I’m talking about if you’ve ever had to log into crappy routers and manage this kind of stuff.↩︎