Mac administration is usually a dicey proposition for a lot of organizations. Whereas first-party instruments usually do an admirable job of dealing with the widespread administration duties, instruments that present actual perception into the every day workings of those gadgets sometimes come from third-party builders and often require dear licensing charges.
Whereas all instruments—first and third celebration alike—have their professionals and cons, help performs a giant position of their on-going use. That is very true for organizations that should not have engineers focusing on Apple merchandise, which forces them to depend on these help plans for assist when issues do not go as deliberate.
That mentioned, highly effective open-source instruments like Munki, the programs administration device with strong software program administration capabilities and a robust person help group might be put in, configured, and run on macOS to handle all of the Apple computer systems within the enterprise—irrespective of how massive or small. In spite of everything, Munki was developed by Walt Disney Animation Studios to aide within the administration of the 1000’s of Macs they use every day when engaged on every little thing from animated shorts to characteristic movies.
SEE: System replace coverage template obtain (Tech Professional Analysis)
Better of all, Munki solely depends on Apple software program packages, learn and write permissions for shared deployment directories, and an online server to ship the packages to consumer computer systems. And on this article, the steps essential to setup Munki on macOS Server shall be outlined.
Nonetheless, earlier than we soar in, there are just a few necessities mandatory to make sure that Munki can run correctly:
- Apple pc working macOS Server 10.7 (Lion) -10.13 (Excessive Sierra)
- Munki three bundle (newest v3.four.1, as of this writing)
- Google Chrome.dmg installer bundle
- Web Entry
- Switched Community
- Admin credentials
Notice: Munki three helps macOS 10.14 (Mojave), nevertheless, as a result of adjustments made by Apple on this model, the setup course of for Munki working natively on macOS Mojave is totally different from prior variations. A future article will embrace the steps to setup Munki on macOS Mojave with out the macOS Server part.
Creating the Munki repository
Log in to the pc with admin credentials. Launch macOS Server and make sure the Web sites service is initially configured (Determine A).
If not current, launch Terminal and enter the command under to start out the online server (Determine B).
sudo serveradmin begin net
Return to the Server.app, and Web sites ought to now seem underneath Providers and needs to be turned on (Determine C).
Return to Terminal and enter the next instructions to vary the listing to the foundation location that shall be used to create the listing construction for the Munki repository. When naming the repository, the phrase “repo” was used within the instance, however it may be named to something you would like (Determine D).
cd /Library/Server/Internet/Information/Websites/Default mkdir repo mkdir repo/catalogs mkdir repo/pkgs mkdir repo/pkgsinfo mkdir repo/manifests
The ultimate command under, when run, will change the permissions to guarantee that it is accessible.
chmod -R a+rX /Library/Server/Internet/Information/Websites/Default/repo
Configuring the online server settings
- With the repository created, change again to the Web sites part in Server.app. Click on the Server Web site/Port 80 entry to spotlight it, then click on the pencil button to edit the settings.
- Subsequent to Redirects, click on the Edit…button and delete the only entry the redirects port 80 site visitors to port 443, then click on OK. Munki can generally have hassle redirecting site visitors that causes it to fail to course of sure recordsdata, so it is best to take away redirection altogether, for now.
- After saving the settings, you may be introduced again to the earlier part. Click on the Edit Superior Settings… button, and examine the field subsequent to Enable folder itemizing, then click on OK to avoid wasting. It will come in useful later when verifying that Munki was configured correctly.
- To check the online server’s configuration, open an online browser and enter http://localhost/repo because the URL. If you happen to can see the listing index, the repository is setup appropriately (Determine E).
5. Lastly, the next command will create a symbolic hyperlink to the Munki repository within the macOS net server that enables it to serve the repo’s content material (Determine F).
sudo ln -s /Library/Server/Internet/Information/Websites/Default/repo /Library/WebServer/Paperwork
Putting in Munki instruments
Execute the Munki Instruments bundle and comply with the prompts to finish the set up (Determine G).
By clicking on the Customise button, the person instruments that make up the bundle could also be chosen (or deselected) for set up. For the admin workstation setup, putting in all of the instruments has its benefits. Click on the Set up button to finish the set up (Determine H).
A reboot shall be required as soon as Munki Instruments is put in (Determine I).
Configuring the Munki repository
After rebooting, launch Terminal and enter the next command to vary directories and configure the Munki repository’s settings (Determine J).
cd /usr/native/munki munkiimport --configure
The command will ask a sequence of questions in an effort to set the right configuration. First up is to enter the Repo URL. Relying on how the repo shall be hosted, the entry may change from both a regionally hosted (ex. file:///path/to/repo), a shared drive (ex. smb://path/to/repo), or net hosted (ex. http://area.com/path/to/repo). For the aim of this text, we’ll go together with our file-hosted setup and enter the next:
The second query is the ,pkginfo file’s extension. These recordsdata comprise configuration data for every bundle that’s imported. Whereas sometimes not edited, it could possibly be, and you might discover some packages do require some gentle modifying to make them deploy silently. The most typical extension is .plist, so we’ll be coming into that right here.
Third, we’re prompted to decide on a default app to edit the configuration recordsdata. You’ll be able to enter the trail or title of any put in utility you like. To maintain issues easy, I’ve chosen the built-in TextEdit.app native to macOS.
SEE: Comparability chart: Enterprise collaboration instruments (Tech Professional Analysis)
Subsequent, we should create a catalog to retailer the bundle data for Munki. The catalogs shall be learn by Munki and used to offer context as to what functions can be found for deployment. You’ll be able to enter any title you select, and a couple of catalog could exist. Right here I’ve entered Default because the catalog title.
Final, a repo entry plugin should be chosen. Except there’s a desire, FileRepo is the default selection. You might go away the entry clean, and the system will robotically default to that plugin’s configuration. The repository is now configured.
Importing the preliminary bundle
Whereas we’re virtually finished with the setup of Munki, we should have at the very least one bundle within the catalog earlier than finishing the method. So as to add the preliminary bundle, we’ll be utilizing Google Chrome for instance. From Terminal, enter the next command to get the method began (Determine Ok).
Once more, Munki will immediate for a sequence of knowledge relating to the bundle being imported, comparable to Merchandise Identify, Show title, Description, and so forth. A few of this data will auto-populate, some is not going to. That which does not needs to be added manually. By observing Determine Ok above, many of the data is fundamental and doesn’t impression Munki an excessive amount of besides the Catalogs part. Right here it’s essential to enter the title of the catalog created in part IV above or else the bundle is not going to be linked to Munki for distribution.
Moreover, you may be requested whether or not to import the merchandise or not. Choose Y to import it, in addition to creating product icons and rebuilding the catalog. It will replace the catalog with the newly imported bundle. You might, nevertheless, choose N to skip the modifying of the pkginfo file as Google Chrome doesn’t require any extra syntax to deploy it.
Notice: Sometimes, drag-and-drop-style installs don’t require modifying of the .plist configuration file. Installer-based PKG recordsdata could generally require extra syntax or switches to be handed alongside to finish the set up course of. In these instances, you’ll need to edit the pkginfo file to manually add these parameters.
Configuring the repo’s manifest
The manifest file in Munki acts as a type of map that tells the repo the place catalogs are situated and therefor what’s in these catalogs, permitting Munki to handle software program deployments with ease. By default, no manifest exists so one should be created. In Terminal, enter the next command to start (Determine L).
Start by creating the brand new manifest and giving it a reputation with this command:
Subsequent, we’ll hyperlink the catalog we created to the newly created manifest:
add-catalog Default --manifest site_default
Final step is so as to add the bundle created to the manifest:
add-pkg Chrome --manifest site_default
Munki has formally been put in, setup, and prepared to be used. To check net connectivity, launch a browser and enter http://localhost/repo/manifests/site_default. It’s best to obtain a affirmation of the entries add to the manifest above (Determine M).
Alternatively, by coming into the next command in Terminal to confirm the software program repo URL is configured appropriately (Determine N).
defaults learn /Library/Preferences/ManagedInstalls
Lastly, to check how Munki works at retrieving the packages and putting in them, name the command from Terminal (Determine O).
The above command will learn the knowledge saved within the catalogs and determine what functions can be found and able to be put in in comparison towards the stock on the native machine. To put in these apps, rerun the identical command, however add the “—installonly” suffix to truly carry out the set up (Determine P)