Установка MongoDB на Ubuntu
MongoDB - бесплатная, открытая NoSQL база данных, стремительно набирающая популярность в современных веб-приложениях.
В этой статье рассмотрим установку MongoDB на сервер под управлением Ubuntu 18.04.
Установка MongoDB
Официальный репозиторий пакетов Ubuntu уже включает свежую версию MongoDB, поэтому нам даже не придётся устанавливать сторонние репозитории.
В первую очередь обновите список пакетов Apt:
Теперь установите пакет MongoDB:
Эта команда установит последнюю версию MongoDB и все необходимые для её работы пакеты.
Настройка сервиса
Проверьте, запущен ли сервис MongoDB с помощью команды:
Вы должны увидеть примерно следующий вывод:
Согласно этому выводу, сервер MongoDB запущен и работает.
Теперь можно проверить работу сервера MongoDB путём запроса к нему. Выполните команду:
В результате Вы должны видеть текущую версию сервера, его адрес и порт для подключения:
Значение 1
в поле ok
обозначает, что сервер работает и корректно обработал Ваш запрос.
Управление сервисом MongoDB
MongoDB устанавливается как сервис systemd
, что даёт возможность управлять им с помощью стандартной утилиты systemctl
.
Для просмотра статуса работы сервера MongoDB используйте:
Для остановки сервера MongoDB:
Для запуска сервера MongoDB:
И, соответственно, для перезапуска:
По уолчанию MongoDB запускается автоматически при запуске системы. Если Вам это не нужно, то Вы можете легко отключить автозапуск с помощью команды:
И, аналогично, если после захочется включить его автозапуск, используйте команду:
Настройка firewall
Предположим, что Вы хотите чтобы сервер MongoDB был доступен из Интернета и к нему могли подключаться внешние приложения, запущенные на других серверах. Хоть это и не рекомендуется делать, но в некоторых случаях это необходимо.
Это можно сделать путём соответствующей настройки firewall ufw
. Нужно разрешить доступ к порту MongoDB, которым по умолчанию является порт 27017.
Для того, чтобы разрешить внешний доступ, выполните команду:
Чтобы обезопасить MongoDB и Ваши данные, лучше всего разрешить доступ только с конкретных IP-адресов или подсетей IP-адресов, это можно сделать следующей командой:
Теперь, когда порт открыт, нужно внести изменения в настройки MongoDB, чтобы сервер работал не только на локальном IP-адресе 127.0.0.1, но и на внешнем IP-адресе сервера.
Для этого откройте файл /etc/mongodb.conf
через Ваш любимый редактор (nano, mcedit, vi):
Далее добавить внешний IP-адрес Вашего сервера в значение параметра bind_ip
. Должно получиться так:
Сохраните изменения и перезапустите сервер MongoDB:
Если всё сделано верно, то MongoDB будет доступен и извне.
Обратите внимание на то, что по умолчанию MongoDB вместе со всеми данными внутри баз данных будет доступен для любого желающего. Крайне рекомендуется защитить данные.
Настройка защищённого доступа к MongoDB
Чтобы доступ к MongoDB был возможен только для тех, кто владеет паролем, нужно создать административного пользователя и назначить ему пароль.
Для начала войдите в командную строку MongoDB:
Далее введите:
Теперь мы можем создать пользователя и назначить ему доступ ко всем базам данных сервера MongoDB:
Если создание пользователя пройдёт успешно, Вы увидите на экране надпись: Successfully added user
.
Теперь нужно настроить аутентификацию через этого пользователя. Для этого откройте для редактирования файл /etc/mongodb.conf
через Ваш любимый редактор (nano, mcedit, vi):
Найдите в нём секцию #security
и удалите #
(хэш) перед security
, чтобы включить аутентификацию.
Должно получиться примерно следующее:
Теперь перезапустите сервер MongoDB:
Для того, чтобы подключиться к MongoDB с данными только что созданного пользователя, используйте команду:
Last updated