ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить MongoDB на Ubuntu 16.04

Как установить MongoDB на Ubuntu 16.04

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

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

 

Требования:

 

 

Добавление официального репозитория 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"}]})

 


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

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.

Exit mobile version