Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting MongoDB on Linux to listen to remote connections

I've successfully installed MongoDB on Windows (on a local machine) as a service, but now I want to move MongoDb to a separate server. So I extracted the tarball to a virtual server on network (running linux).

When I connected to the server ("testmongoserver") using PuTTY from my local machine, I started the mongod server and it told me that it was listening to the default 28017 port. The mongo console is also working and allowed me to create a new database (testdb) and add users to it.

However, I could not access the server from remote. When I type testmongoserver:28017 it doesn't open the HTTP console as localhost:28017 on my local machine does. I also can't connect using official drivers and providing a connectionstring.

What are the neccesarry steps to install MongoDB on Linux, so that I could access it from a remote machine with a connectionstring and use its HTTP console via testmongoserver:28017

Thanks!

like image 951
user315648 Avatar asked Aug 23 '11 10:08

user315648


People also ask

How does MongoDB connect to IP address?

Enable MongoDB Auth In the same config file, go to the network interfaces section and change the bindIp from 127.0. 0.1 to 0.0. 0.0 which means allow connections from all ip addresses. Now save and exit the config file and restart mongodb server.


2 Answers

1. Bind IP option

Bind IP is a MongoDB option that restricts connections to specifics IPs.

Have a look at your mongod configuration file, most of the time bind_ip is set to 127.0.0.1 for obvious security reasons. You can:

  1. Add your desired IP by concatenating a list of comma separated values to bind MongoDB to multiple IP addresses.
  2. Remove or comment (with # character) the bind_ip line. But be aware that all remote connection will be able to connect your MongoDB server!

More about bind_ip configuration option: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp

Bind IP can also be set as a command argument: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption--bind_ip

2. Firewall

Check that you are not running behind a firewall

like image 109
Yves M. Avatar answered Oct 12 '22 00:10

Yves M.


Make sure in your /etc/mongodb.conf file you have the following line,

bind_ip = 0.0.0.0 

http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html

like image 34
victorkurauchi Avatar answered Oct 12 '22 01:10

victorkurauchi