ちょっとしたことでMongoDBを使ってみたいと思ったので、
Ubuntu 14.04にMongoDB 3.0.6を入れてみます。
環境
- Host: Ubutu 14.04
前提条件とか
この記事を書いているタイミングで、MongoDB 3.0.6が最新でした。
そのためMongoDB公式のインストール手順にそってインストールしてみます。
{USERNAME}とか{PASSWORD}、{YOUSR_IP_ADDRESS} は、皆さんの環境に合わせてください。
インストール
公開鍵の設定 / setting for public key
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
MongoDB用のリストファイルを作成 / create list file for mongodb
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
更新 / apt-get update
$ sudo apt-get update
MongoDB (Stable) インストール / Installing stable mongodb
$ sudo apt-get install -y mongodb-org
MongoDB サービスの操作 / Manage for mongodb service.
# Start service
$ sudo service mongod start
# Stop service
$ sudo service mongod stop
# Restart service
$ sudo service mongod restart
ユーザ・パスワードでの認証を行う / Setting for authentication.
管理者ユーザ認証を追加 / add administrator user.
$ mongo
> use admin
> db.createUser( {user: "{USERNAME}", pwd: "{PASSWORD}", roles: [ "readWrite", "dbAdmin" ]});
$ sudo vi /etc/mongod.conf
# authのコメントを外す
- #auth = true
+ auth = true
# MongoDB 再起動
$ sudo service mongod restart
ログインしないと怒られるのを確認 / response is error when you not authenticating
$ mongo
> use admin
> show collections
2015-10-07T01:49:43.481+0900 E QUERY Error: listCollections failed: {
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listCollections: 1.0 }",
"code" : 13
}
at Error (<anonymous>)
at DB._getCollectionInfosCommand (src/mongo/shell/db.js:646:15)
at DB.getCollectionInfos (src/mongo/shell/db.js:658:20)
at DB.getCollectionNames (src/mongo/shell/db.js:669:17)
at shellHelper.show (src/mongo/shell/utils.js:625:12)
at shellHelper (src/mongo/shell/utils.js:524:36)
at (shellhelp2):1:1 at src/mongo/shell/db.js:646
認証してアクセス / access after authenticating.
$ mongo
> db.auth("{USERNAME}", "{PASSWORD}");
1 #これが認証成功らしい / 1 is authticated.
> show collections
system.indexes
system.users
system.version
MongoDB 外部接続許可 (必要がある場合のみ) / ufw and config settings, if you use extarnal servers.
$ sudo vi /etc/mongod.conf
---
- bind_ip = 127.0.0.1
+ bind_ip = 127.0.0.1,{YOUSR_IP_ADDRESS} #your server IPAddresses
---
$ sudo service mongod restart
$ sudo ufw allow 27017/tcp
$ sudo ufw reload
client $ mongo {YOUSR_IP_ADDRESS[:PORT]}
db.auth("{USERNAME}", "{PASSWORD}");
さいごに
ファイル監視ログように使おうと思ってただけだけど、
これはこれで便利そうなのでいじってみよう。
最近Golangばかりさわってるのでそこからかな…