I started playing with MongoDB this weekend. It’s a cool little database, and John Nunemaker’s MongoMapper gem is a treat. Mongo’s maintainers are nice enough to provide pre-compiled binaries for OS X, but you still have to do a little setup and configuration. (There’s actually a portfile on MacPorts, but it wasn’t up-to-date with the latest version when I found it.)
Here’s how I got the server installed and running as a daemon in OS X, for local development.
Download, unpack, and install the pre-compiled 64-bit binaries:
1 | curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-1.4.0.tgz |
(If you’re on a 32-bit machine, substitute in
i386
for each x86_64
above.)Next, you’ll want to make a config file so you can change the server’s options without fiddling with command-line arguments.
Save as:
/usr/local/mongodb/mongod.conf
1 | # Store data alongside MongoDB instead of the default, /data/db/ |
Now, we’ll make a
launchd
job to register the server as an OS X daemon. launchd
will start the server at startup, stop it before shutdown, make sure it stays up, and redirect its output to a nice log file.Save as:
/Library/LaunchDaemons/org.mongodb.mongod.plist
1 | <?xml version="1.0" encoding="UTF-8"?> |
Now we just need to load the
launchd
job:sudo launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist |
And that should do it! Try visiting http://localhost:28017 to see the status console for your database.
One last thing: you should probably add
/usr/local/mongodb/bin
to your $PATH
. That way you can use the other binaries that ship with MongoDB, like the mongo
console, mongoexport
, and so on.You can adjust your path the regular way by editing your shell’s profile, or you can use this nice
paths.d
mechanism that OS X provides:sudo sh -c 'echo "/usr/local/mongodb/bin" > /etc/paths.d/mongodb' |