Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / /

MongoDB Community Edition の Red Hat または CentOS へのインストール

項目一覧

  • Overview
  • Considerations
  • MongoDB Community Edition のインストール
  • MongoDB コミュニティ エディションの実行
  • MongoDB コミュニティ エディション のアンインストール
  • 詳細情報

注意

MongoDB Atlas

MongoDB Atlas は、インストールのオーバーヘッドが不要で、無料で始められるクラウドでホストされる MongoDBサービスオプションです。

このチュートリアルでは、yum パッケージ マネージャーを使用して、Red Hat Enterprise Linux、CentOS Linux、または Oracle Linux [1] に MongoDB 7.0 Community Edition をインストールします。

このチュートリアルでは、MongoDB 7.0 Community Edition をインストールします。別のバージョンの MongoDB Community をインストールするには、このページの左上にあるバージョンのドロップダウンメニューを使用して、該当バージョンのドキュメントを選択します。

MongoDB 7.0 Community Edition は、次の 64 ビット バージョンの Red Hat Enterprise Linux(RHEL)、CentOS Linux、Oracle Linux [1]、Rocky Linux、AlmaLinux [2]x86_64 アーキテクチャ上でサポートしています。

  • RHEL、CentOS Stream、Oracle、Rocky、AlmaLinux 9

  • RHEL、CentOS Stream、Oracle、Rocky、AlmaLinux 8

  • RHEL、CentOS、Oracle 7

MongoDB はこれらのプラットフォームの 64 ビット版のみをサポートしています。

RHEL、CentOS、Oracle、Rocky、AlmaLinux 上の MongoDB 7.0 Community Edition は、一部のプラットフォームで ARM64 アーキテクチャもサポートしています。

詳しくは、「プラットフォーム サポート」を参照してください。

[1]12 MongoDB は Red Hat Compatible Kernel(RHCK)を実行している Oracle Linux のみをサポートしています。MongoDB は Unbreakable Enterprise Kernel(UEK)をサポートしていません
[2] RHEL バージョン 8.0 以降向けにリリースされた MongoDB オンプレミス製品は、Rocky Linux バージョン 8.0 以降、および AlmaLinux バージョン 8.0 以降と互換性があり、サポートします。ただし、これらのディストリビューションが完全な RHEL 互換性を提供する義務を果たすことが前提となります。

MongoDB を本番環境に導入する前に、本番環境の MongoDB導入に関するパフォーマンス上の考慮事項と構成の推奨事項を示す 自己管理型配置のプロダクション ノート を検討してください。

yum パッケージマネージャーを使用して MongoDB Community Edition をインストールするには、次の手順に従います。

1

yum を使用して MongoDB を直接インストールできるように、/etc/yum.repos.d/mongodb-org-7.0.repo ファイルを作成します。

[mongodb-org-7.0]
name=MongoDB Repository
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
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

また、MongoDB リポジトリから .rpm ファイルを直接ダウンロードすることもできます。ダウンロード ファイルは Red Hat または CentOS のバージョン(例: 9)、MongoDB のリリース バージョン(例: 7.0)、アーキテクチャ(例: x86_64)を基準にしてこの順序で整理されています。

MongoDB 5.0 以前のバージョンでは、MongoDB の開発リリース バージョンには、4.3 といった奇数番号が振られていました。MongoDB 5.1 以降、MongoDB は四半期ごとに Rapid Release を公開しています。Rapid Release と長期的にサポートされるリリースの相違に関する詳細については、「MongoDB バージョン管理」を参照してください。

2

MongoDB の最新の安定バージョンをインストールするには、次のコマンドを実行します。

sudo yum install -y mongodb-org

あるいは、MongoDB の特定のリリースをインストールするには、次の例のように、各コンポーネント パッケージを個別に指定し、パッケージ名にバージョン番号を追加します。

sudo yum install -y mongodb-org-7.0.14 mongodb-org-database-7.0.14 mongodb-org-server-7.0.14 mongodb-mongosh mongodb-org-mongos-7.0.14 mongodb-org-tools-7.0.14

注意

yum は、新しいバージョンが利用可能になると、パッケージを自動的にアップグレードします。MongoDB のアップグレードを希望しない場合は、次の exclude ディレクティブを /etc/yum.conf ファイルに追加してパッケージを固定します。

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools

ほとんどの Unix 系オペレーティング システムでは、プロセスが使用できるシステム リソースが制限されています。 これらの制限は MongoDB の操作に悪影響を及ぼす可能性があるため、調整する必要があります。 プラットフォームに推奨される設定については、 「 自己管理型配置の UNIX ulimit設定」を参照してください。

注意

オープンしているファイル数のulimit値が64000未満の場合、MongoDB は起動警告を生成します。

MongoDB は デフォルトで、mongod ユーザー アカウントを使用して実行され、次のデフォルト ディレクトリを使用します。

  • /var/lib/mongo (データディレクトリ)

  • /var/log/mongodb (ログディレクトリ)

パッケージマネージャーはインストール中にデフォルトのディレクトリを作成します。所有者とグループ名は mongod です。

デフォルト以外のデータディレクトリやログ ディレクトリを使用するには、次の手順に従います。

  1. 新しいディレクトリ(複数可)を作成します。

  2. 構成ファイル /etc/mongod.conf を編集し、必要に応じて次のフィールドを変更します。

    • storage.dbPath で新しいデータディレクトリのパスを指定します(例: /some/data/directory

    • systemLog.path で新しいログファイルのパスを指定します(例: /some/log/directory/mongod.log

  3. MongoDB を実行しているユーザーがディレクトリにアクセスできるようにします。

    sudo chown -R mongod:mongod <directory>

    MongoDB プロセスを実行するユーザーを変更する場合は、新しいユーザーにこれらのディレクトリへのアクセス権を付与する必要があります。

  4. SELinux が強制されている場合は、構成します。「SELinux の構成」を参照してください。

MongoDB 5.0 以降、以下を実行する MongoDB インストールで新しい SELinux ポリシーを利用できるようになりました。

  • .rpm インストーラーを使用します。

  • デフォルトの構成設定を使用します。

  • RHEL7 以降で実行します。

MongoDB Enterprise インストールで LDAP 認証を使用する場合、次の追加の SELinux ポリシーを設定する必要があります。

  • OS ライブラリ経由で LDAP 認証を使用する配置の場合、MongoDB はtcontext=system_u:object_r:ldap_port_t:s0 LDAP ポートへのアクセス権を持つ必要があります。アクセス権は setsebool -P authlogin_nsswitch_use_ldap 1 を実行することで有効にできます。

  • saslauthd 経由で LDAP 認証を使用する配置の場合、sudo setsebool -P daemons_enable_cluster_mode 1 を実行してクラスター モードを有効にする必要があります。

インストールが上記要件を満たしていない場合は、.tgz パッケージ向けの「SELinux インストラクション」を参照してください。

注意

MongoDB 配置で次のいずれかのカスタム設定を使用する場合、

MongoDB が提供する SELinux ポリシーは使用できません。代替策としてカスタム SELinux ポリシーを作成することもできますが、不適切に記述されたカスタム ポリシーによって安全性の低下や mongod インスタンスの動作停止が生じる恐れがあります。

  1. 次のパッケージがインストールされていることを確認してください。

    • git

    • make

    • checkpolicy

    • policycoreutils

    • selinux-policy-devel

    sudo yum install git make checkpolicy policycoreutils selinux-policy-devel
  2. ポリシーリポジトリをダウンロードします。

    git clone https://github.com/mongodb/mongodb-selinux
  3. ポリシーをビルドします。

    cd mongodb-selinux
    make
  4. ポリシーを適用します。

    sudo make install

重要

下位互換性のない機能

MongoDB 5.1 以降で MongoDB の前のバージョンにダウングレードするには、SELinux ポリシーのクローンが過去に作成されたディレクトリから次のコマンドをダウングレード前に実行する必要があります。

sudo make uninstall
  • SELinux ポリシーは、MongoDB の標準の .rpm パッケージのインストールによって生成される構成で動作するように設計されています。詳細については、「標準インストールの前提条件」を参照してください。

  • SELinux ポリシーは mongod サーバー用に作成されており、次のような MongoDB の他のデーモンやツールには適用されません。

  • 参照ポリシー SELinux プロジェクトが提供する にはmongodb_admin 関数が含まれています。このマニュアルは MongoDB SELinux ポリシーに含まれていません。 unconfined_tドメインの管理者はmongodを管理できます。

  • ポリシーをアンインストールするには、ポリシー リポジトリをダウンロードしたディレクトリに移動して、次のコマンドを実行します。

    sudo make uninstall

システム上で MongoDB Community Edition を実行するには、以下の手順に従います。これらの手順では、デフォルト設定の使用を前提としています。

init システム

mongod プロセスを実行、管理するには、オペレーティング システムに組み込まれている init システムを使用します。最近のバージョンの Linux では systemdsystemctl コマンドを使用)が使用される傾向があり、古いバージョンの Linux では System V initservice コマンドを使用)が使用される傾向があります。

プラットフォームで使用されている init システムがわからない場合は、次のコマンドを実行します。

ps --no-headers -o comm 1

次に、結果に基づいて以下の適切なタブを選択します。

  • systemd - 以下の [systemd(systemctl)] タブを選択します。

  • init - 以下の [System V Init(サービス)] タブを選択します。


1

次のコマンドを発行して、mongod プロセスを開始できます。

sudo systemctl start mongod

mongod の起動時に次のようなエラーが表示された場合は以下に従ってください。

Failed to start mongod.service: Unit mongod.service not found.

最初に次のコマンドを実行します。

sudo systemctl daemon-reload

次に、上記の開始コマンドを再度実行します。

2

次のコマンドを実行すると、mongod プロセスが正常に開始されたことを確認できます。

sudo systemctl status mongod

必要に応じて、次のコマンドを実行すると、システムの再起動後に MongoDB が確実に起動するようにできます。

sudo systemctl enable mongod
3

必要に応じて、次のコマンドを発行して、mongod プロセスを停止できます。

sudo systemctl stop mongod
4

次のコマンドを発行して、mongod プロセスを再開できます。

sudo systemctl restart mongod

プロセスの状態をエラーや重要なメッセージで確認するには、/var/log/mongodb/mongod.log ファイルの出力を監視してください。

5

mongoshと同じホストマシン上でmongod セッションを開始します。コマンドライン オプションなしでmongoshを実行すると、デフォルト ポート27017を使用してローカルホストで実行されているmongodに接続できます。

mongosh

mongosh を使った接続(別のホストやポートで実行されている mongod インスタンスへの接続など)の詳細については、「mongosh ドキュメント」を参照してください。

MongoDB をスムーズに使い始められるように、MongoDB ではさまざまなドライバー エディションでスタートガイドを提供しています。ドライバーのドキュメントについては、「MongoDB での開発スタートガイド」を参照してください。

1

次のコマンドを発行して、mongod プロセスを開始できます。

sudo service mongod start
2

mongod プロセスが正常に開始したことを確認するには、ログファイル /var/log/mongodb/mongod.log の内容で次の行を確認します。

[initandlisten] waiting for connections on port <port>

ここで、 <port>/etc/mongod.confで構成されたポートであり、デフォルトでは27017です。

必要に応じて、次のコマンドを実行すると、システムの再起動後に MongoDB が確実に起動するようにできます。

sudo chkconfig mongod on
3

必要に応じて、次のコマンドを発行して、mongod プロセスを停止できます。

sudo service mongod stop
4

次のコマンドを発行して、mongod プロセスを再開できます。

sudo service mongod restart

プロセスの状態をエラーや重要なメッセージで確認するには、/var/log/mongodb/mongod.log ファイルの出力を監視してください。

5

mongoshと同じホストマシン上でmongod セッションを開始します。コマンドライン オプションなしでmongoshを実行すると、デフォルト ポート27017を使用してローカルホストで実行されているmongodに接続できます。

mongosh

mongosh を使った接続(別のホストやポートで実行されている mongod インスタンスへの接続など)の詳細については、「mongosh ドキュメント」を参照してください。

MongoDB をスムーズに使い始められるように、MongoDB ではさまざまなドライバー エディションでスタートガイドを提供しています。ドライバーのドキュメントについては、「MongoDB での開発スタートガイド」を参照してください。

システムから MongoDB を完全に削除するには、MongoDB アプリケーション自体、構成ファイル、データとログを含むすべてのディレクトリを削除する必要があります。次のセクションで必要な手順をご案内します。

警告

このプロセスにより、MongoDB、その構成、およびすべてのデータベースが 完全に 削除されます。このプロセスは元に戻すことができないため、続行する前にすべての構成とデータがバックアップされていることを確認してください。

1

次のコマンドを発行して、mongod プロセスを停止します。

sudo service mongod stop
2

以前にインストールした MongoDB パッケージをすべて削除します。

sudo yum erase $(rpm -qa | grep mongodb-org)
3

MongoDB データベースとログ ファイルを削除します。

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

By default, MongoDB launches with bindIp set to 127.0.0.1, which binds to the localhost network interface. This means that the mongod can only accept connections from clients that are running on the same machine. Remote clients will not be able to connect to the mongod, and the mongod will not be able to initialize a replica set unless this value is set to a valid network interface which is accessible from the remote clients.

この値は、次のいずれかに設定できます。

  • MongoDB設定ファイルでbindIpを使用する。または

  • コマンドライン引数を経由する。 --bind_ip

警告

インスタンスをパブリックにアクセス可能な IP アドレスにバインドする前に、クラスターを不正アクセスから保護する必要があります。 セキュリティ推奨事項の完全なリストについては、「自己管理型配置のセキュリティ チェックリスト」を参照してください。 最低限、認証を有効化し、ネットワーク インフラストラクチャの強化 を検討してください。

bindIpの構成の詳細については、「自己管理型配置の IP バインディング 」を参照してください。

MongoDB Community Edition は専用のリポジトリから利用可能で、以下の公式にサポートされているパッケージが含まれています

パッケージ名
説明
mongodb-org
以下に掲げるコンポーネント パッケージを自動的にインストールするmetapackage です。
mongodb-org-database

以下に掲げるコンポーネント パッケージを自動的にインストールするmetapackage です。

パッケージ名
説明
mongodb-org-server
mongod デーモン、関連する init スクリプト、構成ファイル/etc/mongod.conf)が付属します。init スクリプトを使用して、構成ファイルで mongod を起動できます。詳細については、上記の「MongoDB Community Edition の実行」セクションを参照してください。
mongodb-org-mongos
mongos デーモンが付属します。
mongodb-mongosh
MongoDB Shell(mongosh)を含みます。
mongodb-org-tools

以下に掲げるコンポーネント パッケージを自動的にインストールする metapackage です。

パッケージ名
説明
mongodb-database-tools

次の MongoDB データベース ツールが含まれています。

mongodb-org-database-tools-extra
install_compass スクリプトが付属します

戻る

Linux へのインストール