MongoDB является документо-ориентированной NoSQL базой данных со свободным, открытым исходным кодом, которая известна своей высокой производительностью. MongoDB написана на C ++ и сохраняет свои данные в формате JSON под названием BSON или Binary JSON. Она была создана в 2009 году и в настоящее время разрабатывается MongoDB Inc.

В этой статье мы установим MongoDB на Ubuntu 16.04.

Требования:

  • Сервер на Ubuntu 16.04 – 64 бит
  • Пользователь root или не корневой пользователь sudo

Примечание:Выполнить все команды в этом руководстве без sudo, если вы заходите как корневой пользователь.

Добавление официального репозитория MongoDB

Для обеспечения достоверности пакетов Ubuntu, нужно чтобы они были подписаны с ключами GPG.
Давайте начнем с импортом ключей GPG, которые нам нужны для официального репозитория MongoDB:

# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

 

Затем добавьте репозиторий MongoDB в /etc/apt/sources.list.d с помощью этой команды:

# echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

 

А затем выполните команду обновления, так Ubuntu может прочитать пакеты из добавляемого хранилища:

 # sudo apt-get update

Установка MongoDB

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

 # sudo apt-get install -y mongodb-org

 

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

Теперь нам нужно создать файл Systemd для MongoDB. Во-первых, давайте кратко объясним, какие файлы в Systemd. файлы Unit хранят информацию об услугах, сокетов, устройств, в основном, любой ресурс, управляемый Systemd, который является системой инициализации и используется большинством дистрибутивов Linux.

Создайте файл в каталоге /etc/systemd/system/ с использованием nano:

 # sudo nano /etc/systemd/system/mongodb.service

 

Вставьте следующий текст ниже:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target

 

Убедитесь в том, чтобы сохранить (нажмите Ctrl + O) и закрыть файл (нажмите Ctrl + X).
Теперь мы должны обновить Systemd и включить нашу вновь созданную службу и запустить службу:

 # sudo systemctl daemon-reload # sudo systemctl enable mongod # sudo systemctl start mongod

 

Проверьте, что служба запущена:

 # systemctl status mongod

 

Вывод должен выглядеть следующим образом:

● mongodb.service - High-performance, schema-free document-oriented database Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-07-13 18:21:23 CDT; 7s ago Docs: https://docs.mongodb.org/manual Main PID: 3977 (mongod) CGroup: /system.slice/mongodb.service └─3977 /usr/bin/mongod --quiet --config /etc/mongod.conf
Jul 13 18:21:23 test systemd[1]: Started High-performance, schema-free document-oriented database.

Настройка MongoDB от имени администратора

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

 # mongo

 

Внутри оболочки MongoDB введите следующую команду, чтобы перейти в базу данных администратора:

 > use admin

 

Теперь давайте создадим имя администратора и установим пароль для пользователя:

 > db.createUser({user:"admin", pwd:"admin54321-", roles:[{role:"root", db:"admin"}]})

 

Примечание:Вы можете заменить значение PWD на свой собственный пароль, вроде: PWD:”MyPassword”.Вывод из выше команд должен выглядеть следующим образом :

Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ]
}

 

Введите эту команду в оболочке для выхода из оболочки:

 > exit

Включение проверки подлинности MongoDB

Откройте /lib/systemd/system/mongod.service с помощью nano или любого удобного вам редактора:

 # sudo nano /lib/systemd/system/mongod.service

 

На линии ExecStart добавьте новый аргумент -auth, строка должна выглядеть следующим образом:

 ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf

 

Убедитесь в том, чтобы сохранить (нажмите Ctrl + O) и закрыть файл (нажмите Ctrl + X).
Перезапустите Systemd, чтобы включить новую версию нашего измененного файла службы:

 # sudo systemctl daemon-reload

 

Затем перезапустите MongoDB, чтобы изменения вступили в силу:

 # sudo systemctl restart mongod

 

Теперь подключитесь к оболочки MongoDB с помощью этой команды:

 # mongo -u admin -p --authenticationDatabase admin

 

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

 > db.runCommand({connectionStatus : 1})

 

Вывод должен выглядеть следующим образом:

{ "authInfo" : { "authenticatedUsers" : [ { "user" : "admin", "db" : "admin" } ], "authenticatedUserRoles" : [ { "role" : "root", "db" : "admin" } ] }, "ok" : 1
}

 

Вот и все, вы успешно установили MongoDB на Ubuntu 16.04.

Источник: AndreyEx.ru