GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a zabezpečit MongoDB 4 v CentOS 8

MongoDB je multiplatformní databázový systém NoSQL napsaný v C++. MongoDB se liší od tradičních tabulkových databází SQL, jako je MySQL a PostgreSQL, a je speciálně navržen pro ukládání velkoobjemových dat. MongoDB používá dokumenty podobné JSON s dynamickými schématy a před přidáním dat do databáze nevyžaduje předdefinované schéma. MongoDB je zdarma, open source a přichází s bohatou sadou funkcí včetně úložiště, replikace dat, ad-hoc dotazů, vyvažování zátěže a mnoha dalších.

V tomto tutoriálu vysvětlíme, jak nainstalovat a zabezpečit MongoDB na CentOS 8.

Předpoklady

  • Nový CentOS 8 VPS na cloudové platformě Atlantic.net.
  • Heslo uživatele root nakonfigurované na vašem serveru.

Krok 1 – Vytvoření cloudového serveru Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte CentOS 8 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte k serveru CentOS 8, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

aktualizace dnf -y

Krok 2 – Přidejte úložiště MongoDB

Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/yum.repos.d/mongodb-org.repo

Přidejte následující řádky:

[mongodb-org-4.2]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.2.asc

Po dokončení uložte a zavřete soubor. Dále můžete pokračovat v instalaci MongoDB do vašeho systému.

Krok 3 – Instalace MongoDB

Nyní můžete nainstalovat MongoDB jednoduše spuštěním následujícího příkazu:

dnf install mongodb-org -y

Po dokončení instalace spusťte službu MongoDB a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start mongodsystemctl enable mongod

Nyní můžete zkontrolovat stav služby MongoDB pomocí následujícího příkazu:

systemctl status mongod

Měli byste vidět následující výstup:

● mongod.service – databázový server MongoDB   Načteno:načteno (/usr/lib/systemd/system/mongod.service; povoleno; přednastaveno dodavatelem:zakázáno)   Aktivní:aktivní (běží) od pá 2020-04-10 10:58:18 EDT; Před 7 s     Dokumenty:https://docs.mongodb.org/manual Proces:2904 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Proces:2902 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (kód=ukončeno, stav=0/ÚSPĚCH) Proces:2899 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (kód=ukončeno, stav=0/ÚSPĚCH) Proces :2897 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:2906 (mongod)   Paměť:77,0M   CGroup:/system.slice/mongod.service └─2906 /usr/bin/mongod -f /etc/mongod.confApr 10 10:58:17 centos8 systemd[1]:Spouštění databázového serveru MongoDB... 10. dubna 10:58:17 centos8 mongod[2904]:asi k rozvětvení podřízeného procesu, čeká se, až bude server připraven k připojení. 10. dubna 10:58:17 centos8 mongod[2904]:rozvětvený proces:2906 10. dubna 10:58:18 centos8 mongod[2904]:podřízený proces byl úspěšně zahájen, nadřazený proces ukončen 10. dubna 10:58:18 centos8 systemd[1]:Spuštěn databázový server MongoDB.

Nyní MongoDB běží a naslouchá na portu 27017. Můžete to ověřit pomocí následujícího příkazu:

netstat -pnltu | grep 27017

Měli byste získat následující výstup:

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               POSLECHNOUT      2906/mongod

K prostředí MongoDB můžete také přistupovat pomocí následujícího příkazu:

mongo

Měli byste získat následující výstup:

Verze prostředí MongoDB v4.2.5připojování k:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbImplicitní relace:session { "id" :UUID("b0f7656f-f939-4f50-8497d") }Verze serveru MongoDB:4.2.5Vítejte v prostředí MongoDB. Chcete-li získat interaktivní nápovědu, zadejte „help“. Podrobnější dokumentaci naleznete na adrese            http://docs.mongodb.org/Questions? Vyzkoušejte skupinu podpory            http://groups.google.com/group/mongodb-userServer má varování při spuštění:2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten]2020-04-10T10:50-048. I  CONTROL  [initandlisten] ** VAROVÁNÍ:Řízení přístupu není pro databázi povoleno. 2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] **           Přístup ke čtení a zápisu k datům a konfiguraci je neomezený. 4. 2020 -10T10:58:18.521-0400 I  CONTROL  [initandlisten] 2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] 2020-04-10T10:58:18.521 CONTROL sys/kernel/mm/transparent_hugepage/enabled je 'always'. 0400 I  CONTROL  [initandlisten]---Povolte bezplatnou cloudovou monitorovací službu MongoDB, která pak bude přijímat a zobrazovat metriky o vašem nasazení (vytížení disku, CPU, provozní statistiky atd.). Je k dispozici na webu MongoDB s jedinečnou adresou URL přístupnou vám a komukoli, s kým adresu URL sdílíte. MongoDB může tyto informace použít k vylepšení produktů a k navrhování produktů MongoDB a možností nasazení. Chcete-li povolit bezplatné monitorování, spusťte následující příkaz:db.enableFreeMonitoring()Chcete-li trvale zakázat toto připomenutí, spusťte následující příkaz:db.disableFreeMonitoring() ---

Shell MongoDB můžete ukončit pomocí následujícího příkazu:

>ukončit

Krok 4 – Povolte ověřování MongoDB

nano /etc/mongod.conf

Na konec souboru přidejte následující řádek:

zabezpečení:autorizace:povoleno

Po dokončení uložte a zavřete soubor. Poté restartujte službu MongoDB, aby se změny projevily:

systemctl restart mongod

Krok 5 – Vytvořte uživatele MongoDB Admin

Dále budete muset vytvořit administrativního uživatele se všemi oprávněními k provádění administrativních úloh.

Nejprve otevřete MongoDB shell pomocí následujícího příkazu:

mongo

Měli byste získat následující výstup:

Verze prostředí MongoDB v4.2.5připojování k:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbImplicitní relace:session { "id" :UUID("09e0e028-cd26-4f99d-2927") }Verze serveru MongoDB:4.2.5

Dále změňte databázi na admin pomocí následujícího příkazu:

> použít správce

Dále vytvořte uživatele MongoDB admin s názvem myadmin pomocí následujícího příkazu:

> db.createUser( { user:"myadmin", pwd:"password", role:[ { role:"userAdminAnyDatabase", db:"admin" } ] } )

Jakmile je uživatel vytvořen, měli byste získat následující výstup:

Úspěšně přidán uživatel:{"User":"MyAdmin", "Roles":[{"Role":"UseradMinanyDatabase", "DB":"admin"}]}

Dále ukončete prostředí MongoDB pomocí následujícího příkazu:

>ukončit

Krok 6 – Ověřte MongoDB Authentication

V tomto okamžiku je MongoDB nakonfigurován s ověřováním. Nyní budete muset před interakcí s MongoDB zadat uživatelské jméno a heslo.

Dále připojte MongoDB bez ověřování:

mongo

Měli byste získat následující výstup:

Verze prostředí MongoDB v4.2.5připojující se k:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbImplicitní relace:session { "id" :UUID("fecf1846-13fd-4959-9323da-4959-923da- }Verze serveru MongoDB:4.2.5

Nyní spusťte následující příkaz pro zobrazení seznamu uživatelů MongoDB:

> zobrazit uživatele

Měla by se zobrazit následující chyba:

2020-04-10T11:08:04.598-0400 E  QUERY    [js] nezachycená výjimka:Chyba:příkaz usersInfo vyžaduje ověření :[email protected]/mongo/shell/utils.js:25:13linuxample.online@unix /mongo/shell/db.js:1638:[email protected]/mongo/shell/utils.js:883:[email protected]/mongo/shell/utils.js:790:15@(shellhelp2):1 :1

To ukazuje, že nemůžete uvést uživatele bez ověření.

Nyní ukončete MongoDB pomocí následujícího příkazu:

>ukončit

Krok 7 – Přístup k MongoDB pomocí administrativního uživatele

Nyní se pojďme připojit k MongoDB s administrátorem:

mongo -u myadmin -p --authenticationDatabase admin

Budete požádáni o zadání hesla správce, jak je uvedeno níže:

Verze prostředí MongoDB v4.2.5Zadejte heslo:

Zadejte své heslo správce a stiskněte Enter . Měli byste získat následující výstup:

připojování k:mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodbImplicitní relace:session { "id" :UUID("a39f723c-f1b5-4c93-9e37d6") verze serveru 8e379dff 8e379Dff :4.2.5

Dále změňte databázi na admin a vypište uživatele pomocí následujícího příkazu:

> použít admin> zobrazit uživatele

Měli byste získat následující výstup:

{            "_id" :"admin.myadmin",            "userId" :UUID("bcd920c1-63fd-4b82-a8a6-eb6515d51a34") "  "  "  "   "   "   "   "    "   "    "   :    "   :    "   :     "   :     "   :role ":[{" role ":" userAdMinanyDatabase "," db ":" admin "}]," mechanismy ":[" Scram-Sha-1 "," Scram-Sha-256 "]}  

Nyní ukončete prostředí MongoDB s následujícím výstupem:

> ukončit

Závěr

Ve výše uvedené příručce jsme se naučili, jak nainstalovat MongoDB na CentOS 8. Také jsme ukázali, jak povolit ověřování MongoDB a vytvořit administrativního uživatele. Váš MongoDB na vašem Atlantic.Net VPS je nyní zabezpečen uživatelským jménem a heslem – pokud nemáte VPS od Atlantic.Net, začněte s hostingem VPS ještě dnes a nainstalujte si MongoDB!


Linux
  1. Jak nainstalovat a zabezpečit MongoDB na Debian 11

  2. Jak nainstalovat MongoDB 4.4 / 4.2 na CentOS 7 / RHEL 7

  3. Jak nainstalovat MongoDB na Ubuntu 20.04 a CentOS 8

  1. Jak nainstalovat MongoDB na CentOS 8 / RHEL 8

  2. Jak nainstalovat FlintCMS na CentOS 7

  3. CentOS / RHEL:Jak nainstalovat a nakonfigurovat OpenSSH server a klienta

  1. Jak nainstalovat MongoDB na CentOS 8

  2. Jak nainstalovat mongodb na RHEL 8 / CentOS 8

  3. Jak nainstalovat MongoDB na CentOS 7