What I learned upgrading from MunkiReport 2 to MunkiReport 3

The setup for the old (version 2) MunkiReport was fairly simple. You essentially just downloaded the folder to your web server.

The setup for the new (version 3) MunkiReport has a bit more nuance to it. I had a lot of trouble setting it up, but thanks to some help from other Mac admins (special thanks to Rick Heil for getting me over the finish line), I was able to finally get it up and running.

Here are a few issues I ran into. Maybe if you're running into the same or similar issues, this list may help:

  • Ubuntu 16.04 doesn't have PHP 7.0.27 or higher, which the new version of MunkiReport requires, so I had to add it in with the appropriate PPA.
  • On a related note, once you add that PPA to your sources.list in Ubuntu, you get a whole ton of PHP versions available via apt: 7.0, 7.1, 7.2. It's best to make sure you have only version of PHP installed and remove all the rest. I'd recommend 7.2 at this point.
  • It's a good idea to start with the sqlite database just to eliminate MySQL connection issues as a possibility. That said, since the main MunkiReport 3 files don't live in the public-facing part of the web server, be especially mindful of this part of the wiki instructions: when using SQLite as backend (which is the default), check if the directory /app/db/ is writeable by the webserver.
  • If you're using AD or SAML authentication, move it up in the composer.json file from suggest to require and get rid of the description after the version number. For example, "adldap2/adldap2": "^8.0 Required for AD authentication" should change to "adldap2/adldap2": "^8.0" after being moved.
  • If you're running the composer command and get a [RuntimeException] The "--no-suggest" option does not exist. message, just ditch the --no-suggest part of the command.

Making a fake upgrade installer for Mac OS X

Recently, Apple switched to making the Sierra upgrade installer autodownload for users who have general autodownloads enabled.

If you want to discourage (but not prevent, especially if the users have admin privileges on their own machines) people from accidentally upgrading before you've had a chance to fully test Sierra (or any subsequent macOS releases), you can push (via Munki, for example) a fake installer.

For this, I just use Automator.

fakeupgrade01 When you launch up Automator, it will ask what you want to create. Instead of a Workflow, create an Application.

fakeupgrade02 Then find Display Notification and drag it over to the right side of the window and put in your notification message.

Save your "application" as Install macOS Sierra.app (or in subsequent years, whatever the new name of the macOS installer is).

fakeupgrade03 Cmd-I (Get Info) on the real installer and then copy the installer's icon to the Cmd-I (Get Info) on your fake installer.

Go ahead and deploy your fake installer by your usual means for managing your Mac fleet.

fakeupgrade04 Then when users double-click the "installer," it will launch up your warning message instead.