
NoSQL-база данных MongoDB может работать с неструктурированными или полуструктурированными данными и, таким образом, может поддерживать различные приложения от малого до корпоративного уровня развертывания. Кроме того, будучи открытым исходным кодом, она легко устанавливается на Alamlinux 9 и такие дистрибутивы, как Rocky Linux, Oracle, Ubuntu, RedHat и т. д.
Почему стоит использовать MongoDB?
MongoDB использует модель данных на основе документов, что отличает ее от других традиционных реляционных баз данных. Вот некоторые из ее полезных особенностей:
- Гибкость схемы
- Горизонтальная масштабируемость
- Высокая доступность
- Обширная экосистема
Чтобы следовать этому руководству, пользователь должен иметь:
- AlmaLinux 9 установлен и обновлен.
- Доступ пользователя Sudo или Root
- Доступ к Интернету для загрузки пакетов MongoDB
Установка сервера MongoDB на AlmaLinux 9
Шаги, описанные в этой статье, не ограничиваются Almalinux, но могут быть использованы и для Rocky Linux, Oracle, RedHat и других систем на базе RPM.
Шаг 1: Добавьте репозиторий MongoDB
Серверный пакет MongoDB не может быть установлен с помощью стандартного репозитория APPstream в Almalinux; следовательно, нам нужно вручную добавить официальный репозиторий MongoDB, предоставленный его разработчиками для дистрибутивов на базе RHEL, таких как AlmaLinux.
Примечание: Во время выполнения этого руководства последней версией MongoDB, поддерживаемой на системах Almalinux или RHEL, была «8.x.» Если в вашем случае это не так или вам нужна какая-то более старая поддерживаемая версия, замените «8.0» значение версии в команде, приведенной в этом шаге, с версией, которую вы хотите установить. НапримерЧтобы установить MongoDB 7.0, замените «8.0» с «7.0» в следующих командах.
Создайте файл репозитория:
sudo nano /etc/yum.repos.d/mongodb-org-8.0.repo
После создания файла репозитория добавьте в него следующее содержимое и сохраните его, нажав кнопку Ctrl + O, Enter и Ctrl + X чтобы выйти из редактора nano; если вы используете этот редактор иначе, действуйте в соответствии с вашим текстовым редактором.
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
Запустите обновление системы: Это перестроит список пакетов репозитория.
sudo dnf update
Шаг 2: Установите MongoDB на Almalinux 9
Чтобы установить MongoDB server community edition на Almalinux, выполните указанную команду, которая также установит другие необходимые инструменты баз данных, связанные с Mongo.
sudo dnf install mongodb-org

Шаг 3: Запуск и включение MongoDB
Выполните приведенные команды, чтобы убедиться, что служба MongoDB включена и работает без ошибок.
sudo systemctl start mongod
sudo systemctl enable mongod
Убедитесь, что служба MongoDB запущена:
sudo systemctl status mongod

Шаг 4: Настройка правил брандмауэра
Если вы используете MongoDB на сервере и другие приложения должны устанавливать соединения и взаимодействовать с базой данных, убедитесь, что брандмауэр разрешает соединения на порту по умолчанию (27017):
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
Шаг 5: Проверка установки
Чтобы убедиться, что MongoDB работает правильно, подключитесь к оболочке MongoDB. Если установка прошла успешно, вы должны увидеть приглашение оболочки MongoDB (>).
mongo
Настройка MongoDB для производства
Привязка MongoDB к определенным IP-адресам
По умолчанию MongoDB привязывается к 127.0.0.1 (localhost). Чтобы разрешить внешние подключения, отредактируйте конфигурационный файл MongoDB:
sudo nano /etc/mongod.conf
Найдите bindIp и обновите его, указав IP-адрес вашего сервера. Замените 192.168.1.100 с фактическим IP-адресом вашего сервера.
net:
bindIp: 127.0.0.1,192.168.1.100
Включить аутентификацию
Для повышения безопасности включите аутентификацию в файле конфигурации:
security:
authorization: enabled
Перезапустите MongoDB, чтобы применить изменения:
sudo systemctl restart mongod
Чтобы дополнительно защитить свою учетную запись, вы можете создать пользователя-администратора с соответствующими привилегиями. После этого вам нужно будет пройти аутентификацию, чтобы получить доступ к оболочке MongoDB.
mongosh
Переключитесь на администратора Базы данных:
user admin
Теперь создайте пользователя:
db.createUser({
user: "admin",
pwd: "strongpassword",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
});
Выход из оболочки:
exit

Деинсталляция MongoDB
Если вам необходимо удалить сервер MongoDB по какой-либо причине, сначала остановите службу MongoDB, затем удалите пакет Database и удалите каталоги данных MongoDB.
Остановите MongoDB:
sudo systemctl stop mongod
Удалите пакеты MongoDB:
sudo dnf remove mongodb-org* -y
Удалите каталоги данных MongoDB:
sudo rm -rf /var/lib/mongo
sudo rm -rf /var/log/mongodb
Заключение
Установить MongoDB на AlmaLinux 9 или любой другой аналогичный Linux относительно просто, однако пользователь должен знать, как использовать базу данных для хранения и получения данных. Пользователи могут следовать следующим инструкциям официальной документации по MongoDB , чтобы изучить ее команды. В остальном, с дополнительными настройками, такими как привязка к определенным IP-адресам и включение аутентификации, MongoDB является отличным сервером баз данных для различных проектов, будь то веб-разработка, аналитика или корпоративные приложения.