Як встановити Monodb на Ubuntu 22.04 - повний покроковий посібник

Короткий зміст статті

Ви хочете дізнатися, як встановити MongoDB на Ubuntu 22.04 VPS або виділеному сервері? Цей посібник допоможе вам крок за кроком пройти процес встановлення MongoDB!

MongoDB користується популярністю серед розробників завдяки своїй гнучкості, масштабованості, продуктивності та надійній екосистемі — важливим характеристикам для створення сучасних додатків. Всього за кілька кроків налаштування ви можете встановити MongoDB на Ubuntu 22.04 LTS, останній версії дистрибутива Ubuntu Linux з довгостроковою підтримкою.

Встановлення та налаштування сервера MongoDB community на Ubuntu 22.04 є простим, але деякі кроки можуть бути складними для початківців. Саме тому ми підготували цей простий посібник. До кінця ви дізнаєтеся, як встановити MongoDB на Ubuntu 22.04 з мінімальними зусиллями.

ПЕРЕДУМОВИ

Перш ніж почати, переконайтеся, що у вас є наступне:

  • На вашому комп'ютері має бути встановлений сервер Ubuntu 22.04.
  • Ви повинні мати права root або sudo для виконання адміністративних команд.
  • Правильно налаштований брандмауер для захисту вашого сервера

ЩО ТАКЕ MONGODB?

MongoDB — це високопродуктивна база даних NoSQL, призначена для зберігання даних на основі документів. Вона є відкритою і доступною за ліцензією GNU Affero General Public License (GPL), що робить її популярним вибором для сучасних веб-додатків.

Створена з такими функціями, як горизонтальне масштабування, географічний розподіл і висока доступність, вона відразу ж після встановлення працює як потужна розподілена база даних. Розроблена на C++, MongoDB зберігає дані у форматі BSON (Binary JSON), що дозволяє створювати гнучкі документи, подібні до JSON.

Гнучка модель документів, динамічні схеми та вбудована масштабованість MongoDB роблять її популярним вибором для гнучкої розробки, оскільки вона накладає менше обмежень на структуру та управління даними. Це означає, що кожен документ може мати різну структуру, а поля можна додавати або змінювати за потреби з часом.

MongoDB надає спеціалізовані пакети тільки для 64-бітних версій Ubuntu з довгостроковою підтримкою (LTS). Підтримувані версії включають Ubuntu 22.04 (Jammy Jellyfish) та 20.04 (Focal Fossa).

ЯКІ Є ВИКОРИСТАННЯ MONGODB У СУЧАСНІЙ РОЗРОБЦІ?

MongoDB ідеально підходить для розробки додатків, включаючи веб- та мобільні додатки, які обробляють великі обсяги швидкозмінних, напівструктурованих або неструктурованих даних. Його гнучка модель даних робить його чудовим вибором для розробників, які хочуть швидко створити масштабовані додатки, здатні управляти великими обсягами обробки даних.

Поточна стабільна версія — MongoDB 7.0, випущена в серпні 2013 року. Ця основна версія підтримує як локальні інсталяції, так і MongoDB Atlas, який є мультихмарною службою баз даних.

MongoDB 7.0 пропонує кілька ключових вдосконалень для поліпшення роботи розробників:

  • Покращена безпека: такі функції, як Queryable Encryption, дозволяють шифрувати дані на стороні клієнта, одночасно забезпечуючи можливість вираження запитів на рандомізовані дані.
  • Покращення продуктивності: нові функції включають індексацію з використанням складних символів-замінників та покращену діагностику шардингу на рівнях метаданих, кластера, бази даних та колекції. Крім того, було оптимізовано роботу з часовими рядами даних та великими наборами даних.
  • Ефективна міграція даних: Функція синхронізації між кластерами забезпечує більшу гнучкість для синхронізації даних між різними кластерами баз даних.
  • Покращений досвід розробника: Покращення включають змінні ролей користувачів, підтримку детальних оновлень та видалень у колекціях часових рядів, покращений час оновлення кешу та багато іншого.

Детальний огляд останніх функцій та вдосконалень у MongoDB 7.0 див. у примітках до випуску.

ЯК ВСТАНОВИТИ MONGODB НА UBUNTU 22.04? (ВСТАНОВЛЕННЯ MONGODB НА UBUNTU)

Щоб дізнатися, як встановити MongoDB на систему Ubuntu 22.04, виконайте наведені нижче кроки.

КРОК 1: ВСТАНОВЛЕННЯ НЕОБХІДНИХ ПАКЕТІВ

Перш ніж розпочати встановлення MongoDB на Ubuntu, спочатку потрібно встановити необхідні залежності або пакети, які потрібні для запуску MongoDB у вашій системі. Ви можете встановити ці пакети за допомогою такої команди:

$ sudo apt update

$ sudo apt install software-properties-common gnupg apt-transport-https ca-certificates -y

КРОК 2: ІМПОРТУЙТЕ ПУБЛІЧНИЙ КЛЮЧ GPG MONGODB

Щоб встановити останню версію MongoDB, спочатку потрібно додати репозиторій пакетів до списку джерел Ubuntu. Перед цим необхідно імпортувати публічний ключ MongoDB у вашу систему за допомогою команди curl або wget:

$ curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

КРОК 3: ДОДАТИ РЕПОЗИТОРІЙ MONGODB ДО СПИСКУ ДЖЕРЕЛ

На цьому кроці ви додасте репозиторій MongoDB 7.0 APT до каталогу /etc/apt/sources.list.d.

$ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Ця команда створює файл списку джерел для MongoDB 7.0 у каталозі /etc/apt/sources.list.d/. Файл містить один рядок із таким текстом:

$ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse"

КРОК 4: ОНОВЛЕННЯ РЕПОЗИТОРІЮ ПАКЕТІВ

На цьому етапі репозиторій MongoDB 7.0 додано. Наступним кроком є оновлення Ubuntu, щоб воно могло розпізнавати пакети з нового репозиторію. Використовуйте наступну команду, щоб оновити список пакетів:

$ sudo apt-get update

Тепер ваша система готова до встановлення MongoDB.

КРОК 5: ВСТАНОВЛЕННЯ MONGODB НА UBUNTU 22.04 (ВСТАНОВЛЕННЯ MONGODB)

Тепер виконайте наступну команду, щоб встановити MongoDB на Ubuntu 22.04 з репозиторію:

$ sudo apt-get install -y mongodb-org

Вищезазначена команда встановлює сервер бази даних MongoDB разом з його основними компонентами, включаючи інструменти оболонки.

КРОК 6: ПЕРЕВІРКА ВЕРСІЇ MONGODB

Після завершення встановлення ви можете перевірити встановлену версію MongoDB:

$ mongo --version

Ця команда надає різні деталі, включаючи версію MongoDB, а також інформацію про версії Git та OpenSSL, серед інших деталей.

УПРАВЛІННЯ СЛУЖБОЮ MONGODB

За замовчуванням служба MongoDB після встановлення вимкнена, що можна перевірити, виконавши таку команду:

$ sudo systemctl status mongod

Щоб запустити службу MongoDB, скористайтеся цією командою:

ЗАПУСТИТИ СЛУЖБУ MONGODB

$ sudo systemctl start mongod

Ви можете перевірити, чи служба знову працює, за допомогою такої команди:

ПЕРЕВІРИТИ СТАТУС СЛУЖБИ MONGODB

$ sudo systemctl status mongod

Якщо все працює правильно, ви побачите, що MongoDB активний. Крім того, ви можете підтвердити, що база даних працює, перевіривши, чи сервер слухає на своєму стандартному порту 27017. Для цього виконайте:

$ sudo ss -pnltu | grep 27017

Ви повинні побачити відповідний вивід у терміналі, що вказує на активні порти для MongoDB.

Після підтвердження, що служба працює належним чином, ви можете увімкнути автоматичний запуск MongoDB під час завантаження за допомогою такої команди:

УВІМКНЕННЯ СЛУЖБИ MONGOD

$ sudo systemctl enable mongod

На цьому етапі MongoDB успішно встановлено та налаштовано для запуску під час завантаження системи.

НАЛАШТУВАННЯ КОРИСТУВАЧІВ/ПАРОЛІВ MONGODB

На цьому етапі ваш екземпляр MongoDB повинен бути запущений і налаштований для віддаленого доступу. Тепер перейдемо до створення бази даних і користувача в MongoDB.

Щоб отримати доступ до MongoDB, виконайте команду:

$ mongosh

Перед входом в оболонку MongoDB ви побачите деякі вступні деталі, включаючи версію MongoDB і URL-адресу документації Mongosh.

Ви також помітите попередження у верхній частині командного рядка оболонки, яке вказує, що контроль доступу ще не ввімкнено. Це попередження означає, що доступ до бази даних та її конфігурації для читання та запису не обмежений. Воно зникне після активації автентифікації.

За замовчуванням під час інсталяції створюється три бази даних: admin, config та local. Щоб переглянути існуючі бази даних, скористайтеся командою:

> show dbs

Щоб створити нову базу даних, скористайтеся командою use, а потім введіть бажану назву бази даних. Наприклад, щоб створити базу даних з назвою employees, виконайте:

> use employees

Щоб підтвердити базу даних, в якій ви зараз перебуваєте, скористайтеся наступною командою, яка поверне employees:

> db

MongoDB пропонує різні методи оболонки для управління базами даних. Ви можете створити нового користувача в базі даних за допомогою методу db.createUser. Для цього потрібно вказати ім'я користувача, пароль та будь-які ролі, які ви хочете призначити користувачеві, представлені у форматі JSON.

Ось як створити користувача з іменем test user з ролями читання та запису в базі даних employee:

db.createUser(

{

user: «test»,

pwd: «some_password»,

roles: [{ role: “readWrite”, db: «employeesdb» }]

}

)

Щоб переглянути список створених користувачів, скористайтеся методом db.getUsers():

db.getUsers();

Крім того, ви можете перевірити користувачів за допомогою:

> show users

Якщо вам потрібно видалити користувача, ви можете зробити це за допомогою методу db.dropUser:

db.dropUser(«test», { w: «majority», wtimeout: 4000 })

ЯК УВІМКНУТИ АВТЕНТИФІКАЦІЮ НА СЕРВЕРІ MONGODB В UBUNTU?

За замовчуванням MongoDB не вмикає автентифікацію, що означає, що будь-хто, хто має доступ до сервера бази даних, може читати, додавати або видаляти дані. Ця відсутність безпеки може становити значний ризик для цілісності ваших даних. У цьому розділі ми розповімо вам про процес забезпечення безпеки MongoDB в Ubuntu 22.04.

СТВОРЕННЯ АДМІНІСТРАТИВНОГО КОРИСТУВАЧА

Почніть з доступу до оболонки MongoDB:

$ mongosh

Далі перейдіть до адміністративної бази даних:

> use admin

Тепер ви можете створити адміністративного користувача, виконавши наступну команду:

db.createUser(

{

user: «AdminTest»,

pwd: passwordPrompt(),

roles: [ { role: «userAdminAnyDatabase», db: «admin» }, “readWriteAnyDatabase” ]

}

)

Розберемо цю команду:

user: «AdminTest»: Ця рядок створює адміністративного користувача з іменем AdminTest.

pwd: passwordPrompt(): Цей метод запитує пароль адміністративного користувача, що є більш безпечним варіантом, ніж безпосереднє введення пароля у вигляді звичайного тексту.

roles: Зазначені ролі надають користувачеві адміністративні дозволи в усьому кластері. У цьому випадку користувачеві надається доступ до адміністративної бази даних для читання та запису, а отже, він може змінювати всі бази даних у кластері.

Після виконання команди ви побачите результат, що підтверджує створення користувача.

Щоб вийти з оболонки MongoDB, скористайтеся командою exit або натисніть CTRL + C.

УВІМКНЕННЯ АВТЕНТИФІКАЦІЇ

Після створення адміністративного користувача наступним кроком є увімкнення автентифікації. Для цього спочатку вийдіть з оболонки MongoDB і відкрийте файл конфігурації:

$ sudo nano /etc/mongod.conf

Знайдіть у файлі розділ security. Видаліть коментар, додайте директиву authorization і встановіть її значення enabled:

security:

authorization: enabled

Переконайтеся, що параметр authorization має правильний відступ, а рядок security не містить пробілів на початку.

Після збереження змін і закриття файлу конфігурації перезапустіть службу MongoDB, щоб застосувати зміни:

$ sudo systemctl restart mongod

Потім переконайтеся, що служба працює правильно:

$ sudo systemctl status mongod

Далі знову увійдіть в оболонку MongoDB:

$ mongosh

Ви повинні помітити, що попередження про запуск були вирішені. Однак, якщо ви спробуєте виконати будь-які команди бази даних, наприклад, перелік баз даних, вам буде запропоновано пройти аутентифікацію:

> show dbs

АУТЕНТИФІКАЦІЯ КОРИСТУВАЧА

Для аутентифікації спочатку вийдіть з оболонки MongoDB за допомогою команди exit. Потім увійдіть знову, використовуючи адміністративного користувача:

$ mongosh -u AdminTest -p --authenticationDatabase admin

Після введення пароля адміністративного користувача попередні попередження про автентифікацію більше не повинні з'являтися.

З цього моменту тільки адміністративний користувач матиме можливість переглядати, створювати та змінювати дані в базі даних. Щоб вийти з оболонки MongoDB, просто запустіть команду exit ще раз. Ось і все!

ЯК НАЛАШТУВАТИ MONGODB ДЛЯ ВІДДАЛЕНОГО ДОСТУПУ?

За замовчуванням MongoDB налаштований на дозвіл лише локального доступу, тобто доступ до нього можливий лише з сервера, на якому він встановлений. Щоб увімкнути віддалений доступ, потрібно змінити файл конфігурації /etc/mongod.conf.

Відкрийте файл конфігурації: За допомогою текстового редактора відкрийте файл конфігурації MongoDB:

sudo nano /etc/mongod.conf

Змініть мережеві інтерфейси: Знайдіть розділ мережевих інтерфейсів, який виглядає так:

# network interfaces

net:

port: 27017

bindIp: 127.0.0.1

За замовчуванням bindIp встановлено на 127.0.0.1, що дозволяє тільки локальні підключення. Щоб дозволити віддалений доступ, додайте IP-адресу вашого сервера MongoDB, розділену комою:

bindIp: 127.0.0.1, mongo-server-ip

Збережіть зміни та перезапустіть: Після внесення цих змін збережіть файл і закрийте редактор. Потім перезапустіть MongoDB, щоб застосувати нові налаштування:

$ sudo systemctl restart mongod

Налаштуйте брандмауер: Якщо UFW увімкнено, дозвольте вхідні з'єднання на порту 27017 з віддаленої машини:

$ sudo ufw allow from remote_machine_ip to any port 27017

Перезавантажте брандмауер, щоб застосувати зміни:

$ sudo ufw reload

ДИСТАНЦІЙНИЙ ДОСТУП ДО MONGODB

Ви можете отримати дистанційний доступ до MongoDB, використовуючи кілька методів:

Використання Netcat: Якщо Netcat не встановлено на клієнтській машині, встановіть його:

sudo apt install netcat

Потім встановіть TCP-з'єднання з сервером MongoDB:

nc -zv mongodb_server_ip 27017

У разі успішного з'єднання з'явиться таке повідомлення:

Connection to mongodb_server_ip 27017 port [tcp/*] succeeded!

Використання Mongo Shell: Ви також можете увійти безпосередньо за допомогою Mongo Shell, виконавши наступну команду:

mongosh «mongodb://username@mongo_server_ip:27017»

Вам буде запропоновано ввести пароль адміністратора.

ЯК ПРАЦЮВАТИ З БАЗОЮ ДАНИХ MONGODB? (ОСНОВНІ ОПЕРАЦІЇ CRUD)

MongoDB дозволяє виконувати різні операції з базою даних, включаючи створення, вилучення, оновлення та видалення записів.

1. ВСТАВЛЕННЯ ДАНИХ У MONGODB

Щоб додати документ до колекції, використовуйте метод .insertOne(). Наприклад, увійдіть у систему та перейдіть до бази даних «employeesdb»:

mongosh -u AdminTest -p --authenticationDatabase admin

use employeesdb

Потім створіть колекцію з назвою office і вставте документ:

db.office.insertOne({ name: «jhon», age: 21, city: «new york», married: true, hobbies: [ “Swimming”, «Cooking»] })

2. ОТРИМАННЯ ДАНИХ З MONGODB

Отримайте документи за допомогою методу .find(). Щоб отримати всі документи в колекції staff:

db.office.find()

Ви можете додати більше документів і відфільтрувати результати. Наприклад, щоб знайти одружених співробітників:

db.office.find({ married: true })

3. ОНОВЛЕННЯ ДАНИХ У БАЗІ ДАНИХ MONGODB

Щоб змінити документ, використовуйте метод .update(). Наприклад, змініть ім'я Боба на Роберта:

db.office.update({ name: «canny» }, { $set: { name: “harry” } })

Перевірте оновлення:

db.office.find({ name: «harry» })

4. ВИДАЛЕННЯ ДАНИХ З MONGODB

Використовуйте .deleteOne(), щоб видалити один запис, бажано використовуючи унікальний _id:

db.office.deleteOne({ _id: ObjectId(«64f7a050a974192c06cdcea0») })

Щоб видалити кілька документів, використовуйте .deleteMany(). Наприклад, щоб видалити всіх одружених співробітників:

db.office.deleteMany({ married: true })

Щоб очистити всі документи з колекції, виконайте:

db.office.deleteMany({})

Після цього запит до колекції не поверне жодних результатів, що вказує на її порожній стан:

db.office.find()

ВИСНОВОК

У цьому підручнику ви успішно додали офіційний репозиторій MongoDB до вашого екземпляра APT і дізналися, як встановити MongoDB на Ubuntu 22.04. Ви також протестували функціональність MongoDB і попрактикувалися у використанні деяких команд systemctl.

Наступним кроком ми настійно рекомендуємо захистити вашу інсталяцію MongoDB, дотримуючись нашого посібника «Як увімкнути безпечну автентифікацію MongoDB в Ubuntu 20.04». Після того, як ви захистили свою конфігурацію, ви можете перейти до налаштування MongoDB для віддалених підключень.

Додаткові посібники з налаштування та використання MongoDB можна знайти в інструкціях з інсталяції MongoDB та статтях спільноти. Ми також рекомендуємо відвідати офіційну документацію MongoDB, яка є чудовим джерелом інформації про можливості MongoDB.

Залиште свої відгуки

Поділіться своїми думками та допоможіть нам покращитися! Ваш відгук важливий для нас.

Завантажте своє фото