前書き
[ MongoDB](https://cloud.tencent.com/product/mongodb?from=10680)は、最新のWebアプリケーションで一般的に使用されている無料のオープンソースNoSQLドキュメントデータベースです。このチュートリアルは、サーバー上の実稼働アプリケーション環境用にMongoDBをセットアップするのに役立ちます。
このチュートリアルに従うには、次のものが必要です。
sudo
コマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない方は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使って実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
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
これで、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-2514: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
)。
サーバーでファイアウォールを有効にしているとすると、インターネットからMongoDBサーバーにアクセスすることはできません。
MongoDBサーバーのみをローカルで使用し、アプリケーションを同じサーバーで実行する場合は、セキュリティ設定を使用することをお勧めします。ただし、インターネットからMongoDBサーバーに接続できるようにする場合は、 ufw
での着信接続を許可する必要があります。
27017
がデフォルトポートのMongoDBにどこからでもアクセスできるようにするには、 sudo ufw allow27017
を使用できます。ただし、デフォルトのインストールで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アドレスがどこでもではなく出力に表示されます。
Status: active
To Action From
- - - - - - - - - - - - 27017 ALLOW Anywhere
OpenSSH ALLOW Anywhere
27017( v6) ALLOW Anywhere(v6)OpenSSH(v6) ALLOW Anywhere(v6)
これで、MongoDBがUbuntu16.04に正常にインストールされました。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04にMongoDBをインストールする方法」
Recommended Posts