Ubuntu 16.04にMongoDBをインストールする方法

前書き

MongoDBは、最新のWebアプリケーションで一般的に使用される無料のオープンソースのNoSQLドキュメントデータベースです。 このチュートリアルは、実稼働アプリケーション環境用にサーバーでMongoDBをセットアップするのに役立ちます。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • このinitial server setup tutorialに従ってセットアップされた1つのUbuntu 16.04サーバー(sudo非rootユーザーとファイアウォールを含む)。

[[step-1 -—- adding-the-mongodb-repository]] ==ステップ1—MongoDBリポジトリを追加する

MongoDBはすでにUbuntuパッケージリポジトリに含まれていますが、公式のMongoDBリポジトリは最新バージョンを提供し、ソフトウェアのインストール方法として推奨されています。 このステップでは、この公式リポジトリをサーバーに追加します。

UbuntuはGPGキーで署名されていることを確認することでソフトウェアパッケージの信頼性を保証するため、まず公式のMongoDBリポジトリのキーをインポートする必要があります。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

キーを正常にインポートすると、次のように表示されます。

出力

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

次に、MongoDBリポジトリの詳細を追加して、aptがパッケージのダウンロード元を認識できるようにする必要があります。

次のコマンドを発行してMongoDB用のリストファイルを作成します。

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

リポジトリの詳細を追加したら、パッケージリストを更新する必要があります。

sudo apt-get update

[[step-2 -—- installing-and-verifying-mongodb]] ==ステップ2—MongoDBのインストールと検証

これでMongoDBパッケージ自体をインストールできます。

sudo apt-get install -y mongodb-org

このコマンドは、MongoDBサーバーの便利な管理ツールとともに、MongoDBの最新の安定バージョンを含むいくつかのパッケージをインストールします。

次に、systemctlでMongoDBを起動します。

sudo systemctl start mongod

systemctlを使用して、サービスが正しく開始されたことを確認することもできます。

sudo systemctl status mongod

出力

● mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-25 14:57:20 EDT; 1min 30s ago
 Main PID: 4093 (mongod)
    Tasks: 16 (limit: 512)
   Memory: 47.1M
      CPU: 1.224s
   CGroup: /system.slice/mongodb.service
           └─4093 /usr/bin/mongod --quiet --config /etc/mongod.conf

最後の手順は、システムの起動時にMongoDBを自動的に起動できるようにすることです。

sudo systemctl enable mongod

これでMongoDBサーバーが構成されて実行され、systemctlコマンドを使用してMongoDBサービスを管理できます(例: sudo systemctl stop mongodsudo systemctl start mongod)。

[[step-3 --- adjusting-the-firewall-optional]] ==ステップ3—ファイアウォールの調整(オプション)

サーバーでファイアウォールを有効にするためにinitial server setup tutorialの指示に従ったとすると、MongoDBサーバーはインターネットからアクセスできなくなります。

MongoDBサーバーを同じサーバーで実行されているアプリケーションでローカルでのみ使用する場合は、これが推奨される安全な設定です。 ただし、インターネットからMongoDBサーバーに接続できるようにする場合は、ufwでの着信接続を許可する必要があります。

どこからでもデフォルトのポート27017でMongoDBにアクセスできるようにするには、sudo ufw allow 27017を使用できます。 ただし、デフォルトのインストールでMongoDBサーバーへのインターネットアクセスを有効にすると、データベースサーバー全体への無制限のアクセスが許可されます。

ほとんどの場合、MongoDBは、アプリケーションをホストする別のサーバーなど、特定の信頼できる場所からのみアクセスする必要があります。 このタスクを実行するために、MongoDBのデフォルトポートへのアクセスを許可しながら、明示的に接続を許可される別のサーバーのIPアドレスを指定できます。

sudo ufw allow from your_other_server_ip/32 to any port 27017

ファイアウォール設定の変更は、ufwで確認できます。

sudo ufw status

出力に許可された27017ポートへのトラフィックが表示されます。特定のIPアドレスのみにMongoDBサーバーへの接続を許可することにした場合、許可された場所のIPアドレスがAnywhereの代わりに表示されます。出力で。

出力

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

サービスへのアクセスを制限するためのより高度なファイアウォール設定は、UFW Essentials: Common Firewall Rules and Commandsで説明されています。

結論

MongoDBのインストールと構成に関するより詳細な手順は、these DigitalOcean community articlesにあります。