MongoDBインストール · 2 min read · Sep 18, 2025

AlmaLinux 9にMongoDBをインストールする方法

MongoDBはオープンソースのクロスプラットフォームで分散型のNoSQL(非SQLまたは非リレーショナル)データベースシステムです。従来のSQLデータベースのようにデータをテーブルに格納するのではなく、MongoDBは柔軟なドキュメントを使用してさまざまなデータ形式を格納します。MongoDBはデータを格納するためにバイナリJSON形式であるBSONを使用します。

MongoDBは、高可用性、自動フェイルオーバー、データ冗長性を備えた分散型NoSQLデータベースであり、分散クラスター全体でシャーディングによる水平スケーリングを提供します。マルチリージョンの地理的展開をサポートし、CRUD操作(読み取りおよび書き込み)、データ集約パイプライン、テキスト検索、地理空間クエリをサポートするクエリAPIを提供します。

このガイドでは、Alma Linux 9サーバーにMongoDBをインストールする方法を示します。また、MongoDBの認証を有効にし、MongoDBの管理者ユーザーを設定し、アプリケーション用の新しいデータベースとユーザーを作成します。

前提条件

このガイドを始める前に、以下のものを用意してください:

  • Alma Linux 9サーバー
  • 管理者権限を持つ非ルートユーザー

システムの準備(thpの無効化、ulimitの設定、sysctl.confの設定)

このセクションでは、MongoDBのインストールのためにALma Linuxサーバーを準備し、設定します。以下は、実行する必要がある3つの主要なステップです:

  • systemdサービスを介して透明な巨大ページ(THP)を無効にする
  • ‘mongod’ユーザーの最大プロセス数とオープンファイル数を増やす
  • ‘/etc/sysctl.conf’ファイルを介してvm-max fsを設定する

まず、以下の’dnf’コマンドを実行して、Alma Linuxシステムに’nano’テキストエディタをインストールします。

sudo dnf install nano -y

透明な巨大ページ(THP)の無効化

新しいサービスファイル’ /etc/systemd/system/disable-thp.service ‘を作成して、透明な巨大ページ(THP)を無効にします。このサービスは、システムの起動時に毎回実行されます。

sudo nano /etc/systemd/system/disable-thp.service

ファイルに以下の設定を挿入します。

[Unit]  
Description=透明な巨大ページ(THP)を無効にする  
  
[Service]  
Type=simple  
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"  
  
[Install]  
WantedBy=multi-user.target

完了したら、ファイルを保存して終了します。

次に、以下の’systemctl‘コマンドを実行して、systemdマネージャーをリロードし、変更を適用します。

sudo systemctl daemon-reload

最後に、以下のコマンドを使用して’disable-thp.service‘を開始および有効にします。これにより、THPは起動時に自動的に無効になります。

sudo systemctl enable --now disable-thp.service

disable thp

ulimitsの設定

新しい設定’ /etc/security/limits.d/mongodb.conf ‘を作成します。

sudo nano /etc/security/limits.d/mongodb.conf

ファイルに以下の設定を挿入します。これにより、’ mongod ‘ユーザーが最大プロセス数とオープンファイル記述子を’ 64000 ‘に設定できます。

mongod soft nproc 64000  
mongod hard nproc 64000  
mongod soft nofile 64000  
mongod hard nofile 64000

ファイルを保存してエディタを終了します。

sysctl.confの設定

/etc/sysctl.conf ‘ファイルを’nano’エディタで開きます。

sudo nano /etc/sysctl.conf

以下の行を追加して、fs.file-max、max map countを設定し、swappinessを有効にします。

fs.file-max = 2097152  
vm.max_map_count = 262144  
vm.swappiness = 1

ファイルを保存してエディタを終了します。

次に、以下の’sysctl‘コマンドを実行して変更を適用します。

sudo sysctl -p

setup ulimit and sysctl

オプションで、サーバーを再起動して変更を適用することもできます。

sudo reboot

MongoDBのインストール

Alma Linuxサーバーの設定が完了したら、以下のコマンドでMongoDBサーバーのインストールを開始します。この場合、Alma Linux 9サーバーにMongoDB 7.0をインストールします。

まず、新しいMongoDBリポジトリファイル’ /etc/yum.repos.d/mongodb-org-7.0.repo ‘を作成します。

sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo

ファイルに以下の設定を挿入します。

[mongodb-org-7.0]  
name=MongoDBリポジトリ  
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://pgp.mongodb.com/server-7.0.asc

ファイルを保存してエディタを終了します。

次に、以下の’dnf‘コマンドを実行して、Alma Linuxサーバーで利用可能なリポジトリをリストします。MongoDBリポジトリが追加されたことが確認できます。

sudo dnf repolist

setup repo

次に、以下の’dnf install‘コマンドを実行して、MongoDBとMongoDBシェルをシステムにインストールします。インストールを確認するために’ Y ‘を入力します。

sudo dnf install mongodb-org mongodb-mongosh

install mongodb

インストールが完了したら、MongoDBの’mongod‘サービスを開始および有効にし、’mongod‘サービスの状態を確認して実行中であることを確認します。

sudo systemctl enable --now mongod  
sudo systemctl status mongod

以下のように、MongoDBがAlma Linuxサーバーで実行されていることが確認できます。

start verify mongodb

MongoDB認証の有効化

この時点で、MongoDBサーバーはAlma Linuxサーバーで実行されています。次に、パスワード認証を有効にしてMongoDBのインストールを保護し、新しいMongoDB管理者ユーザーを設定します。また、MongoDBサーバーを管理するための基本的な’mongosh’またはMongoDBシェルについても学びます。

まず、以下の’mongosh‘コマンドを使用してMongoDBサーバーにログインします。

mongosh

MongoDBにログインしたら、以下のクエリを実行してMongoDBテレメトリを無効にします。

disableTelemetry()

次に、データベース’ admin ‘に切り替え、以下のクエリを実行してMongoDBの管理者ユーザーを設定します。この例では、新しいユーザー’ myAliceAdmin ‘をMongoDBの管理者として作成します。プロンプトが表示されたら、パスワードを入力します。

use admin  
db.createUser(  
{  
user: "myAliceAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

新しいユーザーが作成されると、出力に’ { ok: 1 } ‘が表示されます。

quit() ‘と入力してMongoDBサーバーから退出します。

create admin

次に、’ /etc/mongod.conf ‘ファイルを’nano’エディタで開きます。

sudo nano /etc/mongod.conf

security ‘オプションのコメントを外し、’ authorization: enabled ‘を追加してMongoDBでパスワード認証を有効にします。

security:  
authorization: enabled

ファイルを保存してエディタを終了します。

次に、以下の’systemctl‘コマンドを実行して’mongod‘サービスを再起動し、変更を適用します。これにより、MongoDBサーバーは認証が有効な状態で実行されるはずです。

sudo systemctl restart mongod

次に、以下の’mongosh‘コマンドを実行してMongoDBにログインします。

mongosh

connect to mongodb

データベース’ admin ‘に切り替え、以下のクエリを使用してユーザー’ myAliceAdmin ‘として認証します。プロンプトが表示されたら、パスワードを入力します。

use admin  
db.auth("myAliceAdmin", passwordPrompt())

認証が成功すると、出力に’ { ok: 1 } ‘が表示されます。

test auth

さらに、以下の’mongosh‘コマンドを使用して、ユーザー’ myAliceAdmin ‘でデータベース’ admin ‘にログインすることもできます。

mongosh --port 27017 --authenticationDatabase \  
"admin" -u "myAliceAdmin" -p

MongoDBでのユーザー作成

このセクションでは、’ mongosh ‘MongoDBクライアントを介してMongoDBに新しいデータベースとユーザーを作成します。

MongoDBに新しいデータベースとユーザーを作成するには、以下のクエリを実行します。この例では、新しいデータベース’ mydb ‘と新しいユーザー’ myUser ‘を作成します。プロンプトが表示されたら、パスワードを入力します。

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(), // または平文のパスワード  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

新しいデータベースとユーザーが作成されると、出力に’ { ok: 1 } ‘が表示され、その後’ quit() ‘と入力して終了します。

create new user and database

次に、以下の’mongosh‘コマンドを使用してMongoDBサーバーにログインします。プロンプトが表示されたら、’ myUser ‘のパスワードを入力します。

mongosh --port 27017 --authenticationDatabase \  
"mydb" -u "myUser" -p

成功すると、MongoDBシェルのプロンプトが表示されます。

connect to database

結論

おめでとうございます!Alma Linux 9サーバーにMongoDBのインストールが完了しました。また、管理者ユーザーを作成し、パスワード認証を有効にすることでMongoDBを保護しました。最後に、MongoDBでデータベースとユーザーを作成する方法と、コマンドラインを介してMongoDBサーバーに接続するための基本的な’mongosh’コマンドについても学びました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。