Hi again, and welcome to the second instructional blog in this Munki series. In this post, I will show you how I configure a Munki admin machine (aka ‘Admin Mac’). Originally this series was to be 3 parts, however, in order to demonstrate the command line and GUI options for Catalog and Manifest management, I will be expanding this to 5 parts, but I’m getting ahead of myself.
Some notes for this series:
- These instructions have been written for our internal teams and for our typical installations. Tweaks may be required to fit your exact setup.
- The server used in these examples is Mac OS X Server 10.8.4
- The server uses Mac Server App version 2.2.1.
- The server has been configured with a boot drive called “ServerHD” and a data drive called “DataHD” for the services data.
- The clients used in these examples are Mac OS X 10.8.4, although the instructions have been tested on Mac OS X 10.8.2+.
- Munki is provided free of charge under the Open Source license. Although free, your mileage may vary, so test any solutions heavily before rolling them out as ‘live’.
Additional information can be found on the Munki site.
Munki Admin Requirements
In our typical installations, we are likely to move between sites quite regularly, with remote access used to update the packages Munki holds and serves.
In this scenario, we not only use the Mac server as a Munki Repository but also as the Administration machine. This guide is written to provide this solution, but I have noted a few areas that you can change should you want to use a second Mac as the Admin machine.
If this were required, you would be best to make the Munki repo a file share.
Guide
You have your Mac Server installed and configured with 10.8.4 and Server app 2.2.1. This has both forward and reverse lookups configured and working fine. I will also assume that you have already followed all the steps in part 1.
Downloading and Installing the Munki Tools
1. Navigate to code.google.com/p/munki and click the “Downloads” link.
2. Select the “munkitools-[version number].dmg” link. In the example, this is “munkitools-0.9.0.1803.0.dmg”. On the next screen click the link next to “File” to start the download.
3. Once this has downloaded, quit your web browser and navigate to your default downloads folder. Mount the freshly downloaded disk image.
4. What you will find is that Gate Keeper will prevent a double click to launch the installer. Instead, either disable Gate Keeper for this installation (“System Preferences” > “Security & Privacy” > “Allow applications downloaded from:” > “Anywhere”) or right click, select “Open” and “Open” again.
5. Continue through the installer until you get to the “Customize” option. Select this.
6. By default, all options are enabled. The options are detailed as follows:
- Munki core tools – The core tools for Munki to work. This is required for the client Macs and the admin Mac / s.
- Munki admin tools – The admin Mac / s related tools. This is not required for the client Macs but is required for the admin Mac / s.
- Managed Software Update – This is the GUI tool the client Macs will use to install the updates from Munki. This is only required on the client Macs and not the admin Mac / s unless they will also be clients.
- Munki launchd agents – These are the tools used to trigger update checks by the client Macs. This is only required on the client Macs and not the admin Mac / s unless they will also be clients. This option will require a restart as part of the installation.
7. Deselect the bottom two options (detailed under C and D above) and continue the entire installation.
8. You have now completed the installation of the Munki Admin tools onto your Admin Mac.
Configuring the Munki Admin Mac to use your Munki Repo
9. We will now configure the Munki Admin tools to access your Munki Repository. Launch the Terminal application on the Munki Admin Mac.
10. Enter the following command into Terminal and press return.
/usr/local/munki/munkiimport --configure
11. This will launch the Munki import configuration wizard. If you are configuring an Admin Mac that isn’t the Munki Repo Server mount the file share that contains the munki_repo folder now.
12. For the “Path to munki repo” question, drag in your munki_repo folder.
Please Note: This will automatically add a space to the end of the path. This MUST be removed before you hit return!!
13. The next question is only if you are accessing the repo on another Mac. If you are on the Munki server, leave this blank. If you are running admin on a different machine, you will need to put in the URL in the form “[protocol]://[server]/[mount]” (e.g. “afp://munki_server/munki_repo). Press return.
14. The next question will ask you what default extension you’d like to give the XML formatted files that make up the information on each installer file. This can be left as blank, but I recommend typing in “.plist”. Hit return.
15. The next question asks which default application you’d like to open the package information files during the import. Essentially, as part of the import process, the auto-generated information file is opened in a text editor so that you can add custom options and settings. Which application this opens is decided here. Enter either the full path or just the .app name. e.g. “Fraise.app” or “TextEdit.app”. Press return.
16. The last question will be asked is what Catalog you’d like to use by default. Catalogs are explained a bit further in my next post, but essentially they are used to differentiate between the current ‘live’ version of the particular software, and a testing version. As recommended by the wizard, I would suggest using ‘testing’ as your default catalog for new packages. Enter “testing” and press the return key.
17. This completes the configuration of the command line tools for the Admin Mac. Quit the Terminal application.
Summary
There you go. Your Munki Repository Server is configured, and now your Admin Mac is too. Next time, we jump into using the command line tools to add a package into Munki and some basic editing of Catalogs and Manifests. Eventually, the plan is to show off a GUI Munki editor, followed by the client configuration and finally an advanced / gotchas post.
Any hints, tips or opinions? Let us know in the comments below and I’ll try to respond to as many as I can.
Disclaimer:
While the author has taken care to provide our readers with accurate information, please use your discretion before acting upon information based on the blog post. Amsys will not compensate you in any way whatsoever if you ever happen to suffer a loss/inconvenience/damage because of/while making use of information in this blog.