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:
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!