GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04LTSにMongoDBをインストールして構成する方法

MongoDBは、エンタープライズレベルのデータベースの高性能、高可用性、および自動スケーリングを提供するNoSQLデータベースです。 MongoDBはNoSQLデータベースであるため、SQL(Structured Query Language)を使用してデータを挿入および取得することはできません。また、MySQLやPostgresなどのテーブルにデータを格納することもありません。データは、JSON形式の「ドキュメント」構造(MongoDBではBSONと呼ばれます)で保存されます。 MongoDBは2009年に導入され、現在MongoDBInc.によって開発されています。

MongoDBは、64ビットLTS(長期サポート)Ubuntuバージョンのパッケージのみを提供します。たとえば、14.04 LTS(信頼できる)、16.04 LTS(ゼニアル)、18.04 LTS(バイオニック)などです。

このチュートリアルでは、MongoDB4.0をUbuntu18.04LTSにインストールします。

前提条件
  • UbuntuServer18.04-64ビット
  • root権限

このチュートリアルで行うこと:

  1. MongoDBをインストールする
  2. MongoDBを構成する
  3. 結論

Ubuntu18.04LTSにMongoDBをインストールします

ステップ1-公開鍵のインポート

ソフトウェアディストリビューターのGPGキーは、パッケージの一貫性と信頼性を確保するために、Ubuntuパッケージマネージャーapt(Advanced Package Tool)によって必要とされます。このコマンドを実行して、MongoDBキーをサーバーにインポートします。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
ステップ2-ソースリストファイルMongoDBを作成します

次のコマンドを使用して、/ etc / apt /sources.list.d/にMongoDBリストファイルを作成します。

sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
ステップ3-リポジトリを更新する

aptコマンドでリポジトリを更新します:

sudo apt-get update
ステップ4-MongoDBをインストールする

これで、次のコマンドを入力してMongoDBをインストールできます:

sudo apt-get install -y mongodb-org

MongoDB aptインストーラーはSystemdのmongod.serviceファイルを自動的に作成したため、手動で作成する必要はありません。

MongoDBを起動し、起動時に開始するサービスとして追加します:

sudo systemctl start mongod
sudo systemctl enable mongod

次に、netstatコマンドを使用してMongoDBがポート27017で開始されていることを確認します。

sudo netstat -plntu

MongoDBのユーザー名とパスワードを構成する

MongoDBパッケージがインストールされると、データベースサーバーのユーザー名とパスワードを構成できます。

ステップ1-mongoシェルを開きます

MongoDBのユーザー名とパスワードを設定する前に、サーバーでMongoDBシェルを開く必要があります。次のように入力してログインできます:

mongo

エラーが発生した場合グローバル初期化に失敗しました:BadValue無効またはユーザーロケールが設定されていません。 LANGおよび/またはLC_*環境変数が正しく設定されていることを確認してください。次のコマンドを試してください:

export LC_ALL=C
mongo
ステップ2-データベース管理者に切り替えます

MongoDBシェルに入ったら、 adminという名前のデータベースに切り替えます。 :

use admin
ステップ3-rootユーザーを作成します

次のコマンドでrootユーザーを作成します:

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

説明: パスワードadmin123を使用してユーザーadminを作成し、rootとして権限/役割を持ち、データベースは adminです。 。

次に、exitと入力してMongoDBシェルを終了します。

exit

そして、Linuxシェルに戻りました。

ステップ4-MongoDB認証を有効にする

エディターでmongodbサービスファイル「/lib/systemd/system/mongod.service」を編集します。

sudo nano /lib/systemd/system/mongod.service

' ExecStart '9行目、新しいオプションを追加します' -auth '。

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

サービスファイルを保存してnanoを終了します。

systemdサービスをリロードします:

sudo systemctl daemon-reload
ステップ5-MongoDBを再起動して接続を試みます

次に、MongoDBを再起動し、作成したユーザーに接続します。

sudo service mongod restart

次のコマンドでMongoDBシェルに接続します:

mongo -u admin -p admin123 --authenticationDatabase admin

次のような出力が表示されます:

外部アクセスを有効にして、UFWファイアウォールを構成します

UFWはUbuntuのデフォルトのファイアウォールです。この章では、MongoDBへの外部アクセスを許可するようにUFWを構成する方法を示します。

UFWステータスを確認する

sudo ufw status

結果が次の場合:

Status: inactive

このコマンドでUFWを有効にし、SSHで接続されている場合は、最初にSSHポートを開きます。

sudo ufw allow ssh
sudo ufw enable

次のステップに進む前に。

セキュリティ上の理由から、データベースへのアクセスが必要なIPアドレスからのみMongoDBポート27017へのアクセスを許可する必要があります。デフォルトでは、ローカルホストは常にアクセスできるため、IP127.0.0.1のMongoDBポートを開く必要はありません。

UFWファイアウォール構文

sudo ufw allow from <target> to <destination> port <port number>

UFWでMongoDBポートを開く

外部IP192.168.1.10からMongoDBへのアクセスを許可するには、次のコマンドを使用します:

sudo ufw allow from 192.168.1.10 to any port 27017

上記のコマンドのIPアドレスを、MongoDBへのアクセスを許可する外部IPに置き換えます。

任意のIPのMongoDBポートを開きたい場合、たとえばローカルネットワークで実行し、そのネットワーク内のすべてのシステムがMongoDBにアクセスできるようにする場合は、次のコマンドを使用します。

sudo ufw allow 27017

次のコマンドでUFWファイアウォールのステータスを確認します:

sudo ufw status

MongoDBはデフォルトでローカルホストをリッスンします。データベースに外部からアクセスできるようにするには、サーバーのIPアドレスでもリッスンするようにデータベースを再構成する必要があります。

nanoエディターでmongod.confファイルを開きます:

sudo nano /etc/mongod.conf

次のように、bind_ip行にサーバーのIPアドレスを追加します。

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100

192.168.1.100をサーバーのIPに置き換えてから、MongoDBを再起動して変更を適用します。

sudo service mongod restart

これで、ネットワーク経由でMongoDBデータベースサーバーにアクセスできます。

仮想マシンイメージ

このチュートリアルは、Howtoforgeサブスクライバー向けにOVA/OVF形式ですぐに使用できる仮想マシンとして利用できます。 VM形式は、VMWare、Virtualbox、およびovaまたはovf形式をインポートできるその他のツールと互換性があります。上部の右側のメニューにダウンロードリンクがあります。ファイル名をクリックしてダウンロードを開始します。

VMのログインの詳細は次のとおりです。

SSHログイン

ユーザー名:管理者
パスワード:howtoforge

管理者ユーザーにはsudo権限があります。

最初の起動後にパスワードを変更してください。

VMは静的IP192.168.1.100用に構成されています。静的IPを変更する方法については、こちらをご覧ください。

結論

MongoDBは、高性能、高可用性、自動スケーリングを提供する有名なNoSQLデータベースです。これは、SQLを使用してデータを設定および取得しないため、MySQL、PostgreSQL、SQLiteなどのRDBMSとは異なります。 MongoDBは、BSON(追加情報を含むJSONのバイナリ表現)と呼ばれる「ドキュメント」にデータを格納します。 MongoDBは、64ビットの長期サポートUbuntuリリースでのみ使用できます。


Ubuntu
  1. Ubuntu18.04LTSにAnsibleをインストールして構成する方法

  2. Ubuntu20.04にMongoDB5をインストールして構成する方法

  3. Ubuntu 20.04 LTS に Fail2ban をインストールして構成する方法

  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

  2. Ubuntu 18.04 LTSにKubernetes(k8s)をインストールして設定する方法

  3. Ubuntu18.04LTSにGitLabをインストールして構成する方法