Представь, что ты начинаешь новый проект и тебе нужна гибкая, масштабируемая NoSQL база данных. MongoDB — отличный выбор, но первый шаг — правильная установка mongodb. В этой статье я, как опытный DevOps-ментор, разберу процесс установки MongoDB на популярные дистрибутивы Linux, включая Ubuntu и Debian. Мы пройдем путь от добавления официального репозитория до настройки безопасности и первого подключения.
Подготовка к установке MongoDB
Прежде чем начать установку mongodb ubuntu или debian установка mongodb, убедись, что у тебя есть:
- Доступ к серверу с правами sudo/root
- Стабильное интернет-подключение для загрузки пакетов
- Минимум 2 ГБ оперативной памяти (рекомендуется 4+ ГБ)
- 10 ГБ свободного места на диске
Установка MongoDB на Ubuntu
Давай разберем процесс установки mongodb ubuntu шаг за шагом. Этот метод работает для Ubuntu 20.04, 22.04 и более новых версий.
Шаг 1: Импорт GPG-ключа и добавление репозитория
Сначала установим необходимые зависимости и добавим официальный репозиторий MongoDB:
# Обновляем список пакетов
sudo apt update
# Устанавливаем зависимости
sudo apt install -y wget gnupg curl
# Импортируем GPG ключ MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
# Добавляем репозиторий MongoDB для Ubuntu
# Для Ubuntu 22.04 (Jammy):
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# Для Ubuntu 20.04 (Focal):
# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Шаг 2: Установка MongoDB Community Edition
# Обновляем список пакетов с новым репозиторием
sudo apt update
# Устанавливаем MongoDB
sudo apt install -y mongodb-org
# Проверяем установленную версию
mongod --version
Шаг 3: Запуск и настройка сервиса
# Запускаем сервис MongoDB
sudo systemctl start mongod
# Включаем автозапуск при загрузке системы
sudo systemctl enable mongod
# Проверяем статус сервиса
sudo systemctl status mongod
Установка MongoDB на Debian
Теперь рассмотрим процесс установки mongodb debian, включая актуальную версию Debian 12. Процесс похож на Ubuntu, но есть нюансы.
Установка MongoDB на Debian 12 (Bookworm)
Для установки mongodb debian 12 используем следующий подход:
# Устанавливаем зависимости
sudo apt update
sudo apt install -y wget gnupg curl
# Добавляем репозиторий MongoDB для Debian
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# Устанавливаем MongoDB
sudo apt update
sudo apt install -y mongodb-org
# Запускаем и настраиваем сервис
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
Настройка конфигурации MongoDB
Основной конфигурационный файл находится по пути /etc/mongod.conf. Давай рассмотрим ключевые параметры:
# /etc/mongod.conf
# Сетевые настройки
net:
port: 27017
bindIp: 127.0.0.1 # Для доступа извне добавь IP сервера, например: 0.0.0.0
# Настройки хранилища
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# Настройки процесса
processManagement:
fork: false # Для systemd должно быть false
pidFilePath: /var/run/mongodb/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
# Настройки безопасности (раскомментируй после настройки)
#security:
# authorization: enabled
Базовые операции и проверка установки
Подключение к MongoDB и создание пользователя
# Подключаемся к MongoDB shell
mongosh
# В MongoDB shell создаем административного пользователя
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: ["root"]
})
# Создаем пользователя для конкретной базы данных
use mydatabase
db.createUser({
user: "appuser",
pwd: "AppPassword456!",
roles: ["readWrite"]
})
# Выходим из shell
exit
Включение аутентификации
После создания пользователей включи аутентификацию:
# Редактируем конфигурационный файл
sudo nano /etc/mongod.conf
# Находим секцию security и добавляем:
security:
authorization: enabled
# Перезапускаем MongoDB
sudo systemctl restart mongod
# Теперь подключаемся с аутентификацией
mongosh -u admin -p --authenticationDatabase admin
Управление сервисом MongoDB
| Команда | Описание | Когда использовать |
|---|---|---|
sudo systemctl start mongod |
Запуск MongoDB | После установки или перезагрузки |
sudo systemctl stop mongod |
Остановка MongoDB | Перед обновлением или обслуживанием |
sudo systemctl restart mongod |
Перезапуск MongoDB | После изменения конфигурации |
sudo systemctl status mongod |
Проверка статуса | Для диагностики проблем |
sudo journalctl -u mongod -f |
Просмотр логов в реальном времени | Для отладки и мониторинга |
Часто задаваемые вопросы (FAQ)
Где хранятся данные MongoDB после установки?
По умолчанию данные MongoDB хранятся в /var/lib/mongodb. Это можно изменить в конфигурационном файле /etc/mongod.conf в секции storage.dbPath.
Как обновить MongoDB до новой версии?
Обновление зависит от метода установки. При установке через официальный репозиторий: sudo apt update && sudo apt upgrade mongodb-org. Перед обновлением обязательно сделай бэкап данных.
MongoDB не запускается после установки на Debian 12. Что делать?
Проверь: 1) Достаточно ли памяти (минимум 2 ГБ), 2) Не занят ли порт 27017 (sudo lsof -i :27017), 3) Логи MongoDB (sudo journalctl -u mongod), 4) Правильность разрешений на /var/lib/mongodb.
Как настроить удаленный доступ к MongoDB?
В /etc/mongod.conf измени bindIp с 127.0.0.1 на 0.0.0.0 (или конкретный IP), настрой брандмауэр для порта 27017, и обязательно включи аутентификацию.
Заключение
Мы подробно разобрали процесс установки mongodb на различные дистрибутивы Linux. Ключевые моменты: используй официальные репозитории для актуальных версий, настраивай безопасность сразу после установки, и всегда проверяй статус сервиса через systemctl. Помни, что для production-среды необходимы дополнительные настройки: репликация, шифрование, мониторинг и регулярные бэкапы.
Теперь у тебя есть работающая MongoDB готовая для разработки. Следующий шаг — изучение основных операций CRUD, индексов и агрегаций. Удачи в освоении NoSQL!