CentOS9 MongoDB6をインストールする

CentOS9 MongoDB6をインストールする

CentOS9に、MongoDB6をインストールするまでの手順を記述してます。repoファイルを作成してインストールを実行します。ここではインストール後にユーザーの作成など簡単なコマンドの実行方法も記載してます。

環境

  • OS CentOS Stream release 9

事前準備

repoファイルを、以下の内容で作成しておきます。

$ sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo<<EOF
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF

MongoDBインストール

MongoDBのインストールを行います。GPGキーのインポートは「y」を選択します。

$ sudo dnf install mongodb-org

GPG 鍵 0x64C3C388 をインポート中:
 Userid     : "MongoDB 6.0 Release Signing Key <packaging@mongodb.com>"
 Fingerprint: 39BD 841E 4BE5 FB19 5A65 400E 6A26 B1AE 64C3 C388
 From       : https://www.mongodb.org/static/pgp/server-6.0.asc
これでよろしいですか? [y/N]: y

バージョンを確認します。

$ mongod --version

db version v6.0.0
Build Info: {
    "version": "6.0.0",
    "gitVersion": "e61bf27c2f6a83fed36e5a13c008a32d563babe2",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "rhel80",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

MongoDB起動

起動します。

$ sudo systemctl start mongod

自動起動も設定する場合は「enable」を指定します。

$ sudo systemctl enable mongod

ステータスは以下で確認できます。

$ sudo systemctl status mongod

● mongod.service - MongoDB Database Server
     Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2022-08-23 17:20:28 JST; 3min 39s ago
       Docs: https://docs.mongodb.org/manual
    Process: 93101 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
    Process: 93102 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
    Process: 93103 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
    Process: 93104 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 93106 (mongod)
     Memory: 72.5M
        CPU: 1.774s
     CGroup: /system.slice/mongod.service
             └─93106 /usr/bin/mongod -f /etc/mongod.conf

再起動は「restart」を使用します。

$ sudo systemctl restart mongod

ログは、以下の場所にあり、「tail」コマンドなどで確認できます。

$ sudo tail /var/log/mongodb/mongod.log

ユーザー認証設定

「/etc/mongod.conf」で「authorization」を「enabled」に設定します。

$ sudo nano /etc/mongod.conf

<編集>
security:
 authorization: enabled

再起動して設定を反映させます。

$ sudo systemctl restart mongod

ユーザー作成

ユーザーを作成します。

$ mongosh

test> use admin
switched to db admin
> db.createUser(
{
user: "testuser",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)

Enter password: (パスワードを設定)

画像

一度抜けます。

> exit
bye

作成したユーザーでログインします。

$ mongosh -u testuser -p --authenticationDatabase admin

Enter password: ***
Current Mongosh Log ID: 62ff2a2046a31f802505e79c
Connecting to:          mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&authSource=admin&appName=mongosh+1.5.4
Using MongoDB:          6.0.0
Using Mongosh:          1.5.4

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

これで、ユーザーが作成されたことが確認できます。

外部接続

外部からの接続を可能にするには「mongod.conf」に外部から参照できる自身のIPアドレスなどを追加します。

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,192.168.100.100

firewallの設定も忘れないようにしておきます。

$ sudo firewall-cmd --add-port=27017/tcp --permanent

$ sudo firewall-cmd --reload