Eve: Building RESTful APIs with MongoDB and Flask Transcripts
Chapter: Appendix: Installing MongoDB
Lecture: Setting up MongoDB on macOS
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Here we are on a relatively new Mac, you can see that this is MacOS seirra,
0:06
so relatively new, and if I come over here and I type Mongo,
0:10
no there is no MongoDB installed here.
0:13
So what are we going to do— we're going to install and set up MongoDB,
0:17
so those of you who use MacOS, like I do, you'll see that this is actually
0:21
the easiest of all the various operating systems to set up. Let's do it.
0:25
So we're actually going to start out at Homebrew,
0:30
now you may have Homebrew installed which is awesome,
0:32
and you can just run brew update, but if you don't
0:34
then you're going to need to run this command;
0:37
so we're going to run a script pass it off the ruby,
0:40
this is going to install Homebrew and if I hit enter,
0:43
it's going to go do this, this one time it needs my password
0:46
to make changes to the system, but in general,
0:51
you should not sudo run Homebrew, it even warns you if you do that I believe.
1:00
Okay, I get the little ding, it looks like everything is all set up.
1:04
So now if I type brew, yeey, stuff happens.
1:07
So the next thing that I want to do is actually install MongoDB,
1:10
so brew install mongodb,
1:21
and just like that, after 15 seconds, 20 seconds something to this effect,
1:25
it says MongoDB is all set up.
1:28
Now before I clear this and just run it, notice there's a couple of things,
1:31
it tells us right away, right here how we get started,
1:34
we can either run MongoDB as a service,
1:36
and if I do this without sudo, it's going to run this as a service any time I log in,
1:42
if I do it with sudo, it's going to basically do this
1:44
as part of the machine startup, shut down,
1:47
or I can just run MongoDB like so.
1:49
So let's go ahead and set this as a service,
1:52
it takes a moment and now it's up and running.
1:58
So how do we know whether it's running?
2:01
Well first of all, if I type mongo, it has something there, it has an app there right
2:04
you can see 3.4.4 is the one at the time of this recording,
2:08
and now it's connected and there's a few warnings here about access control,
2:11
this is worth considering, if this was a production machine
2:16
I would be quite concerned about this, it's my developer machine, so I'm not.
2:22
Let me show you why I'm not.
2:24
Okay, so if we exit out of here, the other way that we could run MongoDB
2:28
it's already running, so this isn't going to work again,
2:31
but we could run it passing this config file,
2:33
but what's interesting is, check out this config file
2:36
so if we go look at that, it has just a few things for us,
2:39
it tells us where the log file is going, good for system services,
2:43
where the data is going, and most importantly,
2:48
it's listening only one local host, 127.0.0.1.
2:53
I don't know what my public ip address is or I have both the ipv6 and ipv4,
2:57
MongoDB is not listening to either of them,
3:00
moreover, I also have my firewall turned on as much as possible,
3:04
believe it or not, it is not turned on on MacOS by default
3:08
that is super, super suspicious to me.
3:10
But anyway, firewall's on, and we're not even listening on the public network interface.
3:15
So do not change that, make sure that you are listening on only local host
3:20
or that authentication warning, that's going to have a whole different meaning.
3:23
When we get to the actual deployment section, where we deploy to production
3:27
we're going to set up users, we're going to set up ssl,
3:29
we're going to set up authentication, all of those kinds of things, among others,
3:32
but for now, for the devmachine, I think listening on local host
3:36
is probably sufficient for what we're doing.
3:39
So this MacOS is ready to take the class.
3:43
The other things we would need to do, is install PyCharm, install RoboMongo,
3:47
and do we have Python 3— we do, we have Python 3 installed,
3:53
I believe I actually already installed that earlier on this virtual machine.
3:58
So you're going to want to make sure you have Python 3 installed,
4:00
RoboMongo, and PyCharm, they all have super simple installers
4:03
that's basically either drag and drop or double click
4:06
and follow the next button and you'll be all done.
4:08
Then the machine will be completely ready to take this class.