Поиск по сайту:

Как установить и защитить MongoDB в Debian 11


На этой странице

  1. Предпосылки
  2. Добавить репозиторий MongoDB
  3. Включить аутентификацию MongoDB
  4. Проверка подключения к MongoDB
  5. Удалить MongoDB
  6. Заключение

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.