if __name__ is None
if __name__ is None

Reputation: 11533

MongoDB server won't start

I just installed Arch Linux today. I'm setting up my development stack, and I'm stuck with mongodb.

I have followed this wiki when installing: https://wiki.archlinux.org/index.php/MongoDB#Installing_MongoDB

When I try to get into mongo console, I get this:

jan@arch:~$ mongo
MongoDB shell version: 2.4.5
connecting to: test
Tue Jul  9 19:38:13.365 JavaScript execution failed: Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112
exception: connect failed
jan@arch:~$ 

What am I missing here?

EDIT: I figured out when I run mongod directly from terminal, it starts server fine. However the systemctl start mongodb doesn't start it.

Upvotes: 3

Views: 8286

Answers (1)

if __name__ is None
if __name__ is None

Reputation: 11533

Okay, I've figured it out by scanning journalctl output:

ul 09 19:49:33 arch mongod[1122]: all output going to: /var/log/mongodb/mongod.log Jul 09 19:49:33 arch mongod[1122]: can't open [/var/log/mongodb/mongod.log] for log file: errno:13 Permission denied Jul 09 19:49:33 arch mongod[1122]: Bad logpath value: "/var/log/mongodb/mongod.log"; terminating.

So I searched for user that might be utilized by mongodb:

jan@arch:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
mongodb:x:998:2::/var/lib/mongodb:/bin/bash

And chowned required folders:

jan@arch:~$ sudo chown -R mongodb:x /var/log/mongodb/
jan@arch:~$ sudo chown -R mongodb:x /var/lib/mongodb/

Started it again:

jan@arch:~$ sudo systemctl start mongodb

It works now.

 jan@arch:~$ mongo
    MongoDB shell version: 2.4.5
    connecting to: test
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
        http://docs.mongodb.org/
    Questions? Try the support group
        http://groups.google.com/group/mongodb-user
    > 

Upvotes: 2

Related Questions