MongoDB Installation on OS X

The instructions were modified from http://hunterford.me/mongodb-startup-item/. This procedure should work fine on OS X 10.13 Sierra, but also older versions.

Install the binary

The direct download through curl etc. doesn't seem to work anymore for mongodb > 3.5.5. We store now a recent version on the iCloud drive.
cd ~/Library/Mobile\ Documents/com\~apple\~CloudDocs/Software
mkdir mongodb
tar -xvf mongodb-osx-ssl-x86_64-3.6.2.tar -C ./mongodb --strip-components 1
sudo mkdir -p /usr/local/bin
sudo cp mongodb/bin/* /usr/local/bin/
sudo touch /var/log/mongodb.log

The databases have to go somewhere; one example with system-wide availability would be /data/db/mongodb/. The same path has to be used in the configuration below (--dbpath).

sudo mkdir -p /data/db/mongodb/
sudo chmod g+w /data/db/mongodb
sudo chmod o+w /data/db/mongodb

Create a launch item

The last point is just to use a standard place for the DB files. This has to be reflected in the launch file, which in this case is saved as /Library/LaunchDaemons/org.mongo.mongod.plist. One has to write this as root, e.g. using
sudo nano /Library/LaunchDaemons/org.mongo.mongod.plist

... and paste the following content; then CTRL-O

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
   <dict>
      <key>Label</key>
         <string>org.mongo.mongod</string>
      <key>RunAtLoad</key>
         <true/>
      <key>ProgramArguments</key>
         <array>
            <string>/usr/local/bin/mongod</string>
            <string>--dbpath</string>
            <string>/data/db/mongodb/</string>
            <string>--logpath</string>
            <string>/var/log/mongodb.log</string>
            <string>--bind_ip</string>
            <string>127.0.0.1</string>
         </array>
   </dict>
</plist>

Now the launch file has to be activated; it will start mongos and keep it alive.
sudo chown root:wheel /Library/LaunchDaemons/org.mongo.mongod.plist
sudo launchctl load /Library/LaunchDaemons/org.mongo.mongod.plist
sudo launchctl start org.mongo.mongo

And you should be all set. Obviously, now you have to create the databases & collections ...
Topic revision: r10 - 12 Jan 2018, MichaelBaudis
Michael Baudis