Создаем бесплатный callback-виджет с SMS и Telegram-оповещением

Разработка #Telegram #JavaScript #HTML/CSS В этой статье мы пошагово создадим виджет обратного звонка с красивой минималистичной анимацией и...

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

Разработка #Карьера #JavaScript #HTML/CSS #PHP #Python Сегодня программирование востребовано как никогда. Информационные технологии развиваются с колоссальной скоростью, и...

PyCharm: IDE для Python

Разработка #Программы #Обзор #IDE #Редакторы кода #Python Популярность Python как языка программирования меняется из года в год. Python...

Глобальное обновление Комьюнити: рейтинг, ранги и Таймкарма

Новости #Community news #Правила #Хостинг #Монетизация #Контент Дорогие читатели и авторы Комьюнити, настал час великих изменений! Теперь все...

Работаем с репозиториями в Git

В Linux выполните команду: ‎ cd /home/user/directory В macOS: cd /Users/user/directory В Windows: cd C:/Users/user/directory Остается только ввести...

Стоит ли делать одностраничный сайт? За и против

Введение Одностраничники – тренд, продолжающий набирать популярность. Впрочем, и трендом назвать это сложно – тенденция делать одностраничные сайты...

Что такое Progressive Web Apps и в чем их преимущества

Разработка #Программы #JavaScript #HTML/CSS #Оптимизация Progressive Web Apps (PWA) — это сайты, которые похожи на приложения для смартфонов не только...

Drupal: полный обзор популярной CMS

Разработка #Обзор #Drupal #Оптимизация CMS Drupal существует уже более 17 лет – разработка платформы началась в 2000 году...

В Apple представили новый MacBook Air с восьмиядерным процессором М3

Новости #Гаджеты #Обновления #Apple Реклама. ООО «ТаймВэб». erid: LjN8KWcJi Состоялся официальный пресс-релиз новых MacBook Air диагональю 13,6 и 15,3 дюймов –...

Обзор фреймворка Yii

Общее Yii – это объектно-ориентированный фреймворк, написанный на PHP. Если вы не знаете, что такое фреймворк и чем...

Выбор темы для интернет-магазина на WordPress

Разработка #Плагины #Интернет-магазин #Веб-дизайн #Шаблоны #WordPress «WordPress для блога!» — говорили они. «Но ведь… есть плагины и темы…»...

Обзор WebAsyst Shop-Script 7

WebAsyst WebAsyst (читается как Вебасист) – это бесплатный фреймворк, на базе которого можно создать сайт (то есть использовать...

11 лучших приложений для изучения программирования

Разработка #C/C#/C++ #Программы #Сервисы #Подборка #JavaScript Рассказываем о лучших приложениях для смартфонов, которые помогут обучиться программированию и веб-разработке. ...

Диджитал-реклама сегодня: интервью с Павлом Баракаевым из eLama

Мнение рынка #Реклама #Таргетинг #Социальные сети #ВКонтакте #Конверсия В гостях у Комьюнити побывал Павел Баракаев, евангелист сервиса eLama,...

Какую CMS выбрать для простого сайта?

Разработка #WordPress #Bitrix #Drupal #Joomla! #OpenCart Для чего нужны CMS Система управления контентом, система управления содержимым, система управления...

Что такое дополненная реальность

Разработка #Google #Продажи #Технологии #Сервисы Выбирали когда-нибудь кроссовки или диван в интернете? Не очень удобно, верно? Было бы...

Что такое CMS (Система Управления Контентом)

Разработка #Обзор #WordPress #Bitrix #Drupal Начинающие вебмастера, которые пока и никакие не мастера вовсе, когда начинают гуглить «Как...

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

Разработка #VDS #Ubuntu #Базы данных MongoDB – это бесплатная СУБД с открытым исходным кодом. Это документоориентированная СУБД, реализованная при...

Создаем калькулятор-конвертер на базе React. Часть 4: Декомпозиция и мелкие исправления

Разработка #Фреймворки #JavaScript Продолжаем разработку калькулятора-конвертера на базе Реакта с визуальной библиотекой Chakra. В этой статье речь пойдет...

Краткая история «Параграфа»: советские ученые, которые подарили миру S Pen

Разработка #Технологии #Тренды #Apple #Железо В 1988 году уроженец Азербайджанской СCP Степан Пачиков основал софтверный кооператив «Микроконтур», в результате...

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

MongoDB – это бесплатная СУБД с открытым исходным кодом. Это документоориентированная СУБД, реализованная при помощи подхода NoSQL. На июль 2018 года MongoDB входит в пятерку самых популярных СУБД (при этом остальные четыре СУБД реляционные).

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

Требования

Для того чтобы выполнить инструкции из этой статьи, у вас должен быть сервер с установленной на нем ОС Ubuntu 18.04, пользователем, который может выполнять команды sudo, и файрволом.

Шаг 1: Установка MongoDB

Актуальную версию MongoDB можно установить из официальных репозиториев Ubuntu. Для этого можно использовать утилиту apt.

Сначала нужно обновить список пакетов:

$ sudo apt update

А затем установить MongoDB:

$ sudo apt install -y mongodb

Эта команда устанавливает несколько пакетов, а именно саму СУБД MongoDB и полезные инструменты для работы с сервером. Сервер базы данных автоматически начнет работать сразу после установки.

Теперь надо проверить, что сервер запущен и работает корректно.

Шаг 2: Проверка работы базы данных

Для начала нужно проверить статус службы. Сделать это можно при помощи следующей команды:

$ sudo 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

То есть утилита systemctl (она используется для управления службами в Linux) показывает, что сервер 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

}

Единица в поле ОК говорит о том, что сервер работает корректно.

Теперь необходимо разобраться в том, как управлять сервером.

Шаг 3: Управление MongoDB

MongoDB устанавливается в качестве службы systemd, а значит, управлять СУБД можно при помощи стандартных команд system – точно так же, как и другими службами Ubuntu.

Команда для того, чтобы проверить статус службы:

$ sudo systemctl status mongodb

Команда для остановки сервера:

$ sudo systemctl stop mongodb

Команда для запуска сервера после остановки:

$ sudo systemctl start mongodb

Команда для того, чтобы перезапустить службу:

$ sudo systemctl restart mongodb

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

$ sudo systemctl disable mongodb

Если вам снова нужно добавить службу в автозагрузку, то введите:

$ sudo systemctl enable mongodb

Теперь можно перейти к настройке фаервола.

Шаг 4: Настройка файрвола

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

Однако если вы хотите сделать возможным доступ через интернет, то вам нужно разрешить входящие соединения в ufw.

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

$ sudo ufw allow 27017

Но в этом случае доступ к базе данных получат абсолютно все пользователи, что небезопасно.

Поэтому лучше разрешить доступ только из определенных мест, например с другого сервера. Для этого вам нужно дать доступ к стандартному порту MongoDB, но с указанием IP-адреса другого сервера, с которого можно будет подсоединяться:

$ sudo ufw allow from ip-адрес-сервера/32 to any port 27017

Проверить изменения в настройках файрвола можно командой:

$ sudo ufw status

В выводе вы увидите, что трафик по порту 27017 разрешен:

Status: active

To                      Action   From

--                      ------   ----

OpenSSH                 ALLOW    Anywhere

27017                   ALLOW    Anywhere

OpenSSH (v6)            ALLOW    Anywhere (v6)

27017 (v6)              ALLOW    Anywhere (v6)

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

Откройте конфигурационный файл MongoDB:

$ sudo nano /etc/mongodb.conf

Добавьте IP-адрес сервера в строку bindIP:

...

logappend=true

bind_ip = 127.0.0.1, ip-адрес вашего сервера

#port = 27017

...

Обязательно поставьте запятую между уже написанным IP-адресом и тем, который вы добавляете.

Сохраните и закройте файл, а затем перезапустите MongoDB:

$ sudo systemctl restart mongodb

Теперь удаленные подключения к MongoDB разрешены.

Межтекстовые Отзывы
Посмотреть все комментарии
guest