Managing Macs has it ups and downs. While the simplicity of OS X allows for ease of use in most cases, its market share gives preference to Windows, leaving a dearth of management suites in its wake. Sure, Apple-centric deployment suites exist, but many of them are too underpowered compared to the more pricier alternatives or too expensive for basic management needs.

Fortunately, there’s DeployStudio Server, an open-source deployment suite that offers imaging, management for apps and settings, plus support for BootCamp and Linux-based partitions. Did I mention that it’s also free?

DeployStudio can be configured to run as a stand-alone server app from a Mac computer or from OS X Server for greater support and added networking features. It can also be setup in a master/replica hierarchy similar to Open Directory to scale with the needs of your organization.

For the scope of this article, we’ll discuss how to install and configure DeployStudio. Before diving into the installation process, please review the requirements below.

  • Apple Computer running OS X 10.6.8+ (if running standalone; for multicast network-based deployments, OS X Server 10.6.8+ is required).
  • Available storage space sufficient to server OS X images for deployment.
  • Broadband internet access (Ethernet)
  • Administrative-level credentials
  • Static IP
  • DeployStudio installer

After verifying the requirements above are met, it’s time to proceed to the installation.

I. Installing DeployStudio

Follow these steps to install DeployStudio:

  1. Download and open the DeployStudio DMG file. Inside you’ll find the package installer. Execute it to begin the installation process (Figure A).
    Figure A
  2. Click the Continue button to proceed past the Introduction screen (Figure B).
    Figure B
  3. Click the Continue button to proceed past the Read Me screen (Figure C).
    Figure C
  4. Click Continue at the License screen (Figure D).
    Figure D
  5. Accept the Licensing agreement (Figure E).
    Figure E
  6. At the Installation Type section, you can choose to modify the install location before clicking Install (Figure F).
    Figure F
  7. You’ll be prompted to enter admin credentials before continuing on (Figure G).
    Figure G
  8. A prompt may appear if installing DeployStudio on OS X Server with the NetInstall service running. If previous NetBoot files exist, a message indicating that the .nbi file cannot be updated may appear. This is not an error, just a notification. Click OK to proceed (Figure H).
    Figure H
  9. Upon completing the installation, the Summary is displayed. You may now click Close as DeployStudio has been installed successfully (Figure I).
    Figure I

II. Configuring DeployStudio

Follow these steps to configure DeployStudio:

  1. DeployStudio is installed in the Utilities folder, within Applications. Specifically, three applications are installed:
    a. DeployStudio Admin: The admin console that allows for configurations and workflows to be created and computers to be managed.
    b. DeployStudio Assistant: A wizard that will guide you through the steps to create different NetBoot images for use with various functions of DeployStudio, such as scripting app deployments.
    c. DeployStudio Runtime: This is a window that allows one to select the workflows or configurations set in the admin console and execute them on a client machine (Figure J).
    Figure J
  2. Be default, the DeployStudio is where the configurations are made initially. However, launching that app without first turning on the service will result in a notification that the DeployStudioServer daemon is not active (Figure K).
    Figure K
  3. Go to System Preferences and find the DeployStudio Server preference pane (Figure L).
    Figure L
  4. The service is installed in the OFF position. Clicking the ON button will load the service. The status will change from Stopped (Figure M) to a warning that the Repository is not configured (Figure N). Since this is the first time running the service, no repositories exist at the moment.
    Figure M

    Figure N
  5. At this point, click the Launch Assistant button to configure DeployStudio. Select the radio button that corresponds to Set up a DeployStudio Server and click Continue (Figure O).
    Figure O
  6. In the Server connection section, enter the Static IP that is assigned to the computer and create a username and password that will act as the admin account for DeployStudio (Figure P).
    Figure P
  7. Next, select the master server role since this is the first DeployStudio server. If setting up multiple DeployStudio servers, each subsequent configuration should be set as Replica for scalability (Figure Q).
    Figure Q
  8. Repository type is a crucial entry since this selection will affect how DeployStudio is used. If DeployStudio is to be a stand-alone computer with images stored on external HDD, then select Local Folder. However, if DeployStudio is to be networked with images being multicast to clients, then select network sharepoint and click Continue to enter the network settings (Figure R).
    Figure R
  9. If local folder was selected, proceed to step #10; If network sharepoint was selected, enter the network path to the folder, as well as credentials to access the shared folder on the network (Figure S).
    Figure S
  10. The following section allows you to configure Email notifications, if desired. This is an optional step that does not impact configuration one way or the other. If you wish to enable email notifications, check the box to enable and enter your organizations email server information. If not, proceed to the next step (Figure T).
    Figure T
  11. Network security is another important decision, since it will directly affect how DeployStudio is accessed. Communication between the server and client is made via specific ports for both encrypted and unencrypted traffic. Enabling SSL will use a 1st or 3rd-party SSL certificate to encrypt traffic. Additionally, ports may be customized in the event that the defaults are already in use by another app/service (Figure U).
    Figure U
  12. The User groups section allows sys admins to define access rights to specific applications, functions, and workflows, based on group membership. The defaults allow the admin account created during installation full access to everything. However, if working with multiple IT staffers, it would be a best practice to secure each user’s account by adding them to the specific group(s) they need access to in order to perform their functions (Figure V).
    Figure V
  13. Again, if running DeployStudio as a stand-alone, jump down to step #15; if running DeployStudio networked, then modify the settings for multicast imaging to meet the needs and demands of your organization’s environment. Bare in mind the impact on production networks when configuring these settings and consult the network admin (Figure W).
    Figure W
  14. For its computer management abilities, DeployStudio creates a database and creates entries on the fly as clients connect to the service. The default identification method is based on the device’s Serial Number; however, it may be modified based on MAC address. Modify the selection as it pertains to your organization (Figure X).
    Figure X
  15. The final step is the initial configuration phase. Clicking Continue will save the settings and create the DeployStudio repository (Figure Y).
    Figure Y
  16. Once the settings have been saved, a confirmation message will appear and subsequently restart the DeployStudio service, bringing it online and ready to communicate with clients (Figure Z).
    Figure Z

With the installation and configuration of the DeployStudio Server successfully completed, the service is ready, but it must still be configured to communicate with clients over the network.

The next few articles in this series will provide in-depth information for creating images to boot to DeployStudio as well as to be used to capture reference images (which are completed installs of a computer with all settings and applications pre-configured) for automating deployment to multiple computers. Also, I plan to discuss how to build and create workflows that aid in the deployment of said images, software updates, and settings configuration.