Vyhledávání na webu

Jak nainstalovat MongoDB na Ubuntu 18.04


MongoDB je open-source, moderní systém pro správu databází dokumentů navržený pro vysoce výkonnou perzistenci dat, vysokou dostupnost a také automatické škálování, založený na nejmodernější technologii NoSQL. Pod MongoDB je záznam dokument, což je datová struktura, která se skládá z dvojic polí a hodnot (dokumenty MongoDB jsou srovnatelné s objekty JSON).

Protože poskytuje vysoký výkon a skvělé funkce škálovatelnosti, používá se pro vytváření moderních aplikací, které vyžadují výkonné, kritické a vysoce dostupné databáze.

V tomto článku si vysvětlíme, jak nainstalovat MongoDB, spravovat jeho službu a nastavit základní ověřování na Ubuntu 18.04.

Důležité: Měli byste si uvědomit, že vývojáři MongoDB nabízejí pouze balíčky pro 64bitové LTS (dlouhodobá podpora) vydání Ubuntu, jako je 14,04 LTS (důvěryhodný), 16,04 LTS (xenial) a tak dále.

Přečtěte si také: Jak nainstalovat MongoDB na Ubuntu 16.04/14.04 LTS

Krok 1: Instalace MongoDB na Ubuntu 18.04

1. Oficiální repozitáře softwarových balíčků Ubuntu jsou dodávány s nejnovější verzí MongoDB a lze je snadno nainstalovat pomocí správce balíčků APT.

Nejprve aktualizujte mezipaměť balíčků systémového softwaru, aby měla nejnovější verzi výpisů úložiště.

sudo apt update

2. Dále nainstalujte balíček MongoDB, který obsahuje několik dalších balíčků, jako jsou mongo-tools, mongodb-clients, mongodb-server< a mongodb-server-core.

sudo apt install mongodb

3. Jakmile ji úspěšně nainstalujete, služba MongoDB se automaticky spustí přes systemd a proces naslouchá na portu 27017. Jeho stav můžete ověřit pomocí příkazu systemctl, jak je znázorněno na obrázku.

sudo systemctl status mongodb

Krok 2: Správa služby MongoDB

4. Instalace MongoDB přichází jako služba systemd a lze ji snadno spravovat pomocí standardních příkazů systemd, jak je znázorněno na obrázku.

Chcete-li zastavit službu MongoDB, spusťte následující příkaz.

sudo systemctl stop mongodb	

Chcete-li spustit službu MongoDB, zadejte následující příkaz.

sudo systemctl start mongodb

Chcete-li restartovat službu MongoDB, zadejte následující příkaz.

sudo systemctl restart mongodb	

Chcete-li zakázat automaticky spouštěnou službu MongoDB, zadejte následující příkaz.

sudo systemctl disable mongodb	

Chcete-li službu MongoDB znovu povolit, zadejte následující příkaz.

sudo systemctl enable mongodb	

Krok 3: Povolte vzdálený přístup MongoDB na bráně firewall

5. Ve výchozím nastavení MongoDB běží na portu 27017, aby byl umožněn přístup odkudkoli.

sudo ufw allow 27017

Ale povolení přístupu k MongoDB odkudkoli poskytuje neomezený přístup k datům databáze. Je tedy lepší udělit přístup ke konkrétnímu umístění IP adresy výchozímu portu MongoDB pomocí následujícího příkazu.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Ve výchozím nastavení naslouchá port 27017 pouze na místní adrese 127.0.0.1. Chcete-li povolit vzdálená připojení MongoDB, musíte přidat adresu IP vašeho serveru do konfiguračního souboru /etc/mongodb.conf, jak je znázorněno.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Uložte soubor, ukončete editor a restartujte MongoDB.

sudo systemctl restart mongodb

Krok 4: Vytvořte kořenového uživatele databáze MongoDB a heslo

7. Ve výchozím nastavení je MongoDB vybaveno deaktivovanou autentizací uživatele, a proto se spouští bez řízení přístupu. Chcete-li spustit mongo shell, spusťte následující příkaz.

mongo 

8. Jakmile se připojíte k mongo shellu, můžete pomocí následujícího příkazu zobrazit seznam všech dostupných databází.

> show dbs

9. Chcete-li povolit řízení přístupu ve vašem nasazení MongoDB pro vynucení ověřování; vyžaduje, aby se uživatelé při každém připojení k databázovému serveru identifikovali.

MongoDB ve výchozím nastavení používá ověřovací mechanismus Salted Challenge Response Authentication Mechanism (SCRAM). Pomocí SCRAM MongoDB ověřuje dodané přihlašovací údaje uživatele proti jménu, heslu a autentizační databázi uživatele (databáze, ve které byl uživatel vytvořen, a spolu se jménem uživatele slouží k identifikaci uživatele).

V databázi administrátorů musíte vytvořit správce uživatelů (obdobně jako uživatel root pod MySQL/MariaDB). Tento uživatel může spravovat uživatele a role, například vytvářet uživatele, udělovat nebo odebírat role uživatelům a vytvářet nebo upravovat celní role.

Nejprve se přepněte do databáze admin a poté pomocí následujících příkazů vytvořte root user.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Nyní ukončete mongo shell a povolte ověřování, jak je vysvětleno dále.

10. Instance mongodb byla spuštěna bez možnosti příkazového řádku --auth. Musíte povolit autentizaci uživatelů úpravou souboru /lib/systemd/system/mongod.service, nejprve soubor otevřete pro úpravy.

sudo vim /lib/systemd/system/mongodb.service 

V části konfigurace [Service] vyhledejte parametr ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Změňte jej na následující:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Uložte soubor a ukončete jej.

11. 8. Po provedení změn v konfiguračním souboru spusťte „systemctl daemon-reload“, znovu načtěte jednotky a restartujte službu MongoDB a zkontrolujte její stav následovně.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Když se nyní pokusíte připojit k mongodb, musíte se ověřit jako uživatel MongoDB. Například:

mongo -u "root" -p --authenticationDatabase "admin"

Poznámka: Nedoporučuje se zadávat heslo na příkazový řádek, protože bude uloženo v souboru historie shellu a útočník si jej může později prohlédnout.

To je vše! MongoDB je moderní systém správy databází No-SQL s otevřeným zdrojovým kódem, který poskytuje vysoký výkon, vysokou dostupnost a automatické škálování.

V tomto článku jsme vysvětlili, jak nainstalovat a začít s MongoDB v Ubuntu 18.04. Pokud máte nějaké dotazy, kontaktujte nás pomocí níže uvedeného formuláře pro komentáře.