50%オフ すべてのプラン、期間限定。から開始 $2.48/mo
残り12分
データベースと分析

3 つの最新バージョンの Ubuntu に MongoDB をインストールする方法 (ステップバイステップ)

ジム・シュワルツ By ジム・シュワルツ 12 分で読めます
MongoDB を Ubuntu にインストールするための未来的なサーバー上に表示された MongoDB のオリジナルのシンボル + 記事から期待できることに関するタグライン + 記事のタイトル + Cloudzy ブランド ロゴ

それで、MongoDB を使用することに決めました。 alternative to MariaDB MERN スタック アプリ、分析プラットフォーム、またはドキュメント ベースのシステムを構築するために使用されていますが、古き良き Linux コマンド ラインと無数のターミナル エラーで壁にぶつかっていました。 

ただし、このガイドでは、MongoDB を Ubuntu にインストールするために知っておく必要があるすべてのことを最初から最後まで説明しているので、心配する必要はありません。

MongoDB が使用するもの X.Y.Z バージョン管理。 8.0 です 選考科目 リリースシリーズと、 8.2 です マイナー その 8.0 サイクル内にリリースします。マイナー リリースでは、同じメジャー サイクル内で機能が追加され、8.0 以降では、特定のユースケース (検索やベクトル検索など) のオンプレミス インストールにも提供されます。 Ubuntu 上の MongoDB 8.0 はサポートします 24.04 (ノーブル)、22.04 (ジャミー)、20.04 (フォーカル) 64 ビット システムでは、一部のプラットフォームで ARM64 がサポートされます。

GnuPG と Curl の前提条件

公式をインストールする前に mongodb-org パッケージを使用するには、Ubuntu には 2 つの前提条件が必要です。 GnuPG そして カール。これらのツールは、Ubuntu に MongoDB をダウンロードする権限を与えます。 モンゴデータベース パッケージは MongoDB Inc. によって保守されておらず、公式のパッケージと競合しています mongodb-org パッケージ。すでにインストールされている場合 モンゴデータベース 必ずアンインストールしてください。

次に、コマンドを実行します sudo apt-get install gnupgcurl。 Curl はインターネットからファイルをダウンロードするためのツールで、MongoDB のセキュリティ キーを取得するために必要です。 GnuPG は、Ubuntu がソフトウェアの信頼性を検証するために使用するものです。 GnuPG が見つからない場合、Ubuntu は MongoDB パッケージの検証に失敗します。

端末に GnuPG と Curl が正常にインストールされていることを確認してください。そうなった場合は、次のようになります。GnuPG と Curl を追加した後の Ubuntu ターミナル出力

MongoDB GPG キーのインポート

Ubuntu のパッケージ マネージャーである APT は、インストール前に GPG キーを使用してパッケージを検証します。この GPG キーがないと、Ubuntu では MongoDB のリポジトリを追加できません。ターミナルに次のコマンドを入力してキーを追加します。

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

機能する場合、ターミナル出力は次のようになります。MongoDB の GPG キーを正常に追加した後の Ubuntu ターミナル。

簡単に言うと、このコマンドは MongoDB のセキュリティ署名をダウンロードし、Ubuntu が読み取れる形式に変換して、安全なシステム フォルダーに保存します。コマンドラインのセクションごとの内訳は次のとおりです。

  1. カール -fsSL URL MongoDB の公式キーをダウンロードします
  2. –ディアモア Ubuntuが理解できるようにキーをテキスト形式からバイナリに変換します
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg Ubuntu が信頼できるキーを保存するフォルダーにバイナリ ファイルを保存します

すべてのコマンド ラインが完全に一致していれば、公開 GPG キーは問題なく追加されます。ただし、GPG キーが一致しないために、MongoDB をダウンロードするときに問題が発生するユーザーもいます。次のようなエラー:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

先ほどの GPG キー コマンドに正確に従わず、代わりに次のコマンドを使用した場合に発生します。 sudo aptキー 最新の Ubuntu では推奨されていないためです。

MongoDB リポジトリの追加

MongoDB のリポジトリを追加すると、MongoDB パッケージが特定のインターネット アドレスに存在することを Ubuntu に伝えるファイルが作成されます。リストファイルを次の場所に作成します。 /etc/apt/sources.list.d/mongodb-org-8.0.list を使用してリポジトリ行を書き込むことで、 エコー… |須藤ティー …

Ubuntu のバージョンが異なれば、このコマンドの異なるバリエーションが必要になるため、ここが難しいところです。次に、前述の 3 つのバージョンの Ubuntu にリスト ファイルをインポートする方法を検討します。

Ubuntu 24.04 (ノーブル)

Ubuntu 24.04でリストファイルを作成するには、次のように入力します。 echo “deb [ Arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse” | echo sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list 端末上で。

混乱するかもしれませんが、気にしないでください。コマンドをセクションに分割すると、非常に明確になります。

  1. エコー テキストを印刷します
  2. /etc/apt/sources.list.d Ubuntu がソフトウェア ソース定義を保存するフォルダーです。すべてのファイル 。リスト フォルダー内の形式は、ソフトウェアをダウンロードする特定の場所を Ubuntu に指示します。
  3. デフォルトでは、通常のユーザーはシステム フォルダーに何も書き込むことができません。 ティー ユーザーに、システム ファイルにテキストを書き込むための特別な権限を与えます。 須藤
  4. ノーブル は、Ubuntu 24.04 のコードネームです。すべての Ubuntu バージョンには次のようなコード名があります。
バージョン コードネーム
20.04 フォーカル
22.04 ジャミー
24.04 ノーブル

Ubuntu のバージョンが正しいコマンド ラインと一致しない場合、Ubuntu は MongoDB のリポジトリを認識できません。

Ubuntu 22.04 (ジャミー)

リスト ファイルを Ubuntu Jammy に追加する手順はまったく同じですが、置き換える際にコマンド ラインを入力する必要があります。 ノーブルジャミー、 このような:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

それが Ubuntu のバージョンと一致していることを確認してください。そうでない場合は、再び失敗します。

Ubuntu 20.04 (フォーカル)

ここでも同じ手順に従いますが、代わりに ノーブル or ジャミー、入れます 焦点的な:

echo “deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu folk/mongodb-org/8.0 multiverse” | echo sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

リポジトリが設定されたので、インストールに進むことができます。 mongodb-org.

パッケージデータベースを更新する

リポジトリが Ubuntu によって認識されたので、リポジトリ内のパッケージ データベースを再ロードする必要があるため、今後は MongoDB も含まれます。以下のコマンドを発行します。

sudo apt-get update

このコマンドはすべての Ubuntu バージョンで同じであり、このコマンドをスキップすると、Ubuntu には MongoDB が含まれなくなります。コマンドがその役割を果たした場合、ターミナル出力は次のようになります。sudo apt-get update 実行後の Ubuntu ターミナル出力

 パッケージ データベースをリロードした後、MongoDB パッケージをダウンロードします。

MongoDB コミュニティ サーバーをインストールする

インストールする MongoDB リリースにはさまざまなものがありますが、ユーザーは最新の安定したバージョンの方が望ましいため、それを使用する傾向があります。最新の安定バージョンをインストールするには、次のコマンドを実行します。 sudo apt-get install -y mongodb-org

これで、Ubuntu は MongoDB パッケージをダウンロードしてインストールし、MongoDB ユーザー アカウントとデータ ディレクトリを作成して、MongoDB をシステム サービスとして登録しました。ここまでで、Ubuntu に MongoDB をダウンロードする方法を説明しました。では、起動してみましょう。

MongoDB の起動方法

ここで、MongoDB を実行するには、Ubuntu のサービス マネージャー「systemd」に MongoDB をバックグラウンド サービスとして認識するように指示する必要があります。そのためには、ターミナルで次のコマンドを入力する必要があります。

sudo systemctl start mongod

コマンドがその仕事を行うと、Ubuntu は MongoDB をバックグラウンド アプリケーションとして開きます。ただし、コマンドがその役割を果たさない場合は、次のようなエラーが表示される可能性があります。 mongod.serviceの開始に失敗しました.

これは、いくつかの一般的な問題が原因で発生する可能性があります。

  • 設定ファイルエラー in /etc/mongod.conf (YAML インデントの間違いはよくあることです)
  • ポートの競合 (ポート 27017 はすでに占有されています)
  • 許可の問題 データまたはログ ディレクトリ (var/lib/mongodb または var/log/mongodb)
  • ディスクがいっぱいです or 破損したファイルシステムの状態

問題を診断するための 3 つのコマンド未来的なサーバーセットアップ + 3 つの ubuntu ターミナル コマンド + アップグレード パスの書き込みを備えたクラウド。

MongoDB が実行されないという構成の何が問題なのかを言うのは簡単ですが、正確な原因を特定するのは非常に困難です。エラーの原因を診断する簡単な方法は次の 3 つです。

  1. サービスのステータスを確認します。 sudo systemctl status mongod –no-pager
  2. 詳細なログを確認します (最も重要): sudojournalctl -u mongod –no-pager -n 100
  3. MongoDB 自身のログ ファイルを確認する

ただし、ディスクがいっぱいであるか、システムファイルが破損している場合、修正はソフトウェアではなくハードウェアに関係するものになることに注意してください。現在のセットアップが古い場合、ユーザーは MongoDB を効率的に実行するために、サーバー セットアップに適した機器を購入する必要がある場合があります。 

フル機能のサーバーを購入するのが予算にない場合は、Cloudzy の製品をチェックしてみてください。 Ubuntu VPS 好みの Ubuntu ディストリビューションを使用して、独自のプライベート サーバーでクリーンなエクスペリエンスを実現します。付属します 24/7 サポートと最大 40Gbps ネットワーク速度のおかげで、 NVMe SSD そして DDR5 RAM ストレージ。

さらに、遅延が最小限に抑えられており、 99.95% 稼働時間と 14日間 返金保証。それだけでなく、 12 世界中のあらゆる場所で手頃な価格でご利用いただけます。

MongoDB を実行するための 3 つの最も一般的な修正

MongoDB に関するシステムの正確な問題を認識し、それを 1 つの簡単なステップで修正する絶対的な方法はありません。そこで、MongoDB を実行し始めるために使用できる一般的な修正をいくつか紹介します。

  1. YAML 構成のインデント エラー。 あなたが編集したとします /etc/mongod.conf プロンプトを表示してインデントを再確認します sudo nano /etc/mongod.conf。 YAML ファイルは空白に非常に敏感なので、レベルごとに空白が 2 つだけであることを確認してください。 /etc/mongod.conf.
  2. 占有ポート27017。他の何かがポート 27017 を使用している場合は、それをシャットダウンするか、MongoDB のポートを変更します。 mongod.conf。ポート 27017 での実行について不明な点がある場合は、自由に実行してください。 sudo ss -lntp |グレップ 27017 それをチェックするために
  3. データディレクトリの権限に問題があります。 MongoDB にはシステム上で実行する権限がないため、まったく実行されない場合があります。最初の実行 sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb、次にMongoDBを再起動します sudo systemctl mongodを再起動します

によると MongoDBの公式ウェブサイトこの問題を回避するもう 1 つの方法は、デーモンをリロードすることです。 sudo systemctl デーモン-リロード、最初のコマンドを実行します。 sudo systemctl mongodを起動、 また。

ない場合 mongod.service、インストールでは systemd ユニットが配置されなかったため、再インストールします。 mongodb-org パッケージセット。

以上のことを踏まえて、MongoDB が正常に起動したかどうかを確認できます。 sudo systemctl status mongod。端末が次のように言う場合 アクティブ (実行中)、大丈夫です。ただし、エクスペリエンスをよりスムーズにするための設定がさらにいくつかあります。

MongoDB を自動化するMongoDB オートメーション シンボルを使用した未来的なサーバー セットアップ + MongoDB コマンドを使用したターミナル + ログ ファイル

MongoDB は、サーバーの電源を入れるたびに自動的に開くわけではありません。毎回、前述の手順の一部を繰り返す必要があります。オプションで、デスクトップの起動後に MongoDB を起動するように Ubuntu に指示できます。

ただ実行するだけです sudo systemctl で mongod を有効にする これにより、今後は再起動するたびに MongoDB を実行するようにシステムに指示されます。さらに、再起動することもできます モンゴッド コマンドを発行して処理する sudo systemctl mongodを再起動します。さらに、ユーザーはファイル内の出力を確認して、エラーや重要なメッセージのプロセスに従う必要がある場合があります。

/var/log/mongodb/mongod.log

これですべてのセットアップが完了したので、mongod の使用を開始しましょう。

MongoDB シェルを開く

データベースと対話するには、ユーザーは次のコマンドを発行して MongoDB シェルを開く必要があります。 モンゴシュ。これは、MongoDB または MySQL コンソール専用のコマンド プロンプト ターミナルと考えてください。あるいは、MongoDB ドライバーなどの GUI ツールを使用して MongoDB と対話することもできます。ただし、ターミナルから操作したい場合は、 モンゴシュ それを実現するために作られています。

これで MongoDB は完全に機能するようになりますが、安全にするために考慮する必要がある追加の手順がいくつかあります。

MongoDB を認証するMongoDB の認証プロセス + 鍵マーク + 認証の確認。

ユーザーを作成するにはすでにアクセス権を持っている必要があるため、MongoDB にはデフォルトでパスワード保護がありません。それを実現する簡単な方法は次のとおりです

管理者ユーザーの作成

まず、次のようにして管理データベースに切り替える必要があります。

use admin

次に、ユーザーを作成します db.createUser({…})。あなたの情報を入力してください

  • ユーザー名
  • パスワード
  • 役割

役割については、できれば次のように入力します これはフルコントロールまたは管理者を意味します。

認証を有効にする

独自のユーザーを設定したので、次は編集する必要があります。 /etc/mongod.conf ファイル。これは、このファイルが MongoDB の動作を制御するためです。ただし、ファイルを編集する場合は、必ず再起動する必要があることに注意してください。 モンゴッド その後のサービス sudo systemctl mongodを再起動します。ここで変更する必要があるのは、次のような authorization と呼ばれる 1 つのパラメーターです。

security:

  authorization:

認証プロセスを完了するには、次のように認証値を変更するだけです。

security:

  authorization: enabled

今後、MongoDB にはログインが必要となるため、認証が完了します。次に、MongoDB を完全に活用する別の構成に進みましょう。

ファイアウォールを開く

前述したように、MongoDB はポート 27017 で実行されます。ファイアウォールはデフォルトでポートをブロックするため、アプリケーションが 27017 で実行できるようにファイアウォールに指示する必要があります。これを実現するには、次のコマンドを発行するだけです。

ufw allow from YOUR_IP to any port 27017

あるいは、次のコマンドを発行することもできます。 ufw 許可 27017, ただし、これを実行するとインターネット全体がそのポートにアクセスできるようになるので注意してください。最初のオプションを選択するのが最も安全な方法かもしれません。これは、トラフィックが IP アドレスからのみポートにアクセスできるようにするためです。

MongoDB を実行するときに、ユーザーはリモート アクセスの問題などの課題に直面する可能性があります。それを修正する方法を見つけるためにそこに留まってください。

リモートアクセスの問題MongoDB のリモート アクセス設定とターミナル コマンドを構成する 3 つのモニターを使用したサーバーのセットアップ。

MongoDB は次のように起動します。 バインドIp. バインドIp MongoDB の制限 127.0.0.1、ローカル接続のみを許可します。したがって、別の場所から MongoDB サーバーに接続した場合、MongoDB はデフォルトでオンサイト接続のみを許可するように設定されているため、他の場所からアクセスすることはできません。

再び、出発してください /etc/mongod.confすると、次のような 3 行が表示されます。

net:

  port: 27017

  bindIp: 127.0.0.1

へのリモート接続を許可したい場合は、 モンゴッド ユーザーは、上記の値を次のように変更します。

net:

  port: 27017

  bindIp: 0.0.0.0

その後、再起動してください モンゴッド とのサービス sudo systemctl mongodを再起動します ファイルに対して行う他のすべての編集と同様に。

あなたは今、あなたの権限を付与しました モンゴッド リモート接続を受け入れるためのサービス権限。ただし、まだ認証していない場合、これを行うとデータベースがインターネット全体に公開されることになるので注意してください。 モンゴッド ユーザー。開いている MongoDB ポートを常にスキャンするボットが多数あるため、mongod ユーザーがパスワードを持っていることを常に確認してください。

全体像の概要

おめでとうございます。これで、Ubuntu システム用に最適化された MongoDB サービスを作成するためのすべての作業が完了しました。この記事で説明したすべてのステップを追跡するためのメンタル マップもここにあります。

指示 何をするのか
適切なアップデート ソフトウェアリストを更新する
適切なインストール ソフトウェアのインストール
カール ファイルをダウンロードする
GPG 暗号化キーを管理する
エコー テキストを印刷する
ティー 保護されたファイルへの書き込み
システムctlの開始 サービス開始
systemctl を有効にする ブート時に開始
システム制御ステータス チェックサービス
モンゴシュ MongoDBシェルに入る
編集 /etc/mongod.conf 認証を有効にする
うわー ファイアウォールの管理
バインドIp リモートアクセスを許可する

これは、プロセス全体をよりよく理解するのに役立つはずです。ただし、MongoDB を自分でセットアップするのが面倒な場合は、Cloudzy のセットアップを必ず起動してください。 MongoDB VPS MongoDB がプリインストールされた独自のプライベート Ubuntu 24.04 LTS サーバー用。

付属します 99.95% 稼働時間、 24/7 サポート、そして 14日間 返金保証。それとは別に、以下までサポートしています 40 Gbps 帯域幅のおかげで DDR5 RAM そして NVMe SSD ストレージ。どこに住んでいるかも心配する必要はありません。 12 手頃な価格で世界中の拠点に。

しかし、そうは言っても、ついに実稼働レベルのワークロードとビジネスをサポートするためのあらゆる構成を備えた独自の有能な MongoDB サービスをセットアップすることができました。

共有

詳細はブログから

読み続けてください。

ビジネスのためのスマートなデータ管理: VPS を使用した「クラウドのような」ストレージとバックアップ戦略
データベースと分析

ビジネスのためのスマートなデータ管理: VPS を使用した「クラウドのような」ストレージとバックアップ戦略

ビジネス データを安全に管理するための VPS は、企業がラップトップ間でのファイルのやりくり、電子メールの添付ファイル、忘れかけていたファイルの操作をやめるときが来たと判断した場合に、私が推奨する戦略です。

レクサ・サイラスレクサ・サイラス 7 分で読めます
マテリアライズド ビューとビュー
データベースと分析

マテリアライズド ビューとビュー: データベースにおける役割を理解する

データベース システムでは、データベース オブジェクトとしてのマテリアライズド ビューは、クエリの事前計算された結果を物理テーブルとして保存します。データは実際にはディスク上に保存されるため、複雑になります

アイビー・ジョンソンアイビー・ジョンソン 7 分で読めます
SnowFlake と DataBricks
データベースと分析

Databricks vs Snowflake: データプロフェッショナルによる公平な比較 🧱❄️

顧客の行動を追跡する電子商取引プラットフォーム、傾向を予測する金融機関、テクノロジー企業など、データに依存して意思決定を行う企業向け

アラン・ヴァン・カークアラン・ヴァン・カーク 13 分で読めます

導入する準備はできていますか? 月額 $2.48 から。

2008 年以降の独立したクラウド。AMD EPYC、NVMe、40 Gbps。 14日間の返金。