Ubuntu16.04にMongoDBをインストールした件

CONOHAに借りているUbuntuサーバにMongoDBをインストールしようとしたら結構はまったので、手順を書き残しておこうと思う。

1)パッケージ管理システムで使うパブリックキーを登録する
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

2)利用可能なパッケージ一覧にMongoDBを登録する
$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

上記のパッケージ一覧の登録はUbuntuのバージョンによって異なるので注意。
これはUbuntu16.04向けのもの。

3)パッケージデータベースを更新する
$ sudo apt-get update

4)MongoDBパッケージをインストールする
$ sudo apt-get install mongodb-org

5)MongoDBを起動する
$ sudo service mongod start

6)MongoDBを停止する
$ sudo service mongod stop

7)MongoDBを再起動する
$ sudo service mongod restart

8)MongoDBに接続する
$ mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
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
Server has startup warnings:
2017-10-19T23:40:31.232+0900 I STORAGE  [initandlisten]
2017-10-19T23:40:31.232+0900 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-10-19T23:40:31.232+0900 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten]
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten]
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten]
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-10-19T23:40:31.349+0900 I CONTROL  [initandlisten]

9)WARNINGの消し方
WARNING: Access control is not enabled for the databaseを消す。

$ sudo mkdir /etc/ssl/mongodb
$ sudo openssl rand -base64 756 > security.key
$ sudo mv security.key /etc/ssl/mongodb/
$ sudo chmod 400 /etc/ssl/mongodb/security.key
$ sudo chown mongodb:mongodb /etc/ssl/mongodb/security.key

MongoDBの設定を変更するために、設定ファイルをエディタ編集する。
$ sudo vim /etc/mongod.conf

次の一文を追記する。
security:
  keyFile: /etc/ssl/mongodb/security.key

設定を反映させるためにmongodを再起動する。
$ sudo service mongod restart


WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always’.を消す。

$ sudo apt-get install sysfsutils

インストールが完了したら、/etc/sysfs.confファイルを編集する。
$ sudo vim /etc/sysfs.conf

次の一文を追記する。
kernel/mm/transparent_hugepage/enabled = never

sysfs.confを保存したら、Ubuntuを再起動する。

再起動した後、MongoDBに接続するとWARNINGが表示されなくなっているはず。
こんな風に。

$ mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
>

とりあえずMongoDBのインストールはこれでOKのようだ。

0 件のコメント:

コメントを投稿