Ubuntu16.04にMongoDBをインストールする方法
序章
MongoDBは、最新のWebアプリケーションで一般的に使用されている無料のオープンソースNoSQLドキュメントデータベースです。 このチュートリアルは、本番アプリケーション環境用にサーバー上でMongoDBをセットアップするのに役立ちます。
前提条件
このチュートリアルに従うには、次のものが必要です。
- この初期サーバーセットアップチュートリアルに従ってセットアップされた1つのUbuntu16.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
ステップ1—MongoDBリポジトリを追加する
MongoDBはすでにUbuntuパッケージリポジトリに含まれていますが、公式のMongoDBリポジトリは最新バージョンを提供し、ソフトウェアをインストールするための推奨される方法です。 このステップでは、この公式リポジトリをサーバーに追加します。
Ubuntuは、ソフトウェアパッケージがGPGキーで署名されていることを確認することでソフトウェアパッケージの信頼性を保証するため、最初に公式のMongoDBリポジトリのキーをインポートする必要があります。
- wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
キーが正常にインポートされると、次のように表示されます。
OK
次に、MongoDBリポジトリの詳細を追加して、apt
がパッケージのダウンロード元を認識できるようにする必要があります。
次のコマンドを発行して、MongoDBのリストファイルを作成します。
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
リポジトリの詳細を追加した後、パッケージリストを更新する必要があります。
- sudo apt-get update
ステップ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 mongod
、sudo systemctl start mongod
)。
ステップ3—ファイアウォールの調整(オプション)
初期サーバーセットアップチュートリアルの手順に従ってサーバーのファイアウォールを有効にすると、インターネットからMongoDBサーバーにアクセスできなくなります。
同じサーバー上で実行されているアプリケーションでローカルでのみMongoDBサーバーを使用する場合は、安全な設定をお勧めします。 ただし、インターネットからMongoDBサーバーに接続できるようにする場合は、ufw
での着信接続を許可する必要があります。
どこからでもデフォルトポート27017
でMongoDBにアクセスできるようにするには、sudo ufw allow 27017
を使用できます。 ただし、デフォルトのインストールでMongoDBサーバーへのインターネットアクセスを有効にすると、データベースサーバー全体に無制限にアクセスできます。
ほとんどの場合、MongoDBには、アプリケーションをホストしている別のサーバーなど、特定の信頼できる場所からのみアクセスする必要があります。 このタスクを実行するために、明示的に接続を許可される別のサーバーのIPアドレスを指定しながら、MongoDBのデフォルトポートへのアクセスを許可できます。
- 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 RulesandCommandsで説明されています。
結論
MongoDBのインストールと構成に関するより詳細な手順は、これらのDigitalOceanコミュニティの記事にあります。