База знаний
Главная страницаVDSВозможностиКонтакты
🇷🇺 Русский
🇷🇺 Русский
  • Главная страница
  • Личный кабинет
    • Активация аккаунта
    • Настройки аккаунта
      • Отключение двухфакторной авторизации
    • Оплата услуг
      • Способы оплаты
      • Автоматическая оплата банковскими картами
      • Оплата через Систему быстрых платежей
  • Работа с VDS
    • Заказ IP-адресов
    • Резервное копирование
    • Установка ОС
      • Переустановка ОС
      • Загрузка и подключение ISO
      • Шаблоны ОС
      • Образы ISO
  • Настройка VDS
    • Вход на VDS через SSH
    • Настройка VDS
      • Основные команды SSH
      • Установка ключей для SSH
      • Изменение часового пояса
      • Установка hostname
      • Веб-серверы
        • Установка Lighttpd
          • Установка Lighttpd на CentOS
      • Базы данных
        • Установка MariaDB
          • Установка MariaDB на CentOS 7
        • Установка MongoDB
          • Установка MongoDB на Ubuntu
        • Смена пароля от MySQL
        • Установка phpMyAdmin
          • Установка phpMyAdmin на CentOS 7
      • VPN и прокси-серверы
        • Установка OpenVPN-сервера
        • Установка Squid Proxy
          • Установка Squid Proxy на CentOS 7
      • RDP-сервер
        • Установка RDP-сервера
          • Установка RDP-сервера на CentOS
          • Установка RDP-сервера на Ubuntu
          • Установка RDP-сервера на Debian
    • Панели управления
      • Установка ISPmanager 5
      • Установка BrainyCP
      • Установка HestiaCP
      • Установка VestaCP
      • Установка FASTPANEL
      • Установка Webmin
  • Диагностика
    • Диагностика сети с помощью MTR
Powered by GitBook
On this page
  • Установка MongoDB
  • Настройка сервиса
  • Управление сервисом MongoDB
  • Настройка firewall
  • Настройка защищённого доступа к MongoDB

Was this helpful?

  1. Настройка VDS
  2. Настройка VDS
  3. Базы данных
  4. Установка MongoDB

Установка MongoDB на Ubuntu

MongoDB - бесплатная, открытая NoSQL база данных, стремительно набирающая популярность в современных веб-приложениях.

В этой статье рассмотрим установку MongoDB на сервер под управлением Ubuntu 18.04.

Установка MongoDB

Официальный репозиторий пакетов Ubuntu уже включает свежую версию MongoDB, поэтому нам даже не придётся устанавливать сторонние репозитории.

В первую очередь обновите список пакетов Apt:

apt update

Теперь установите пакет MongoDB:

apt-get -y install mongodb

Эта команда установит последнюю версию MongoDB и все необходимые для её работы пакеты.

Настройка сервиса

Проверьте, запущен ли сервис MongoDB с помощью команды:

systemctl status mongodb

Вы должны увидеть примерно следующий вывод:

mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
Docs: man:mongod(1)
Main PID: 2312 (mongod)
Tasks: 23 (limit: 1153)
CGroup: /system.slice/mongodb.service
??2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Согласно этому выводу, сервер MongoDB запущен и работает.

Теперь можно проверить работу сервера MongoDB путём запроса к нему. Выполните команду:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

В результате Вы должны видеть текущую версию сервера, его адрес и порт для подключения:

MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
  "authInfo" : {
    "authenticatedUsers" : [ ],
    "authenticatedUserRoles" : [ ]
  },
  "ok" : 1
}

Значение 1 в поле ok обозначает, что сервер работает и корректно обработал Ваш запрос.

Управление сервисом MongoDB

MongoDB устанавливается как сервис systemd, что даёт возможность управлять им с помощью стандартной утилиты systemctl.

Для просмотра статуса работы сервера MongoDB используйте:

systemctl status mongodb

Для остановки сервера MongoDB:

systemctl stop mongodb

Для запуска сервера MongoDB:

systemctl start mongodb

И, соответственно, для перезапуска:

systemctl restart mongodb

По уолчанию MongoDB запускается автоматически при запуске системы. Если Вам это не нужно, то Вы можете легко отключить автозапуск с помощью команды:

systemctl disable mongodb

И, аналогично, если после захочется включить его автозапуск, используйте команду:

systemctl enable mongodb

Настройка firewall

Предположим, что Вы хотите чтобы сервер MongoDB был доступен из Интернета и к нему могли подключаться внешние приложения, запущенные на других серверах. Хоть это и не рекомендуется делать, но в некоторых случаях это необходимо.

Это можно сделать путём соответствующей настройки firewall ufw. Нужно разрешить доступ к порту MongoDB, которым по умолчанию является порт 27017.

Для того, чтобы разрешить внешний доступ, выполните команду:

ufw allow 27017

Чтобы обезопасить MongoDB и Ваши данные, лучше всего разрешить доступ только с конкретных IP-адресов или подсетей IP-адресов, это можно сделать следующей командой:

ufw allow from <IP-адрес>/32 to any port 27017

Теперь, когда порт открыт, нужно внести изменения в настройки MongoDB, чтобы сервер работал не только на локальном IP-адресе 127.0.0.1, но и на внешнем IP-адресе сервера.

Для этого откройте файл /etc/mongodb.conf через Ваш любимый редактор (nano, mcedit, vi):

nano /etc/mongodb.conf

Далее добавить внешний IP-адрес Вашего сервера в значение параметра bind_ip. Должно получиться так:

/etc/mongodb.conf
bind_ip = 127.0.0.1,<IP-адрес>

Сохраните изменения и перезапустите сервер MongoDB:

systemctl restart mongodb

Если всё сделано верно, то MongoDB будет доступен и извне.

Обратите внимание на то, что по умолчанию MongoDB вместе со всеми данными внутри баз данных будет доступен для любого желающего. Крайне рекомендуется защитить данные.

Настройка защищённого доступа к MongoDB

Чтобы доступ к MongoDB был возможен только для тех, кто владеет паролем, нужно создать административного пользователя и назначить ему пароль.

Для начала войдите в командную строку MongoDB:

mongodb

Далее введите:

use admin

Теперь мы можем создать пользователя и назначить ему доступ ко всем базам данных сервера MongoDB:

db.createUser(
  {
    user: "<ЛОГИН>",
    pwd: "<ПАРОЛЬ>",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Если создание пользователя пройдёт успешно, Вы увидите на экране надпись: Successfully added user.

Теперь нужно настроить аутентификацию через этого пользователя. Для этого откройте для редактирования файл /etc/mongodb.conf через Ваш любимый редактор (nano, mcedit, vi):

nano /etc/mongodb.conf

Найдите в нём секцию #security и удалите # (хэш) перед security, чтобы включить аутентификацию.

Должно получиться примерно следующее:

/etc/mongodb.conf
security:
  authorization: "enabled" 

Теперь перезапустите сервер MongoDB:

systectl restart mongodb

Для того, чтобы подключиться к MongoDB с данными только что созданного пользователя, используйте команду:

mongo -u <ЛОГИН> -p --authenticationDatabase admin
PreviousУстановка MongoDBNextСмена пароля от MySQL

Last updated 4 years ago

Was this helpful?