So installieren Sie MongoDB unter Ubuntu 16.04

Einführung

MongoDB ist eine kostenlose und Open-Source-Datenbank für NoSQL-Dokumente, die häufig in modernen Webanwendungen verwendet wird. Dieses Tutorial hilft Ihnen, MongoDB auf Ihrem Server für eine Produktionsanwendungsumgebung einzurichten.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Ein Ubuntu 16.04-Server, der gemäß dieseninitial server setup tutorial eingerichtet wurde, einschließlich eines Sudo-Nicht-Root-Benutzers und einer Firewall.

[[Schritt-1 - Hinzufügen des Mongodb-Repositorys]] == Schritt 1 - Hinzufügen des MongoDB-Repositorys

MongoDB ist bereits in Ubuntu-Paket-Repositories enthalten, aber das offizielle MongoDB-Repository bietet die aktuellste Version und ist die empfohlene Methode zur Installation der Software. In diesem Schritt fügen wir dieses offizielle Repository unserem Server hinzu.

Ubuntu stellt die Authentizität von Software-Paketen sicher, indem überprüft wird, ob sie mit GPG-Schlüsseln signiert sind. Daher müssen sie zunächst für das offizielle MongoDB-Repository importiert werden.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Nach dem erfolgreichen Import des Schlüssels wird Folgendes angezeigt:

Ausgabe

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Als nächstes müssen wir die MongoDB-Repository-Details hinzufügen, damitaptwissen, von wo die Pakete heruntergeladen werden können.

Geben Sie den folgenden Befehl ein, um eine Listendatei für MongoDB zu erstellen.

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

Nach dem Hinzufügen der Repository-Details müssen wir die Paketliste aktualisieren.

sudo apt-get update

[[Schritt-2 - Installieren und Überprüfen von Mongodb]] == Schritt 2 - Installieren und Überprüfen von MongoDB

Jetzt können wir das MongoDB-Paket selbst installieren.

sudo apt-get install -y mongodb-org

Mit diesem Befehl werden mehrere Pakete installiert, die die neueste stabile Version von MongoDB sowie hilfreiche Verwaltungstools für den MongoDB-Server enthalten.

Starten Sie anschließend MongoDB mitsystemctl.

sudo systemctl start mongod

Sie können auchsystemctl verwenden, um zu überprüfen, ob der Dienst ordnungsgemäß gestartet wurde.

sudo systemctl status mongod

Ausgabe

● 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

Der letzte Schritt besteht darin, das automatische Starten von MongoDB beim Systemstart zu aktivieren.

sudo systemctl enable mongod

Der MongoDB-Server ist jetzt konfiguriert und wird ausgeführt, und Sie können den MongoDB-Dienst mit dem Befehlsystemctl verwalten (z. sudo systemctl stop mongod,sudo systemctl start mongod).

[[Schritt 3 - Anpassen der Firewall - optional]] == Schritt 3 - Anpassen der Firewall (optional)

Angenommen, Sie haben die Anweisungen voninitial server setup tutorialbefolgt, um die Firewall auf Ihrem Server zu aktivieren, ist der Zugriff auf den MongoDB-Server über das Internet nicht möglich.

Wenn Sie beabsichtigen, den MongoDB-Server nur lokal mit Anwendungen zu verwenden, die auf demselben Server ausgeführt werden, ist dies eine empfohlene und sichere Einstellung. Wenn Sie jedoch über das Internet eine Verbindung zu Ihrem MongoDB-Server herstellen möchten, müssen wir die eingehenden Verbindungen inufw zulassen.

Um von überall aus auf MongoDB über den Standardport27017 zugreifen zu können, können Siesudo ufw allow 27017 verwenden. Wenn Sie jedoch den Internetzugriff auf den MongoDB-Server in einer Standardinstallation aktivieren, erhalten Sie uneingeschränkten Zugriff auf den gesamten Datenbankserver.

In den meisten Fällen sollte auf MongoDB nur von bestimmten vertrauenswürdigen Speicherorten aus zugegriffen werden, z. B. von einem anderen Server, auf dem sich eine Anwendung befindet. Um diese Aufgabe auszuführen, können Sie den Zugriff auf den Standardport von MongoDB zulassen, während Sie die IP-Adresse eines anderen Servers angeben, der explizit eine Verbindung herstellen darf.

sudo ufw allow from your_other_server_ip/32 to any port 27017

Sie können die Änderung der Firewall-Einstellungen mitufw überprüfen.

sudo ufw status

In der Ausgabe sollte der Datenverkehr zum27017-Port zulässig sein. Wenn Sie entschieden haben, nur eine bestimmte IP-Adresse für die Verbindung zum MongoDB-Server zuzulassen, wird anstelle vonAnywhere die IP-Adresse des zulässigen Speicherorts aufgeführt in der Ausgabe.

Ausgabe

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Erweiterte Firewall-Einstellungen zum Einschränken des Zugriffs auf Dienste werden inUFW Essentials: Common Firewall Rules and Commands beschrieben.

Fazit

Ausführlichere Anweisungen zur Installation und Konfiguration von MongoDB finden Sie inthese DigitalOcean community articles.