Howtos:Enterprise Install on Mac OS X
This pertains to installing Ocsinventory_Agent_MacOSX_2.0beta4.pkg.zip from http://www.ocsinventory-ng.org/en/download/download-agent.html in an Enterprise fashion -- ie, when you have many macs to install onto, you don't/can't do it by hand! Things may have changed in later versions of either the Mac agent or the Unified Unix Agent
We use a combination of ARD and Munki to deploy software on the Macintosh. We use OCS on the PCs. We have them all inventoried together in OCS (Munki does not have built-in reporting as of yet). So this is not tested for software deployment FROM OCS on a Mac -- we just use the inventorying portion. This does not mean that these instructions won't work, just that they're not tested.
Also a mac OCS inventory team member mentioned that they were working on a GUI version of a configuration installer package builder, so this information may become unnecessary in the near future.
The basic overview is to use the original installer supplied by the OCS crew to install and configure OCS inventory on one machine, and then build a secondary installer comprised of the configuration files created when the OCSinstaller was run by hand. Even though when run by hand it prompts for information, the OCSinventory installer direct from the Mac Dev crew will do a basic silent/deployed install just fine via Apple Remote Desktop or Munki, and the second installer overwrites the default files with the files customized for your site (I use The Luggage -- http://luggage.apesseekingknowledge.net/ to build installers - a little complex but straightforward once you wrap your head around it -- good tutorial here: http://glarizza.posterous.com/an-intro-to-using-the-luggage-for-packaging).
The two installer method serves two purposes: first, when working with betas it allows you to take the installer straight from the source (the OCS crew) and not need to alter/hack it for deployment -- when there is rapid development on an open source project (and you get a lot of installers often) having to repackage stuff with your custom settings in order to test/deploy it is a pain. The second reason is that it *should* register your customized OCS settings files to your installer application, so it won't be overwritten by the main OCS installers.
The first step is to go through and do a basic install of OCSInventory, setting your site-specific information using the GUI-based installer.
This installs OCSinventory.app into
and creates configuration files in here (there may be more, these did the trick for me):
We didn't need to make any changes to the files created in /etc/ocsinventory-agent, so I just had The Luggage makefile copy it right in. The files in the directory are:
# this list of module will be load by the at run time # to check its syntax do: # #perl modules.conf # You must have NO error. Else the content will be ignored # This mechanism goal it to keep compatibility with 'plugin' # created for the previous linux_agent. # The new unified_agent have its own extension system that allow # user to add new information easily. # #use Ocsinventory::Agent::Modules::Example; use Ocsinventory::Agent::Modules::Download; # # DO NOT REMOVE THE 1; 1;
server=https://your.ocs.server.here/ocsinventory logfile=/var/log/ocsng.log debug=1
In var/lib/ocsinventory-agent are the following files:
cacert.pem -- your webserver's public SSL key last_state -- ? next_timefile -- ? ocsinv.adm -- This contains the information for the Administrative Data entry on the server (TAG, UNIT, BUILDING, ROOM, etc) -- the TAG value is only set on the very first login to the OCS server ocsinv.conf -- contains DEVICEID and PROLOG_FREQ
The one I was interested in was the TAG value in ocsinv.adm as we use it to separate out our machines in different units.
Then, in order to run OCSinventory from the command line (sudo /Applications/OCSNG.app/Contents/Resources/ocsinventory-agent ) without throwing errors, you will want to execute this command:
sudo touch /Applications/OCSNG.app/Contents/Resources/lib/XML/SAX/ParserDetails.ini
This eliminates the error:
could not find ParserDetails.ini in /Applications/OCSNG.app/Contents/Resources//lib//XML/SAX
When you execute OCSInventory Agent via: