はじめに
初投稿です.
最近,システムやサーバーについて勉強をし始めたので,そのアウトプットも兼ねて自分が取り組んだことを書き出そうと思います.
前提条件
- VirtualBox7にAlmaLinux9をインストールしている
- ネットワーク,ユーザー設定等は完了している
- Base, Development Toolsのインストールを行っている
MongoDBのインストール
1. repoファイルの作成
まず,必要なファイルをどこからダウンロードすればいいかを記載したrepoファイルを作成します.
vim /etc/yum.repos.d/mongodb-org-6.0.repo
[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
現時点(2022/10/18)では,MongoDBがAlmaLinux9に対応していないため,CentOS8用のURLをbaseurlに指定しています.
対応後や,CentOS9未満の場合は,
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
となるかと思います.
2. MongoDBのインストール
作成したrepoファイルをもとにダウンロード,インストールしてみます.
sudo dnf install mongodb-org
---
MongoDB Repository 603 B/s | 1.7 kB 00:02
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]:
バージョンを確認します.
mongod -version
db version v6.0.2
Build Info: {
"version": "6.0.2",
"gitVersion": "94fb7dfc8b974f1f5343e7ea394d0d9deedba50e",
"openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel80",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
たしかに,6.0.2がインストールできているようです.
3. MongoDBの起動と設定
インストールできたので,MongoDBの起動と,自動起動の設定をします.
sudo systemctl start mongod
sudo systemctl enable mongod
設定ファイルを編集して,authorization=enabledに設定します.
sudo vim /etc/mongod.conf
#security 内に,下2行を加筆してください.
#security
security:
authorization: enabled
再起動して設定を反映させます.
systemctl restart mongod
4. MongoDBへのユーザー登録
MongoDBにroot権限を持つユーザーを追加します.
mongosh
test> use admin
switched to db admin
admin> db.createUser({user: "ユーザー名",pwd: "パスワード",roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]})
{ ok: 1 }
admin> exit
一度,mongoshを終了して,作成したユーザーでアクセスできることを確認する.
mongosh -u ユーザー名
Enter password: ******
確認できれば,あとはbashなり,PHPやC#のDriverなりでアクセスしていけばいいかなと思います.