V tomto článku vám ukážeme, jak nainstalovat MongoDB, spravovat jeho služby a povolit vzdálená připojení na Ubuntu 18.04 VPS.
MongoDB je open-source systém pro správu databází, který patří do rodiny NoSQL. NoSQL se liší od tradičních tabulkových databází SQL (MySQL a PostgreSQL) – data jsou uložena ve flexibilních dokumentech typu JSON bez předem definovaného schématu, což umožňuje provádět velké změny v databázích bez prostojů. Začněme s instalací.
Krok 1:Připojte se k serveru
Než začneme, musíte se připojit k serveru přes SSH jako uživatel root. Chcete-li to provést, použijte následující příkaz:
ssh root@IP_Address -p port_number
Budete muset nahradit IP_Address a port_number vaší skutečnou IP adresou serveru a číslem portu SSH. Pokud nemáte přístup k účtu root, můžete místo něj použít účet s právy sudo.
Po přihlášení se pomocí následujících příkazů ujistěte, že je váš server aktuální:
sudo apt update sudo apt upgrade
Krok 2:Instalace MongoDB
Oficiální repozitáře softwarových balíčků Ubuntu jsou dodávány s verzí 3.6.3 MongoDB, ale v tomto článku nainstalujeme MongoDB 4.0, což je nejnovější dostupná verze. Vždy však můžete zkontrolovat, zda je nová verze MongoDB k dispozici na jejich oficiálních stránkách.
Abychom mohli nainstalovat MongoDB 4.0 Community Edition na Ubuntu, musíme importovat veřejný klíč používaný systémem správy balíčků. Můžeme to udělat pomocí následujícího příkazu:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Protože nyní máme klíč importovaný, můžeme přidat úložiště MongoDB s tímto dalším řádkem:
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Poté aktualizujeme seznam balíčků:
sudo apt update
V tomto okamžiku je úložiště povoleno a seznam balíčků je aktualizován – nyní můžeme pokračovat v instalaci balíčku MongoDB CE zadáním následujícího příkazu:
sudo apt install mongodb-org
Balíčky mongodb-org-server, mongodb-org-mongos, mongodb-org-shell a mongodb-org-tools budou nainstalovány na váš systém jako součást balíčku mongodb-org.
Na serveru je nyní nainstalována MongoDB 4.0 Community Edition. Poté musíme spustit službu MongoDB a povolit její spuštění při spouštění.
sudo systemctl start mongod sudo systemctl enable mongod
Pro ověření instalace MongoDB můžeme zkontrolovat stav připojení zadáním příkazu:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Měli byste mít výstup podobný tomuto:
MongoDB shell version v4.0.6 connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("c806e0e1-ab30-4d41-b882-026c09d2893f") } MongoDB server version: 4.0.6 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Gratulujeme, úspěšně jste nainstalovali MongoDB na svůj server. Dalším krokem bude konfigurace vašeho serveru MongoDB.
Krok 3:Konfigurace MongoDB
Instanci MongoDB můžeme nakonfigurovat úpravou souboru mongod.conf
soubor, který se nachází v /etc/
. K úpravě souboru použijeme Nano, ale pokud chcete, můžete použít preferovaný textový editor.
sudo nano /etc/mongod.conf
Abychom umožnili vzdálená připojení a lépe zabezpečili MongoDB, provedeme některé změny v konfiguračním souboru. MongoDB ve výchozím nastavení naslouchá pouze připojení na portu 27017 na localhost (IP 127.0.0.1). Chcete-li povolit vzdálené připojení MongoDB, musíte do konfiguračního souboru MongoDB přidat IP adresu vašeho serveru. Toto je ukázáno jako příklad níže:
bind_ip = 127.0.0.1, your_server_ip #port = 27017 security: authorization: enabled
Zahrnuli jsme také možnost autorizace, která bude regulovat přístup uživatelů k databázím MongoDB. Pokud není povolena možnost autorizace, bude mít každý uživatel přístup ke všem databázím MongoDB a může provádět jakoukoli akci, což představuje bezpečnostní riziko. Po uložení změn v konfiguračním souboru MongoDB je třeba restartovat službu MongoDB pomocí následujícího příkazu, aby se změny projevily:
sudo systemctl restart mongod
Krok 4:Vytvoření administrativního uživatele MongoDB
Protože jsme nakonfigurovali server MongoDB a povolili možnost ověřování, musíme nyní vytvořit administrativní uživatelský účet MongoDB, který bude použit ke správě instance MongoDB.
Pro přístup k mongo shellu napište:
mongo
Dále použijeme následující příkaz pro připojení k databázi správce:
use admin
Výstup:
switched to db admin
Pro vytvoření nového administrativního uživatele s názvem mongo_admin s rolí userAdminAnyDatabase provedeme následující příkaz:
db.createUser( { user: "mongo_admin", pwd: "Strong_Pas$w0rd", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
A dostaneme to jako výstup:
Successfully added user: { "user" : "mongo_admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Nezapomeňte nahradit „Strong_Pas$w0rd“ skutečným silným heslem. Nyní můžeme opustit mongo shell:
quit()
Krok 5:Ověření přístupu administrátora
Pro potvrzení změn přistoupíme k mongo shellu pomocí uživatele mongo_admin, kterého jsme vytvořili:
mongo -u mongo_admin -p --authenticationDatabase admin use admin show users
A pokud jste dosud provedli všechny kroky, měli byste mít následující výstup:
Výstup:
> use admin switched to db admin > show users { "_id" : "admin.mongo_admin", "user" : "mongo_admin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
Můžete se také pokusit vypsat seznam uživatelů při přístupu k mongo shellu (bez argumentů) a použít stejné příkazy, jaké jsme používali dříve.
Krok 6:Povolte vzdálený přístup MongoDB v bráně firewall
V tomto kroku poskytneme vzdálený přístup k naší MongoDB tím, že jej povolíme v našem firewallu. Pokud na svém serveru nepoužíváte žádnou bránu firewall, můžete tento krok přeskočit. Výchozí port MongoDB je 27017, takže v našich příkladech vám ukážeme, jak povolit tento port přes váš firewall.
Pokud používáte UFW (Uncomplicated Firewall), můžete použít následující tipy, jak umožnit vzdálený přístup MongoDB.
Chcete-li povolit přístup k MongoDB na jeho výchozím portu (27017) odkudkoli, můžete použít následující příkaz:
sudo ufw allow 27017
Chcete-li povolit přístup k MongoDB na jeho výchozím portu 27017 pouze z konkrétní IP adresy, můžete použít příkaz:
sudo ufw allow from allowed_IP_address/32 to any port 27017
Budete muset změnit allow_IP_address na skutečnou IP adresu, kterou chcete používat.
Změnu nastavení brány firewall můžete potvrdit pomocí:
sudo ufw status
Výstup:
Status: active To Action From -- ------ ---- 27017 ALLOW Anywhere OpenSSH ALLOW Anywhere 27017 (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
Krok 7:Připojte se k MongoDB
Nyní, když jsme nainstalovali a nakonfigurovali MongoDB, musíme zmínit několik různých způsobů, jak se k němu připojit. Než se pokusíme o přístup k shellu Mongo, musíme se ujistit, že naše konfigurace MongoDB funguje.
Místní instance MongoDB na výchozím portu
Nejzákladnějším připojením k shellu mongo je pouze spuštění příkazu mongo bez jakýchkoli argumentů:
mongo
Místní instance MongoDB na jiném než výchozím portu
Pokud se chceme připojit k prostředí Mongo na konkrétním portu, můžeme použít:
mongo --port port_number
Stačí nahradit číslo portu skutečným číslem portu.
Instance MongoDB na vzdáleném hostiteli
Pokud se potřebujeme připojit ke vzdálenému hostitelskému počítači pomocí instance MongoDB, můžeme použít následující způsoby:
Můžeme zadat připojovací řetězec.
mongo mongodb://your_domain_name.com:port_number
Můžeme použít volbu příkazového řádku –host
mongo --host your_domain_name.com:port_number
nebo můžeme použít –host
mongo --host your_domain_name.com --port port_number
Instance MongoDB s ověřením
Tyto příklady použijeme, abychom vám ukázali, jak se připojit k instanci MongoDB, která vyžaduje ověření.
V našem připojovacím řetězci můžeme definovat uživatelské jméno, autentizační databázi a číslo portu. Také můžeme definovat heslo (které je volitelné) v našem připojovacím řetězci. Pokud heslo není definováno v našem připojovacím řetězci, shell vás požádá o heslo.
mongo --host mongodb://user@your_domain_name.com:port_number/?authSource=admin
Můžeme použít volby příkazového řádku –username
mongo --username user --password --authenticationDatabase admin --host your_domain_name.com --port port_number
Připojte se k sadě replik MongoDB
V připojovacím řetězci můžeme zadat název sady replik a členy.
mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA
Pokud používáte formát připojení DNS Seedlist, můžete zadat připojovací řetězec:
mongo "mongodb+srv://server.your_domain_name.com/"
Můžeme zadat název sady replik a členy z –host
mongo --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number
Připojení TLS/SSL
V připojovacím řetězci můžeme zadat volbu ssl=true.
mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA&ssl=true
nebo můžeme v příkazovém řádku zadat –ssl a použít předchozí příklad, jak se připojit k sadě replik s názvem replA:
mongo --ssl --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number
Pokud chcete použít výše uvedené příkazy, nezapomeňte nahradit hodnoty jako your_domain_name.com, host_name, user a replA v příkazech skutečnými hodnotami.
Krok 8:Odinstalujte MongoDB
Pokud se vám z nějakého důvodu nelíbí MongoDB a potřebujete jej odstranit ze systému, můžete postupovat podle těchto příkazů:
sudo service mongod stop sudo apt purge mongodb-org* sudo rm -r /var/log/mongodb sudo rm -r /var/lib/mongodb
V tomto článku jsme vám ukázali, jak nainstalovat MongoDB, přizpůsobit firewall, vytvořit administrátora, povolit vzdálený přístup, připojit se k MongoDB a jak MongoDB odinstalovat a odebrat. Nyní můžete tyto znalosti využít a můžete začít s budováním svých projektů v této úžasné aplikaci.
Samozřejmě, pokud jste jedním z našich zákazníků Ubuntu Hosting nebo pokud máte jeden z našich plánů Managed MongoDB Hosting, nemusíte MongoDB instalovat na svůj Ubuntu 18.04 VPS – jednoduše se zeptejte našich administrátorů, posaďte se a relaxujte. Naši administrátoři vám okamžitě nainstalují MongoDB na Ubuntu 18.04.
PS . Pokud se vám líbil tento příspěvek o tom, jak nainstalovat MongoDB na Ubuntu 18.04 VPS , sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte komentář v sekci komentářů. Děkuji.
Nová verze je k dispozici zde:Jak nainstalovat MongoDB na Ubuntu 20.04 a CentOS 8.