One place for hosting & domains

      installieren

      So installieren Sie MongoDB aus den Standard-APT-Repositorys unter Ubuntu 20.04


      Einführung

      MongoDB ist eine kostenlose und Open-Source-NoSQL-Dokumentendatenbank, die häufig in modernen Webanwendungen verwendet wird.

      In diesem Tutorial installieren Sie MongoDB, verwalten den Dienst und aktivieren optional den Fernzugriff.

      Hinweis: Zum jetzigen Zeitpunkt wird in diesem Tutorial die Version 3.6 von MongoDB installiert. Dies ist die Version, die in den Standard-Ubuntu-Repositorys verfügbar ist. Wir empfehlen jedoch generell, stattdessen die neueste Version von MongoDB zu installieren – Version 4.4 zum jetzigen Zeitpunkt. Wenn Sie die neueste Version von MongoDB installieren möchten, empfehlen wir Ihnen, diese Anleitung zur Installation von MongoDB unter Ubuntu 20.04 aus dem Quellcode zu befolgen.

      Voraussetzungen

      Um dieser Anleitung zu folgen, benötigen Sie:

      • Ein Ubuntu 20.04-Server, der gemäß des Leitfadens zur Ersteinrichtung des Servers für Ubuntu 20.04 eingerichtet wurde, einschließlich eines non-root users, der über sudo-Berechtigungen verfügt, und einer mit UFW konfigurierten Firewall.

      Schritt 1 — Installieren von MongoDB

      Zu den offiziellen Paket-Repositorys von Ubuntu gehört MongoDB, was bedeutet, dass wir die erforderlichen Pakete mit apt installieren können. Wie in der Einführung erwähnt, ist die aus den Standard-Repositorys verfügbare Version nicht die neueste. Befolgen Sie stattdessen dieses Tutorial, um die neueste Version von Mongo zu installieren.

      Aktualisieren Sie zunächst die Paketliste, um die neueste Version der Repository-Listen zu erhalten:

      Installieren Sie nun die MongoDB selbst:

      Dieser Befehl fordert Sie auf, zu bestätigen, dass Sie das Paket mongodb und seine Abhängigkeiten installieren möchten. Drücken Sie dazu Y und dann ENTER.

      Der Datenbankserver wird nach der Installation automatisch gestartet.

      Überprüfen wir als Nächstes, ob der Server ausgeführt wird und korrekt funktioniert.

      Schritt 2 — Überprüfen des Dienstes und der Datenbank

      Der Installationsprozess hat MongoDB automatisch gestartet. Überprüfen Sie jedoch, ob der Dienst gestartet wurde und die Datenbank funktioniert.

      Überprüfen Sie als erstes den Status des Dienstes:

      • sudo systemctl status mongodb

      Sie sehen diese Ausgabe:

      Output

      ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago Docs: man:mongod(1) Main PID: 2790 (mongod) Tasks: 23 (limit: 2344) Memory: 42.2M CGroup: /system.slice/mongodb.service └─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      Laut dieser Ausgabe wird der MongoDB-Server ausgeführt.

      Wir können dies weiter überprüfen, indem wir tatsächlich eine Verbindung zum Datenbankserver herstellen und den folgenden Diagnosebefehl ausführen. Dadurch werden die aktuelle Datenbankversion, die Serveradresse und der Port sowie die Ausgabe des Statusbefehls ausgegeben:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Output

      MongoDB shell version v3.6.8 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") } MongoDB server version: 3.6.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Ein Wert von 1 für das ok-Feld in der Antwort gibt an, dass der Server ordnungsgemäß funktioniert:

      Als Nächstes werden wir uns ansehen, wie Sie die Serverinstanz verwalten.

      Schritt 3 — Verwalten des MongoDB-Dienstes

      Der in Schritt 1 beschriebene Installationsprozess konfiguriert MongoDB als systemd-Dienst. Dies bedeutet, dass Sie ihn zusammen mit allen anderen Systemdiensten in Ubuntu mit Standard-systemctl-Befehlen verwalten können.

      Um den Status des Dienstes zu überprüfen, geben Sie Folgendes ein:

      • sudo systemctl status mongodb

      Sie können den Server jederzeit stoppen, indem Sie Folgendes eingeben:

      • sudo systemctl stop mongodb

      Um den Server zu starten, wenn er angehalten wurde, geben Sie Folgendes ein:

      • sudo systemctl start mongodb

      Sie können den Server auch mit dem folgenden Befehl neu starten:

      • sudo systemctl restart mongodb

      Standardmäßig ist MongoDB so konfiguriert, dass es automatisch mit dem Server gestartet wird. Falls Sie den automatischen Start deaktivieren möchten, geben Sie Folgendes ein:

      • sudo systemctl disable mongodb

      Sie können den automatischen Start jederzeit mit dem folgenden Befehl wieder aktivieren:

      • sudo systemctl enable mongodb

      Als nächstes passen wir die Firewall-Einstellungen für unsere MongoDB-Installation an.

      Schritt 4 — Anpassen der Firewall (optional)

      Angenommen, Sie haben die Anweisungen zum ersten Server-Setup-Tutorial befolgt, um die Firewall auf Ihrem Server zu aktivieren, ist der Zugriff auf den MongoDB-Server über das Internet nicht möglich.

      Wenn Sie MongoDB nur lokal mit Anwendungen verwenden möchten, die auf dem gleichen Server ausgeführt werden, ist dies die empfohlene und sichere Einstellung. Wenn Sie jedoch über das Internet eine Verbindung mit Ihrem MongoDB-Server herstellen möchten, müssen Sie die eingehenden Verbindungen durch Hinzufügen einer UFW-Regel zulassen.

      Um von überall aus auf MongoDB über den Standardport 27017 zuzugreifen, können Sie sudo ufw allow 27017 ausführen. Wenn Sie jedoch bei einer Standardinstallation den Internetzugang zum MongoDB-Server aktivieren, kann jeder uneingeschränkt auf den Datenbankserver und seine Daten zugreifen.

      In den meisten Fällen sollte nur von bestimmten vertrauenswürdigen Orten auf MongoDB zugegriffen werden, wie z. B. von einem anderen Server, der eine Anwendung hostet. Um nur einem anderen vertrauenswürdigen Server den Zugriff auf den Standardport von MongoDB zu ermöglichen, können Sie die IP-Adresse des Remote-Servers im Befehl ufw angeben. Auf diese Weise darf nur dieser Computer explizit eine Verbindung herstellen:

      • sudo ufw allow from trusted_server_ip/32 to any port 27017

      Sie können die Änderung der Firewall-Einstellungen mit ufw überprüfen:

      Sie sollten in der Ausgabe den Datenverkehr zu Port 27017 erlauben. Beachten Sie, dass, wenn Sie beschlossen haben, nur eine bestimmte IP-Adresse für die Verbindung zum MongoDB-Server zuzulassen, die IP-Adresse des zulässigen Speicherorts anstelle von Anywhere in der Ausgabe dieses Befehls aufgeführt wird:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 27017 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 27017 (v6) ALLOW Anywhere (v6)

      Weitere erweiterte Firewall-Einstellungen zum Einschränken des Zugriffs auf Dienste finden Sie in UFW-Grundlagen: gebräuchliche Firewall-Regeln und -Befehle.

      Obwohl der Port geöffnet ist, überwacht MongoDB immer noch nur die lokale Adresse 127.0.0.1. Fügen Sie der Datei mongodb.conf die öffentlich routbare IP-Adresse Ihres Servers hinzu, um Remoteverbindungen zuzulassen.

      Öffnen Sie die MongoDB-Konfigurationsdatei in Ihrem bevorzugten Editor. Dieser Beispielbefehl verwendet nano:

      • sudo nano /etc/mongodb.conf

      Fügen Sie die IP-Adresse Ihres MongoDB-Servers zum bindIP-Wert hinzu. Stellen Sie sicher, dass Sie ein Komma zwischen der vorhandenen IP-Adresse und der hinzugefügten Adresse einrichten:

      /etc/mongodb.conf

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Speichern Sie die Datei und beenden Sie den Editor. Wenn Sie nano zum Bearbeiten der Datei verwendet haben, drücken Sie dazu STRG + X, Y und dann ENTER.

      Starten Sie dann den MongoDB-Dienst neu:

      • sudo systemctl restart mongodb

      MongoDB wartet jetzt auf Remoteverbindungen, aber jeder kann darauf zugreifen. Befolgen Sie die Anweisungen zum Sichern von MongoDB unter Ubuntu 20.04, um einen Administrator hinzuzufügen und die Dinge weiter zu sperren.

      Zusammenfassung

      Weitere Anleitungen zum Konfigurieren und Verwenden von MongoDB finden Sie in diesen Community-Artikeln von DigitalOcean. Die offizielle MongoDB-Dokumentation ist auch eine großartige Ressource für die Möglichkeiten, die MongoDB bietet.



      Source link

      Installieren und Konfigurieren von Postfix als Send-Only-SMTP-Server unter Ubuntu 20.04


      Der Autor wählte den Free and Open Source Fund, um eine Spende im Rahmen des Programms Write for DOnations zu erhalten.

      Einführung

      Postfix ist ein Mail Transfer Agent (MTA), eine Anwendung zum Senden und Empfangen von E-Mail. Er kann so konfiguriert werden, dass er sich nur zum Senden von E-Mails durch lokale Anwendungen verwenden lässt. Das ist in Fällen nützlich, in denen Sie regelmäßig E-Mail-Benachrichtigungen von Ihren Anwendungen senden oder über viel ausgehenden Datenverkehr verfügen, den E-Mail-Drittanbieter nicht zulassen. Außerdem handelt es sich dabei um eine schlankere Alternative zur Ausführung eines kompletten SMTP-Servers, die dennoch die erforderliche Funktionalität bietet.

      In diesem Tutorial installieren und konfigurieren Sie Postfix als Send-Only-SMTP-Server. Außerdem werden Sie für Ihre Domäne kostenlose TLS-Zertifikate von Let’s Encrypt anfordern und ausgehende E-Mails damit verschlüsseln.

      Voraussetzungen

      • Ein Ubuntu 20.04-Server, der gemäß Ersteinrichtung eines Servers unter Ubuntu 20.04 eingerichtet wurde, einschließlich eines non-root user mit sudo-Berechtigungen.
      • Einen vollständig registrierten Domänennamen. Dieses Tutorial verwendet in allen Bereichen your_domain. Sie können einen Domänennamen unter Namecheap günstig erwerben oder einen kostenlosen von Freenom herunterladen,. oder einfach die Domänenregistrierngsstelle Ihrer Wahl verwenden.
      • Ein A-DNS-Eintrag mit your-domain, der auf die öffentliche IP-Adresse Ihres Servers verweist. Sie finden in dieser Einführung in DigitalOcean DNS Details dazu, wie Sie sie hinzufügen können.

      Anmerkung: Der Hostname Ihres Servers und der Name Ihres Droplets müssen your_domain entsprechen, da DigitalOcean anhand des Namens automatisch PTR-Einträge für die IP-Adresse des Droplets festlegt.

      Sie können den Hostnamen des Servers überprüfen, indem Sie hostname in der Eingabeaufforderung eingeben. Die Ausgabe sollte mit dem Namen übereinstimmen, den Sie dem Droplet bei der Erstellung gegeben haben.

      Schritt 1 — Installieren von Postfix

      In diesem Schritt installieren Sie Postfix. Die schnellste Methode besteht aus der Installation des Pakets mailutils, in dem Postfix mit einigen zusätzlichen Programmen gebündelt ist, die Sie zum Testversand von E-Mails verwenden werden.

      Aktualisieren Sie zuerst die Paketdatenbank:

      Installieren Sie dann Postfix, indem Sie den folgenden Befehl ausführen:

      • sudo apt install mailutils

      Kurz vor Ende der Installation wird Ihnen das Postfix-Konfigurationsfenster angezeigt:

      Wählen Sie „Internet Site“ (Internetsite) aus dem Menü; drücken Sie zum Auswählen TAB<Ok>und dann ENTER.

      Die Standardoption lautet Internet Site (Internetseite). Das ist die empfohlene Option für Ihren Anwendungsfall. Drücken Sie also TAB und dann ENTER. Wenn Sie nur den Beschreibungstext sehen, drücken Sie TAB, um OK zu wählen, und dann ENTER.

      Wenn die Anzeige nicht automatisch erfolgt, führen Sie zum Starten den folgenden Befehl aus:

      • sudo dpkg-reconfigure postfix

      Danach erhalten Sie eine weitere Konfigurationsaufforderung in Bezug auf den System-E-Mail-Namen:

      Geben Sie Ihren Domänenamen ein und drücken Sie zum Auswählen TAB sowie<Ok>ENTER.

      Der System-E-Mail-Name muss gleich sein wie der Name, den Sie bei der Erstellung Ihres Servers zugewiesen haben. Wenn Sie damit fertig sind, drücken Sie TAB, gefolgt von ENTER.

      Sie haben Postfix jetzt installiert und können mit der Konfiguration beginnen.

      Schritt 2 — Konfigurieren von Postfix

      In diesem Schritt konfigurieren Sie Postfix so, dass E-Mails nur von dem Server gesendet und empfangen werden, auf dem Postfix ausgeführt wird – d. h. von localhost.

      Dazu muss Postfix so konfiguriert werden, dass nur an der Loopback-Schnittstelle gelauscht wird; das ist die virtuelle Netzwerkschnittstelle, die der Server zur internen Kommunikation verwendet. Um die Änderungen vorzunehmen, müssen Sie die Hauptkonfigurationsdatei von Postfix namens main.cf bearbeiten, die unter etc/postfix gespeichert ist.

      Öffnen Sie sie zum Bearbeiten in Ihrem bevorzugten Texteditor:

      • sudo nano /etc/postfix/main.cf

      Suchen Sie nach den folgenden Zeilen:

      /etc/postfix/main.cf

      . . .
      mailbox_size_limit = 0
      recipient_delimiter = +
      inet_interfaces = all
      . . .
      

      Setzen Sie den Wert von inet_interfaces auf loopback-only:

      /etc/postfix/main.cf

      . . .
      mailbox_size_limit = 0
      recipient_delimiter = +
      inet_interfaces = loopback-only
      . . .
      

      Eine weitere Anweisung, die Sie ändern müssen, ist mydestination; sie gibt die Liste der Domänen an, die über den Mail Delivery Transport local_transport bereitgestellt werden. Standardmäßig sehen die Werte etwa wie folgt aus:

      /etc/postfix/main.cf

      . . .
      mydestination = $myhostname, your_domain, localhost.com, , localhost
      . . .
      

      Ändern Sie die Zeile, damit sie wie folgt aussieht:

      /etc/postfix/main.cf

      . . .
      mydestination = localhost.$mydomain, localhost, $myhostname
      . . .
      

      Wenn Ihre Domäne in Wahrheit eine Subdomäne ist und Sie möchten, dass E-Mail-Nachrichten aussehen, als wären sie von der Hauptdomäne gesendet worden, können Sie am Ende von main.cf die folgende Zeile hinzufügen:

      /etc/postfix/main.cf

      ...
      masquerade_domains = your_main_domain
      

      Die optionale Einstellung masquerade_domains gibt an, bei welchen Domänen der Subdomänenteil in der E-Mail-Adresse entfernt wird.

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Anmerkung: Wenn Sie mehrere Domänen auf einem Server hosten, können die anderen Domänen mit der Anweisung mydestination ebenfalls an Postfix übergeben werden.

      Starten Sie dann Postfix neu, indem Sie den folgenden Befehl ausführen:

      • sudo systemctl restart postfix

      Sie haben Postfix so konfiguriert, dass von Ihrem Server nur E-Mails gesendet werden. Sie werden dies nun testen, indem Sie eine Beispielnachricht an eine E-Mail-Adresse senden.

      Schritt 3 — Testen des SMTP-Servers

      Im diesem Schritt testen Sie, ob Postfix E-Mails mit dem Befehl mail an ein externes E-Mail-Konto senden kann. Dieser Befehl ist Teil des Pakets mailutils, das Sie im ersten Schritt installiert haben.

      Um eine Test-E-Mail zu senden, führen Sie den folgenden Befehl aus:

      • echo "This is the body of the email" | mail -s "This is the subject line" your_email_address

      Sie können den Text und den Betreff der E-Mail nach Ihren Wünschen ändern. Denken Sie daran, your_email_address durch eine gültige E-Mail-Adresse zu ersetzen, auf die Sie zugreifen können.

      Überprüfen Sie nun die E-Mail-Adresse, an die Sie diese Nachricht gesendet haben. Sie sollten die Nachricht in Ihrem Posteingang sehen. Wenn Sie sie dort nicht finden können, sehen Sie in Ihrem Spam-Ordner nach. Bislang sind alle von Ihnen gesendeten E-Mails unverschlüsselt, weswegen Dienstanbieter denken, dass es wahrscheinlich Spam-Nachrichten sind. Im Schritt 5 richten Sie die Verschlüsselung ein.

      Wenn Sie einen Fehler vom Befehl mail erhalten oder auch nach längerer Zeit keine Nachricht empfangen haben, dann vergewissern Sie sich, dass die von Ihnen bearbeitete Postfix-Konfiguration gültig ist und der Name sowie Hostname Ihres Servers auf Ihre Domäne festgelegt sind.

      Achten Sie darauf, dass bei dieser Konfiguration die Adresse im Feld From für die von Ihnen gesendeten Test-E-Mails in Format your_user_name@your_domain vorliegt, wobei your_user_name der Benutzername des Serverbenutzers ist, als der Sie den Befehl ausgeführt haben.

      Sie haben nun eine E-Mail von Ihrem Server gesendet und überprüft, ob sie erfolgreich empfangen wurde. Im nächsten Schritt richten Sie die E-Mail-Weiterleitung für root ein.

      Schritt 4 — Weiterleitung von System-E-Mail

      Im diesem Schritt richten Sie eine E-Mail-Weiterleitung für den Benutzer root ein, damit systemgenerierte Nachrichten, die auf Ihrem Server an ihn gesendet werden, an eine externe E-Mail-Adresse weitergeleitet werden.

      Die Datei /etc/aliases enthält eine Liste von alternativen Namen für E-Mail-Empfänger. Öffnen Sie sie zum Bearbeiten:

      Im Standardzustand sieht sie wie folgt aus:

      /etc/aliases

      # See man 5 aliases for format
      postmaster:    root
      

      Die einzige vorhandene Anweisung gibt an, dass systemgenerierte E-Mails an root gesendet werden.

      Fügen Sie am Ende der Datei die folgende Zeile hinzu:

      /etc/aliases

      ...
      root:          your_email_address
      

      Mit dieser Zeile geben Sie an, dass an root gesendete E-Mails an eine E-Mail-Adresse weitergeleitet werden. Denken Sie daran, your_email_address durch Ihre persönliche E-Mail-Adresse zu ersetzen. Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Um die Änderung anzuwenden, führen Sie den folgenden Befehl aus:

      Durch Ausführung von newaliases wird eine Datenbank mit Aliassen erstellt, die der Befehl mail verwendet. Die Aliasse werden aus der Konfigurationsdatei übernommen, die Sie gerade bearbeitet haben.

      Testen Sie, ob E-Mails an root gesendet werden, indem Sie Folgendes ausführen:

      • echo "This is the body of the email" | mail -s "This is the subject line" root

      Sie sollten die E-Mail unter Ihrer E-Mail-Adresse erhalten. Wenn Sie sie dort nicht finden können, sehen Sie in Ihrem Spam-Ordner nach.

      In diesem Schritt haben Sie eine Weiterleitung systemgenerierter Nachrichten an Ihre E-Mail-Adresse eingerichtet. Sie aktivieren jetzt die Nachrichtenverschlüsselung, damit alle E-Mails, die Ihr Server versendet, sicher vor Manipulation bei der Übertragung sind und als legitimer betrachtet werden.

      Schritt 5 — Aktivieren von SMTP-Verschlüsselung

      Sie aktivieren jetzt SMTP-Verschlüsselung, indem Sie für Ihre Domäne ein kostenloses TLS-Zertifikat von Let’s Encrypt anfordern (mit Certbot) und Postfix so konfigurieren, dass das Zertifikat zum Senden von Nachrichten verwendet wird.

      Ubuntu enthält Certbot in seinen standardmäßigen Paket-Repositorys, sodass Sie für dessen Installation den folgenden Befehl ausführen können:

      Wenn Sie zur Bestätigung aufgefordert werden, geben Sie J ein und drücken Sie die Eingabetaste.

      Im Rahmen der Ersteinrichtung des Servers in den Voraussetzungen haben Sie ufw, die unkomplizierte Firewall, installiert. Sie müssen sie so konfigurieren, dass der HTTP-Port 80 zugelassen wird, damit die Verifizierung der Domäne abgeschlossen werden kann. Führen Sie den folgenden Befehl aus, um ihn zu aktivieren:

      Die Ausgabe sieht in etwa folgendermaßen aus:

      Output

      Rule added Rule added (v6)

      Nachdem der Port nun geöffnet ist, führen Sie Certbot aus, um ein Zertifikat zu erhalten:

      • sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain

      Dieser Befehl weist Certbot dazu an, Zertifikate mit einer RSA-Schlüsselgröße von 4096 Bits auszugeben, einen temporären Standalone-Webserver (--standalone) zur Verifizierung auszuführen und die Prüfung über Port 80 (--preferred-challenges http) vorzunehmen. Denken Sie daran, your_domain durch Ihre Domäne zu ersetzen, bevor Sie den Befehl ausführen, und geben Sie bei Aufforderung Ihre E-Mail-Adresse ein.

      Die Ausgabe sieht ungefähr wie folgt aus:

      Output

      Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for `your_domain` Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

      Wie in den Anmerkungen erwähnt, wurden Ihr Zertifikat und Ihre private Schlüsseldatei unter /etc/letsencrypt/live/your_domain gespeichert.

      Nachdem Sie über das Zertifikat verfügen, öffnen Sie nun main.cf zum Bearbeiten:

      • sudo nano /etc/postfix/main.cf

      Suchen Sie nach dem folgenden Abschnitt:

      /etc/postfix/main.cf

      # TLS parameters
      smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
      smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
      smtpd_tls_security_level=may
      
      smtp_tls_CApath=/etc/ssl/certs
      smtp_tls_security_level=may
      smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
      

      Ändern Sie ihn, damit er wie folgt aussieht, wobei Sie your_domain ggf. durch Ihre Domäne ersetzen. Dadurch werden Ihre TLS-Einstellungen für Postfix aktualisiert:

      /etc/postfix/main.cf

      # TLS parameters
      smtpd_tls_cert_file=/etc/letsencrypt/live/your_domain/fullchain.pem
      smtpd_tls_key_file=/etc/letsencrypt/live/your_domain/privkey.pem
      smtpd_tls_security_level=may
      
      smtp_tls_CApath=/etc/ssl/certs
      smtp_tls_security_level=may
      smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
      

      Wenn Sie damit fertig sind, speichern und schließen Sie die Datei.

      Wenden Sie die Änderungen durch Neustart von Postfix an:

      • sudo systemctl restart postfix

      Versuchen Sie nun, erneut eine E-Mail zu senden:

      • echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address

      Überprüfen Sie dann die von Ihnen angegebene E-Mail-Adresse. Es ist möglich, dass Sie die Nachricht sofort in Ihrem Posteingang sehen, da E-Mail-Anbieter verschlüsselte Nachrichten deutlich seltener als Spam markieren.

      Sie können die technischen Informationen über die E-Mail-Nachricht in Ihrem Client prüfen, um zu sehen, ob die Nachricht tatsächlich verschlüsselt wurde.

      Zusammenfassung

      Sie verfügen nun über einen Send-Only-E-Mail-Server, der von Postfix bereitgestellt wird. Das Verschlüsseln aller ausgehenden Nachrichten ist ein guter erster Schritt, damit E-Mail-Anbieter Ihre Nachrichten nicht von vornherein als Spam markieren. Wenn Sie das in einem Entwicklungsszenario tun, sollte diese Maßnahme ausreichen.

      Wenn Ihr Anwendungsfall jedoch darin besteht, E-Mails an potenzielle Websitebenutzer zu senden (wie Bestätigungs-E-Mails für die Anmeldung bei einem Nachrichtenforum), sollten Sie sich mit der Einrichtung von SPF-Einträgen befassen, damit E-Mails Ihres Servers mit noch höherer Wahrscheinlichkeit als legitim gelten.



      Source link

      Installieren von MongoDB unter Ubuntu 20.04


      Eine frühere Version dieser Anleitung wurde von Melissa Anderson verfasst.

      Einführung

      MongoDB, auch als Mongo bekannt, ist eine Open-Source-Dokumentendatenbank, die in vielen modernen Webanwendungen verwendet wird. Sie ist als NoSQL-Datenbank klassifiziert, weil sie sich nicht auf eine traditionelle tabellenbasierte relationale Datenbankstruktur stützt.

      Stattdessen verwendet sie JSON-ähnliche Dokumente mit dynamischen Schemas. Das bedeutet, dass MongoDB im Gegensatz zu relationalen Datenbanken kein vordefiniertes Schema benötigt, bevor Sie einer Datenbank Daten hinzufügen. Sie können das Schema jederzeit und so oft wie nötig verändern, ohne eine neue Datenbank mit einem aktualisierten Schema einrichten zu müssen.

      In dieser Anleitung installieren Sie MongoDB auf einem Ubuntu 20.04-Server, testen die Datenbank und erfahren, wie Sie sie als systemd-Dienst verwalten können.

      Voraussetzungen

      Um dieser Anleitung zu folgen, benötigen Sie:

      Schritt 1 — Installieren von MongoDB

      Die offiziellen Paket-Repositorys von Ubuntu enthalten eine stabile Version von MongoDB. Zum Zeitpunkt des Schreibens dieser Anleitung ist die aus den Standard-Ubuntu-Repositorys verfügbare Version von MongoDB 3.6 und die neueste stabile Version 4.4.

      Um die aktuellste Version dieser Software zu erhalten, müssen Sie das dedizierte Paket-Repository von MongoDB in Ihre APT-Quellen einfügen. Dann können Sie mongodb-org installieren, ein Meta-Paket, das immer auf die neueste Version von MongoDB verweist.

      Importieren Sie zunächst den öffentlichen GPG-Schlüssel für die neueste stabile Version von MongoDB. Sie können die entsprechende Schlüsseldatei finden, indem Sie zum MongoDB-Schlüsselserver navigieren und die Datei finden, die die neueste stabile Versionsnummer enthält und in .asc endet. Wenn Sie beispielsweise Version 4.4 von MongoDB installieren möchten, suchen Sie nach der Datei namens server-4.4.asc.

      Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Linkadresse kopieren. Fügen Sie dann diesen Link in den folgenden curl-Befehl ein, indem Sie die hervorgehobene URL ersetzen:

      • curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

      cURL ist ein in vielen Betriebssystemen verfügbares Befehlszeilentool, das zur Datenübertragung verwendet wird. Es liest alle Daten, die unter der übermittelten URL gespeichert sind, und gibt den Inhalt an die Ausgabe des Systems aus. Im folgenden Beispiel gibt cURL den Inhalt der GPG-Schlüsseldatei aus und leitet ihn dann in den folgenden sudo apt-key add --Befehl. Dadurch wird der GPG-Schlüssel Ihrer Liste vertrauenswürdiger Schlüssel hinzugefügt.

      Beachten Sie auch, dass dieser curl-Befehl die Optionen -fsSL enthält, die zusammen cURL im Wesentlichen anweisen, ohne Fehlermeldung fehlzuschlagen. Das bedeutet: Wenn cURL aus irgendeinem Grund nicht in der Lage ist, den GPG-Server zu kontaktieren, oder der GPG-Server nicht ausgeführt wird, wird der resultierende Fehlercode nicht versehentlich Ihrer Liste vertrauenswürdiger Schlüssel hinzugefügt.

      Wenn der Schlüssel erfolgreich hinzugefügt wurde, gibt dieser Befehl OK aus:

      Output

      OK

      Wenn Sie nochmals überprüfen möchten, ob der Schlüssel korrekt hinzugefügt wurde, können Sie dies mit dem folgenden Befehl tun:

      Dadurch wird der MongoDB-Schlüssel an irgendeiner Stelle in der Ausgabe ausgegeben:

      Output

      /etc/apt/trusted.gpg -------------------- pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26] 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5 uid [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com> . . .

      Zu diesem Zeitpunkt weiß Ihre APT-Installation immer noch nicht, wo das mongodb-org-Paket zu finden ist, das Sie benötigen, um die neueste Version von MongoDB zu installieren.

      Es gibt zwei Orte auf Ihrem Server, an denen APT nach Online-Quellen von Paketen zum Herunterladen und Installieren sucht: die Datei sources.list und das Verzeichnis sources.list.d. sources.list ist eine Datei, die aktive Quellen von APT-Daten auflistet, wobei eine Quelle pro Zeile und die bevorzugten Quellen als Erstes aufgeführt werden. Das Verzeichnis sources.list.d ermöglicht Ihnen, solche sources.list-Einträge als separate Dateien hinzuzufügen.

      Führen Sie den folgenden Befehl aus, der eine Datei im Verzeichnis sources.list.d namens mongodb-org-4.4.list erstellt. Diese Datei enthält nur die einzelne folgende Zeile: deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse:

      • echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

      Diese einzelne Zeile teilt APT alle nötigen Informationen bezüglich der Quelle mit und wo diese zu finden ist:

      • deb: Bedeutet, dass der Quelleintrag auf eine regelmäßige Debian-Architektur verweist. In anderen Fällen kann dieser Teil der Zeile deb-src heißen, was bedeutet, dass der Quelleintrag den Quellcode einer Debian-Distribution repräsentiert.
      • [ arch=amd64,arm64 ]: Gibt an, auf welche Architekturen die APT-Daten heruntergeladen werden sollen. In diesem Fall werden die Architekturen amd64 und arm64 spezifiziert.
      • https://repo.mongodb.org/apt/ubuntu: Ein URI, der den Speicherort angibt, an dem die APT-Daten gefunden werden können. In diesem Fall verweist der URI auf die HTTPS-Adresse, unter der sich das offizielle MongoDB-Repository befindet.
      • focal/mongodb-org/4.4: Ubuntu-Repositorys können mehrere verschiedene Versionen enthalten. Hier wird angegeben, dass Sie nur Version 4.4 des mongodb-org-Paktes verwenden möchten, das für die focal-Version von Ubuntu verfügbar ist („Focal Fossa“ ist der Codename von Ubuntu 20.04).
      • multiverse: Dieser Teil verweist APT auf eines der vier wichtigsten Ubuntu-Repositorys. In diesem Fall verweist er auf das multiverse-Repository.

      Aktualisieren Sie nach Ausführung dieses Befehls den lokalen Paketindex Ihres Servers, damit APT weiß, wo das mongodb-org-Paket zu finden ist:

      Danach können Sie MongoDB installieren:

      • sudo apt install mongodb-org

      Wenn Sie dazu aufgefordert werden, drücken Sie Y und dann ENTER, um zu bestätigen, dass Sie das Paket installieren möchten.

      Nach Beendigung des Befehls wird MongoDB auf Ihrem System installiert. Allerdings ist die Datenbank noch nicht einsatzbereit. Als Nächstes starten Sie MongoDB und bestätigen, dass sie korrekt funktioniert.

      Schritt 2 — Starten des MongoDB-Dienstes und Testen der Datenbank

      Der im vorherigen Schritt beschriebene Installationsprozess konfiguriert MongoDB automatisch so, dass die Datenbank als ein von systemd gesteuerter Daemon ausführt wird. Das bedeutet, dass Sie MongoDB mit den verschiedenen systemctl-Befehlen verwalten können. Dieser Installationsprozess startet den Dienst jedoch nicht automatisch.

      Führen Sie den folgenden systemctl-Befehl aus, um den MongoDB-Dienst zu starten:

      • sudo systemctl start mongod.service

      Überprüfen Sie dann den Status des Dienstes. Beachten Sie, dass dieser Befehl .service nicht in die Definition der Dienstdatei einschließt. systemctl hängt dieses Suffix an jedes beliebige Argument an, das Sie automatisch übergeben, wenn es nicht bereits vorhanden ist. Daher ist die Einfügung nicht erforderlich:

      • sudo systemctl status mongod

      Dieser Befehl gibt eine Ausgabe wie die folgende aus. Sie zeigt an, dass der Dienst funktioniert und ausgeführt wird:

      Output

      ● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago Docs: https://docs.mongodb.org/manual Main PID: 37128 (mongod) Memory: 64.8M CGroup: /system.slice/mongod.service └─37128 /usr/bin/mongod --config /etc/mongod.conf

      Nachdem Sie bestätigt haben, dass der Dienst wie erwartet ausgeführt wird, befähigen Sie den MongoDB-Dienst, beim Booten zu starten:

      • sudo systemctl enable mongod

      Sie können außerdem überprüfen, ob die Datenbank funktioniert, indem Sie den Datenbankserver verbinden und einen Diagnosebefehl ausführen. Der folgende Befehl stellt die Verbindung mit der Datenbank her und gibt ihre aktuelle Version, die Serveradresse und den Port aus. Außerdem wird das Ergebnis des internen connectionStatus-Befehls von MongoDB ausgegeben:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      connectionStatus prüft den Status der Datenbankverbindung und gibt diesen aus. Ein Wert von 1 für das ok-Feld in der Antwort gibt an, dass der Server wie erwartet funktioniert:

      Output

      MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Beachten Sie außerdem, dass die Datenbank auf Port 27017 unter 127.0.0.1 ausgeführt wird, die lokale Loopback-Adresse, die localhost repräsentiert. Das ist die Standardportnummer von MongoDB.

      Als Nächstes sehen wir uns an, wie die MongoDB-Serverinstanz mit systemd verwaltet wird.

      Schritt 3 — Verwalten des MongoDB-Dienstes

      Wie zuvor erwähnt, konfiguriert der in Schritt 1 beschriebene Installationsprozess MongoDB, um als systemd-Dienst ausgeführt zu werden. Das bedeutet, dass Sie die Datenbank so wie andere Ubuntu-Systemdienste mit standardmäßigen systemctl-Befehlen verwalten können.

      Wie zuvor erwähnt, prüft der systemctl status-Befehl den Status des MongoDB-Dienstes:

      • sudo systemctl status mongod

      Sie können den Dienst jederzeit anhalten, indem Sie Folgendes eingeben:

      • sudo systemctl stop mongod

      Um den Dienst zu starten, wenn er angehalten wurde, führen Sie Folgendes aus:

      • sudo systemctl start mongod

      Sie können den Server auch neu starten, wenn er bereits ausgeführt wird:

      • sudo systemctl restart mongod

      In Schritt 2 haben Sie MongoDB befähigt, automatisch mit dem Server zu starten. Falls Sie den automatischen Start einmal deaktivieren möchten, geben Sie Folgendes ein:

      • sudo systemctl disable mongod

      Um MongoDB erneut zu befähigen, beim Booten zu starten, führen Sie den enable-Befehl erneut aus:

      • sudo systemctl enable mongod

      Weitere Informationen zum Verwalten von systemd-Diensten finden Sie unter Systemd-Grundlagen: Arbeiten mit Diensten, Einheiten und dem Journal.

      Zusammenfassung

      In dieser Anleitung haben Sie Ihrer APT-Instanz das offizielle MongoDB-Repository hinzugefügt und die neueste Version von MongoDB installiert. Anschließend haben Sie die Funktionalität von Mongo getestet und einige systemctl-Befehle ausprobiert.

      Als allernächsten Schritt empfehlen wir Ihnen dringend, die Sicherheit Ihrer MongoDB-Installation zu erhöhen, indem Sie unserem Leitfaden zum Sichern von MongoDB unter Ubuntu 20.04 folgen. Nach der Sicherung können Sie MongoDB so konfigurieren, dass Remoteverbindungen akzeptiert werden.

      Weitere Anleitungen zum Konfigurieren und Verwenden von MongoDB finden Sie in diesen Community-Artikeln von DigitalOcean. Außerdem empfehlen wir Ihnen die offizielle Dokumentation von MongoDB. Sie ist eine fantastische Quelle an Möglichkeiten, die MongoDB bietet.



      Source link