Как установить и защитить MongoDB в Debian 11
На этой странице
- Предпосылки
- Добавить репозиторий MongoDB
- Включить аутентификацию MongoDB
- Проверка подключения к MongoDB
- Удалить MongoDB
- Заключение
MongoDB — это универсальная, основанная на документах и распределенная база данных с открытым исходным кодом, предназначенная для современных разработчиков приложений. Ее также называют базой данных NoSQL, поскольку она не опирается на традиционную табличную структуру реляционной базы данных. Он хранит данные в формате JSON вместо метода табличного стиля. Его можно легко интегрировать с различными языками программирования. Он используется многими известными компаниями, включая Facebook, Cisco, Forbes, Adobe, Nokia и т. д.
В этом посте мы покажем вам, как установить и защитить базу данных MongoDB NoSQL в Debian 11.
Предпосылки
- Сервер под управлением Debian 11.
- На сервере настроен пароль root.
Добавить репозиторий MongoDB
По умолчанию пакет MongoDB не включен в стандартный репозиторий Debian 11. Поэтому вам нужно будет добавить официальный репозиторий MongoDB в APT.
Сначала установите необходимые зависимости с помощью следующей команды:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
После установки всех зависимостей загрузите и добавьте ключ GPG с помощью следующей команды:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
Затем добавьте репозиторий MongoDB в файл списка источников APT, используя команду ниже:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list
Затем обновите репозиторий и установите сервер MongoDB с помощью следующей команды:
apt-get update -y
apt-get install mongodb-org -y
После успешной установки запустите службу MongoDB и включите ее запуск при перезагрузке системы:
systemctl start mongod
systemctl enable mongod
Затем проверьте версию MongoDB с помощью следующей команды:
mongod --version
Вы должны получить следующий результат:
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" } }
Включить аутентификацию MongoDB
По умолчанию аутентификация в MongoDB не включена. В целях безопасности рекомендуется включить аутентификацию MongoDB.
Для этого вам нужно будет создать пользователя-администратора для MongoDB.
Сначала подключитесь к оболочке MongoDB с помощью следующей команды:
mongo
После подключения создайте базу данных с именем admin с помощью следующей команды:
> use admin
Затем создайте пользователя с правами администратора и установите пароль:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Вы должны увидеть следующий вывод:
Successfully added user: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Затем нажмите CTRL+D, чтобы выйти из оболочки MongoDB. Затем отредактируйте файл конфигурации MongoDB с помощью следующей команды:
nano /etc/mongod.conf
Добавьте следующие строки, чтобы включить аутентификацию:
security: authorization: enabled
Сохраните и закройте файл, затем перезапустите службу MongoDB, чтобы применить изменения.
systemctl restart mongod
Проверьте соединение с MongoDB
На этом этапе аутентификация MongoDB включена. Теперь выполните следующую команду, чтобы подключить оболочку MongoDB, используя имя пользователя и пароль:
mongo -u madmin -p
После успешной аутентификации вы получите следующий вывод:
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 >
Затем измените базу данных на admin и перечислите всех пользователей, используя следующую команду:
> use admin
> show users
Вы должны получить следующий результат:
{ "_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" ] }
Удалить MongoDB
Если вам не нужна MongoDB в вашей системе, вы можете удалить ее из своей системы.
Сначала остановите службу MongoDB с помощью следующей команды:
systemctl stop mongod
Затем удалите пакет MongoDB, выполнив следующую команду:
apt-get remove mongodb-org --purge
Затем удалите журналы и каталоги данных MongoDB, выполнив следующую команду:
rm -rf /var/lib/mongodb
Заключение
Поздравляем! вы успешно установили и защитили MongoDB в Debian 11. Теперь вы можете использовать MongoDB со своими веб-приложениями. Для получения дополнительной информации посетите официальную документацию MongoDB.