MongoDB は、 NoSQL の最先端テクノロジーに基づいて、高性能データの永続性、高可用性、および自動スケーリングのために設計された、オープンソースの最新のドキュメントデータベース管理システムです。 。 MongoDBの下 、レコードはドキュメントであり、フィールドと値のペアで構成されるデータ構造です(MongoDBドキュメントはJSONオブジェクトに相当します)。
高性能と優れたスケーラビリティ機能を提供するため、強力でミッションクリティカルな高可用性データベースを必要とする最新のアプリケーションの構築に使用されています。
この記事では、 MongoDBのインストール方法について説明します。 、Ubuntu 18.04 でサービスを管理し、基本認証を設定します 。
重要 : MongoDBの開発者は注意する必要があります 64ビットLTSのパッケージのみを提供します (長期サポート) 14.04 LTSなどのUbuntuリリース (信頼できる)、 16.04 LTS (xenial)など。
ステップ1:Ubuntu18.04にMongoDBをインストールする
1。 Ubuntuの公式ソフトウェアパッケージリポジトリには、最新バージョンの MongoDBが付属しています。 、APTパッケージマネージャーを使用して簡単にインストールできます。
まず、システムソフトウェアパッケージのキャッシュを更新して、リポジトリリストの最新バージョンを取得します。
$ sudo apt update
2。 次に、 mongo-toolsなどの他のいくつかのパッケージを含むMongoDBパッケージをインストールします 、 mongodb-clients 、 mongodb-server およびmongodb-server-core 。
$ sudo apt install mongodb
3。 インストールが正常に完了すると、MongoDBサービスがsystemdを介して自動的に開始され、プロセスはポート 27017でリッスンします。 。示されているように、systemctlコマンドを使用してそのステータスを確認できます。
$ sudo systemctl status mongodb
ステップ2:MongoDBサービスの管理
4。 MongoDB インストールはsystemdサービスとして提供され、図のように標準のsystemdコマンドを使用して簡単に管理できます。
MongoDBサービスの実行を停止するには、次のコマンドを実行します。
$ sudo systemctl stop mongodb
MongoDBサービスを開始するには、次のコマンドを入力します。
$ sudo systemctl start mongodb
MongoDBサービスを再起動するには、次のコマンドを入力します。
$ sudo systemctl restart mongodb
自動的に開始されるMongoDBサービスを無効にするには、次のコマンドを入力します。
$ sudo systemctl disable mongodb
MongoDBサービスを再度有効にするには、次のコマンドを入力します。
$ sudo systemctl enable mongodb
ステップ3:ファイアウォールでリモートMongoDBアクセスを有効にする
5。 デフォルトでは、 MongoDB ポート27017で実行されます 、使用できるすべての場所からのアクセスを許可します。
$ sudo ufw allow 27017
ただし、 MongoDBへのアクセスを有効にする どこからでもデータベースデータへの無制限のアクセスを提供します。したがって、次のコマンドを使用して、特定のIPアドレスの場所へのアクセスをデフォルトのMongoDBのポートに許可することをお勧めします。
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6。 デフォルトでは、ポート 27017 ローカルアドレス127.0.0.1でリッスンします それだけ。リモートMongoDB接続を許可するには、サーバーのIPアドレスを /etc/mongodb.confに追加する必要があります 示されている構成ファイル。
bind_ip = 127.0.0.1,your_server_ip #port = 27017
ファイルを保存し、エディターを終了して、MongoDBを再起動します。
$ sudo systemctl restart mongodb
ステップ4:MongoDBデータベースのrootユーザーとパスワードを作成する
7。 デフォルトでは、 MongoDB ユーザー認証が無効になっているため、アクセス制御なしで開始されます。 mongoシェルを起動するには 、次のコマンドを実行します。
$ mongo
8。 mongoシェルに接続したら 、次のコマンドを使用して、使用可能なすべてのデータベースを一覧表示できます。
> show dbs
9。 MongoDBデプロイメントでアクセス制御を有効にして、認証を実施します。ユーザーがデータベースサーバーに接続するたびに自分自身を識別する必要があります。
MongoDBは、 Salted Challenge Response Authentication Mechanismを使用します (スクラム )デフォルトの認証メカニズム。 SCRAMの使用 、MongoDBは、提供されたユーザークレデンシャルを、ユーザーの名前、パスワード、および認証データベース(ユーザーが作成されたデータベース、およびユーザーの名前とともに、ユーザーの識別に使用されます)に対して検証します。
ユーザー管理者を作成する必要があります( MySQL / MariaDB の下のrootユーザーに類似) )adminデータベース内。このユーザーは、ユーザーの作成、ユーザーからの役割の付与または取り消し、税関の役割の作成または変更など、ユーザーと役割を管理できます。
最初に管理者に切り替えます データベースを作成し、rootユーザーを作成します 次のコマンドを使用します。
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
次に、mongoシェルを終了して、次に説明するように認証を有効にします。
10。 mongodb インスタンスは--auth
なしで開始されました コマンドラインオプション。 /lib/systemd/system/mongod.service を編集して、ユーザーの認証を有効にする必要があります ファイル、最初にそのように編集するためにファイルを開きます。
$ sudo vim /lib/systemd/system/mongodb.service
[Service]
の下 構成セクションで、パラメーター ExecStartを見つけます 。
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
次のように変更します:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
ファイルを保存して終了します。
11。 8.構成ファイルに変更を加えた後、「 systemctldaemon-reload」を実行します ‘ユニットをリロードしてMongoDBサービスを再起動し、次のようにステータスを確認します。
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12。 mongodbに接続しようとすると 、MongoDBユーザーとして自分自身を認証する必要があります。例:
$ mongo -u "root" -p --authenticationDatabase "admin"
注 :パスワードはシェル履歴ファイルに保存され、攻撃者が後で表示する可能性があるため、コマンドラインでパスワードを入力することはお勧めしません。
それで全部です! MongoDB は、高性能、高可用性、自動スケーリングを提供する、オープンソースの最新のNo-SQLデータベース管理システムです。
この記事では、 MongoDBをインストールして開始する方法について説明しました。 Ubuntu 18.04 。ご不明な点がございましたら、下のコメントフォームを使用してお問い合わせください。