Arch LinuxにMongoDB 4.0をインストールする方法

前提条件

  • 最新のArch Linuxを実行するVultrサーバー(この記事を参照
  • Sudoアクセス:
    • rootとして実行する必要のあるコマンドには、接頭辞として#、および通常のユーザーとしてによって実行できるコマンドの先頭に付きます$。rootとしてコマンドを実行するための推奨される方法は、通常のユーザーとして、各コマンドの前にを付けることsudoです。

MongoDB 4.0データベースのインストール

MongoDBはAUR(Arch User Repository)にあります。使用できるパッケージは2セットあります。どちらかのパッケージセットをコンパイルしてインストールするには、Arch Linuxでのパッケージのビルド(AURを含む)を参照してください。

  1. ソースからコンパイルします。AURパッケージmongodbmongodb-tools'を使用してください。これには約180GB必要で、これは長いコンパイルです。4コアの場合、約7時間かかります。Archのコンパイルフラグを使用するため、これが推奨される方法です。
  2. MongoDBのビルド済みバイナリを使用します。AURパッケージmongodb-binを使用してくださいmongodb-tools-bin。これにより、コンパイル段階全体がスキップされ、ビルド済みのバイナリがmongodb.orgからダウンロードされ、必要な構成ファイルと一緒にパッケージ化されます。

パッケージをインストールしたら、MongoDBを起動し、起動するたびに起動するようにします。この最初の起動時に、ジャーナルとその他のデータ用にファイルが事前に割り当てられます。データベースの起動が完了するまでに時間がかかる場合があります。

# systemctl enable --now mongodb

テスト接続

MongoDBに接続します。

$ mongo

やめるために:

> exit

ファイアウォールに関する考慮事項

ファイアウォールを構成することは常に良い考えですが、デフォルトでは、MongoDB 27017はローカルホストのポートでのみ待機するため、外部トラフィックを受信しません。

認証が必要

デフォルトでは、MongoDBはすべてのタイプの認証なしでだれでもそれに接続できるようにします。これは明らかにセキュリティリスクです。

ルートデータベースユーザーを作成します。

$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit

編集し/etc/mongodb.conf、パッケージmongodb追加を使用する場合:

security:
  authorization: "enabled"

パッケージをmongodb-bin追加する場合:

auth = true

MongoDBを再起動します。

# systemctl restart mongodb

これで、認証なしでMongoDBに接続できますが、それなしでは何も実行されません。

$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :

rootとしてMongoDBに接続します。

$ mongodb -u root

または、MongoDBに接続して、その中で認証します。

$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")

重要:アップグレード

MongoDBはAURの一部になっているためpacman、Archシステム全体をアップグレードしても、自動的にコンパイルされて新しいバージョンにアップグレードされません。新しいバージョンを手動で再コンパイルして、新しいパッケージをインストールする必要があります。その前に、MongoDBのリリースノートを見て、実行する必要がある追加の手順があるかどうかを確認することが重要です。同様に、アップグレードの前にデータベースをバックアップすることをお勧めします。

汚れたシャットダウン

MongoDBが正常にシャットダウンせず、次回の起動時にジャーナルを使用して自動的に回復しない場合は、以下を実行する必要がある場合があります。

sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/

使用するデータベースとインデックスのサイズに応じて、このプロセスは数秒から数時間の範囲になります。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。