序章
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コミュニティの記事にあります。