MongoDB for Developers with Python Transcripts
Chapter: Setting up your computer to follow along
Lecture: Setting up MongoDB on Linux
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Are you taking this class using your Linux desktop?
0:03
Well, let's get your machine all set up and configured with MongoDb.
0:07
So here we are just on the homepage mongodb.com,
0:10
I am going to go click download, and it's totally possible to click and say
0:16
download the tarball, but we could also say I would like to see
0:19
how to set this up on let's say Ubuntu, as you change this,
0:23
notice different things happen, so if we go to Amazon
0:27
it says here are instructions for installing with yum, that's the package manager there,
0:31
if I go to Ubuntu, so here's the instructions for installing with aptitude,
0:34
so we're going to go over here to that one,
0:36
make sure you pick the right distribution, do we want to read this— no.
0:40
So there's a couple of steps that we need to go through
0:43
and they're pretty simple, most importantly they just like walk us through it
0:47
so notice here that there is a package named mongodb.org
0:52
let's try to just install that, sudo apt install that,
1:00
oh it needs my password, okay, and nope, there's no mongodb,
1:05
darn, doesn't it say right here, here's how you install all the pieces?
1:08
It is true, but we got to go through a few steps to get there.
1:11
So first thing that we got to do is basically add a source to aptitude,
1:16
so we're going to go over here, and we're going to set a key,
1:19
so you're just going to go through a few copy paste steps,
1:21
so we're going to do our apt key here, it takes a moment,
1:26
and all right, that's all good, next thing to do
1:28
is we're going to create a list file, all right, great.
1:34
Be really careful about the version numbers here,
1:38
later is probably better, pick the one that matches yours.
1:40
So the next thing we need to do, is run a sudo apt update
1:44
and you can do apt.get or just apt, whatever
1:47
but you need to tell it hey, go pull all the sources
1:50
now the new one included and just have that list there.
1:53
We don't need to back up anything, so go away.
1:58
Alright, now everything is registered, we're pointing at the right package source,
2:02
we've updated it, now we can go over here and do
2:05
our thing that we tried to do originally.
2:08
So we wanted a sudo apt installed mongodb.org,
2:14
this time it knows what that means, hey look that's mongodb,
2:18
mongos which is a sharding server, mongo server, mongo shell, mongo tools,
2:22
I am just going to install them all.
2:29
Perfect, okay, so we have MongoDB all set up and ready to go,
2:35
and now we can just type mongo, and it tries to connect,
2:40
we have mongo now but we really need to start it.
2:51
So we started up mongod, great, now we can connect to it.
2:56
Awesome so it has some warnings again about access control
2:59
when we get to the deployment chapter,
3:02
we're actually going to set up Ubuntu as a cloud server
3:05
with some of these errors removed,
3:07
we're going to set it up with access control, with authentication,
3:10
with firewalls, all sorts of things, but for now, for the dev version,
3:13
we're going to just use this, okay.
3:16
So it looks like it's up and running, that's cool,
3:19
now the last thing is maybe we want to configure our server;
3:22
so, we can come over here to /etc/mongod/conf
3:30
and you can see we've got our storage path,
3:33
like here's where our data files are going to go, change that if you like,
3:36
journaling, you generally want that on,
3:38
it's going to be running with wired tiger,
3:41
it is an older style of database storage engine called this mmapv1,
3:45
that's how things used to work, they've switched the default to wired tiger
3:49
because it's faster, I believe it's much faster for inserts a little faster for reads,
3:53
here's where the log file goes, if it's not working and you want to see what's going on.
3:58
So most importantly though is this bit right there, this bindIp.
4:02
So the bindIp is set to 127.0.0.1, we should have our firewall turned on anyway,
4:08
we shouldn't be exposing this port, but we're only listening on the local host,
4:13
I think this machine actually right now has two ip adresses,
4:16
one public ipv6 and one net ipv4 ip address,
4:21
but it's not listening on either of them because of this, right.
4:24
So it's super important that this is here,
4:27
otherwise if someone can get to this port on your machine
4:30
and you don't set up authentication, bad things happen.
4:33
All right, so make sure this is here,
4:36
and only change that on your staging servers
4:38
and other things where you control the network, much more carefully.
4:41
Again, we'll talk way more about this in the deployment section
4:44
but for now, this should do for our development environment.
4:47
The other things we'll have to do is we want to set up a RoboMongo,
4:50
we want to set up PyCharm, and we want to make sure
4:54
that we have Python 3 on here, I believe we do, 3.5.3 is more than late enough,
5:00
so we don't need to install any Python,
5:02
but be sure to get RoboMongo and PyCharm,
5:05
whichever version you want set up so that you can follow along.