MongoDB je open source, univerzální, na dokumentech založená a distribuovaná databáze určená pro vývojáře moderních aplikací. Říká se jí také databáze NoSQL, protože se nespoléhá na tradiční strukturu relační databáze založené na tabulkách. Ukládá data ve formátu JSON namísto metody stylu tabulky. Lze jej snadno integrovat do různých programovacích jazyků. Používá jej mnoho známých společností včetně Facebooku, Cisco, Forbes, Adobe, Nokia atd.
V tomto příspěvku vám ukážeme, jak nainstalovat a zabezpečit databázi MongoDB NoSQL na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Na serveru je nakonfigurováno heslo uživatele root.
Přidat úložiště MongoDB
Ve výchozím nastavení není balíček MongoDB součástí výchozího úložiště Debian 11. Takže budete muset přidat oficiální úložiště MongoDB do APT.
Nejprve nainstalujte požadované závislosti pomocí následujícího příkazu:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
Jakmile jsou všechny závislosti nainstalovány, stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
Dále přidejte úložiště MongoDB do souboru se seznamem zdrojů APT pomocí příkazu níže:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list
Dále aktualizujte úložiště a nainstalujte server MongoDB pomocí následujícího příkazu:
apt-get update -y
apt-get install mongodb-org -y
Po úspěšné instalaci spusťte službu MongoDB a povolte její spuštění při restartu systému:
systemctl start mongod
systemctl enable mongod
Dále ověřte verzi MongoDB pomocí příkazu níže:
mongod --version
Měli byste získat následující výstup:
db version v4.4.9 Build Info: { "version": "4.4.9", "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481", "openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "debian10", "distarch": "x86_64", "target_arch": "x86_64" } }
Povolit MongoDB Authentication
Ve výchozím nastavení není ověřování v MongoDB povoleno. Z bezpečnostních důvodů se doporučuje povolit ověřování MongoDB.
Chcete-li tak učinit, budete muset vytvořit administrátora pro MongoDB.
Nejprve se připojte k prostředí MongoDB pomocí následujícího příkazu:
mongo
Po připojení vytvořte databázi s názvem admin pomocí následujícího příkazu:
> use admin
Dále vytvořte uživatele admin a nastavte heslo:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Měli byste vidět následující výstup:
Successfully added user: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Poté stiskněte CTRL+D pro ukončení prostředí MongoDB. Poté upravte konfigurační soubor MongoDB pomocí následujícího příkazu:
nano /etc/mongod.conf
Chcete-li povolit ověřování, přidejte následující řádky:
security: authorization: enabled
Uložte a zavřete soubor a poté restartujte službu MongoDB, aby se změny projevily.
systemctl restart mongod
Ověřit připojení MongoDB
V tomto okamžiku je povoleno ověřování MongoDB. Nyní spusťte následující příkaz pro připojení prostředí MongoDB pomocí uživatelského jména a hesla:
mongo -u madmin -p
Po úspěšné autentizaci získáte následující výstup:
MongoDB shell version v4.4.9 Enter password: connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") } MongoDB server version: 4.4.9 >
Dále změňte databázi na admin a vypište všechny uživatele pomocí následujícího příkazu:
> use admin
> show users
Měli byste získat následující výstup:
{ "_id" : "admin.madmin", "userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"), "user" : "madmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
Odinstalujte MongoDB
Pokud MongoDB ve svém systému nepotřebujete, můžete jej ze systému odinstalovat.
Nejprve zastavte službu MongoDB pomocí následujícího příkazu:
systemctl stop mongod
Dále odeberte balíček MongoDB spuštěním následujícího příkazu:
apt-get remove mongodb-org --purge
Dále odstraňte protokoly MongoDB a datové adresáře spuštěním následujícího příkazu:
rm -rf /var/lib/mongodb
Závěr
Gratulujeme! úspěšně jste nainstalovali a zabezpečili MongoDB na Debian 11. Nyní můžete MongoDB používat se svými webovými aplikacemi. Pro více informací navštivte oficiální dokumentaci MongoDB.