Как установить и настроить Mosquitto MQTT на вашем сервере Ubuntu 18.04?

Введение

Телеметрический транспорт сообщений очереди сообщений Mosquitto (MQTT) – это надежный брокер сообщений с открытым исходным кодом, который облегчает реализацию протокола MQTT версии 3.1 и 3.1.1. Это легкое приложение, которое предлагает удобные способы передачи сообщений через модель публикации / подписки.

Инструмент предназначен для использования на различных типах IoT-устройств, включая маломощные, одноплатные машины и полные серверы..

Этот учебник поможет вам установить и настроить Mosquitto MQTT на вашем сервере Ubuntu 18.04.

Прежде чем ты начнешь

Для безупречной реализации Mosquitto MQTT вам потребуется следующее:

  • Уникальное доменное имя, указывающее на сервер. Это руководство будет использовать доменное имя mqtt.mydomain.com.
  • Неиспользуемый порт 80 на вашем сервере Ubuntu 18.04.

Шаг 1 – Установка MosQuitto MQTT

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

$ sudo add-apt-repository ppa: certbot / certbot

Выбрать ВОЙТИ подтвердить установку. Затем выполните команду ниже, чтобы установить Certbot и Mosquitto:

$ Sudo apt install certbot Mosquitto Mosquitto-клиенты

Шаг 2 – Получение сертификата SSL

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

$ Sudo ufw разрешить 80

Затем используйте команду ниже, чтобы поручить Certbot искать сертификат.

$ Sudo certbot certonly –standalone –preferred-challenge http -d mqtt.mydomain.com

Замечания: Не забудьте заменить mqtt.mydomian.com с вашим конкретным доменным именем.

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

Теперь вы можете продолжить установку и настроить Mosquitto MQTT для использования SSL-сертификатов..

Шаг 3 – Настройка Mosquitto MQTT

Первым делом при настройке Mosquitto MQTT для использования сертификата SSL необходимо создать файл паролей с помощью mosquitto_passwd команда. Этот файл будет находиться в каталоге; / И т.д. / mosquitto / пароль, и это позволяет Mosquitto легко проверить все соединения.

$ Sudo mosquitto_passwd -c / etc / mosquitto / passwd your-username

По запросу введите ваш пароль дважды. Затем выполните команду ниже, чтобы открыть новый файл конфигурации Mosquitto:

$ sudo nano /etc/mosquitto/conf.d/default.conf

Этот файл должен быть пустым. Теперь добавьте содержимое ниже в этот файл:

allow_anonymousfalse
файл пароля / etc / mosquitto / passwd

слушатель 1883 localhost

слушатель 8883
certfile /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
Кафе /etc/letsencrypt/live/mqtt.mydomain.com/chain.pem
ключевой файл /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

слушатель 8083
протокол веб-сокетов
certfile /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
Кафе /etc/letsencrypt/live/mqtt.maydomain.com/chain.pem
ключевой файл /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

Сохраните и выйдите из файла, затем выполните команду ниже, чтобы перезапустить Mosquitto и позволить изменениям вступить в силу..

$ Sudo systemctl restart mosquitto

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

$ Sudo systemctl status mosquitto

Это даст вам вывод, подобный приведенному ниже:

● mosquitto.service- LSB: mosquittoMQTTv3.1messagebroker
Загружен: загружен (/etc/init.d/mosquitto;generated)
Активен: активен (работает) с понедельника по 08-08-1714: 03: 42UTC; 2min39sago
Документы: man: systemd-sysv-generator (8)
Процесс: 6683ExecStop = / etc / init.d / mosquittostop (код = выход, статус = 0 / УСПЕХ)
Процесс: 6699ExecStart = / etc / init.d / mosquittostart (код = выход, статус = 0 / УСПЕХ)
Задачи: 1 (лимит: 1152)
CGroup: /system.slice/mosquitto.service
└─6705 / USR / SBIN / mosquitto-с / и т.д. / mosquitto / mosquitto.conf

Если Mosquitto не активен (работает), проверьте файл конфигурации, затем снова запустите Mosquitto..

Теперь выполните команду ниже, чтобы просмотреть дополнительную информацию в файле журнала Mosquitto:

$ Sudo tail /var/log/mosquitto/mosquitto.log

Если все в порядке, выполните команды ниже, чтобы разрешить порт 8883 и 8083:

$ Sudo ufw allow 8883
$ Sudo ufw allow 8083

Вот и все! Mosquitto полностью настроен. Тем не менее, наша установка еще не завершена; нам нужно настроить Certbot, чтобы он всегда перезапускал Mosquitto при каждом обновлении сертификатов..

Шаг 4 – Настройка продлений Certibot

Certbot предназначен для обновления SSL-сертификатов до истечения срока их действия. Однако Certbot не настроен для перезапуска Mosquitto после обновления сертификатов..

Запустите команду ниже, чтобы открыть файл conf для обновления Certbot:

$ sudo nano /etc/letsencrypt/renewal/mqtt.mydomain.com.conf

Мы добавим renew_hook до последней строки этого файла конфигурации:

renew_hook = systemctl перезапустить комара

Сохраните файл и выйдите из nano. Затем выполните команду ниже, чтобы проверить правильность синтаксиса:

$ sudo certbot renew –dry-run

Если ошибок нет, то настройка в порядке.

Шаг 5 – Проверка MosQuitto MQTT

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

$ Mosquitto_sub -h localhost -t test -u "Ваш пользователь" -п "твой пароль"

Затем опубликуйте тему теста с mosquitto_pub:

$ Mosquitto_pub -h localhost -t test -m "Привет мир" -U "Ваш пользователь" -п "твой пароль"

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

$ Mosquitto_sub -h mqtt.mydomain.com -t test -p 8883 –capath / etc / ssl / certs / -u "ваш логин" -п "твой пароль"

Затем выполните команду ниже, чтобы опубликовать:

$ Mosquitto_pub -h mqtt.mydomain.com -t test -m "Привет мир" -p 8883 –capath / etc / ssl / certs / -u "ваш логин" -п "твой пароль"

Теперь мы протестируем функциональность WebSocket с помощью клиента Paho javascript; браузерный клиент для MQTT. Следить за этимссылка на сайт открыть клиента. Это приведет вас к этой странице:

Как установить и настроить Mosquitto MQTT на вашем сервере Ubuntu 18.04?

Введите детали, как показано ниже:

  • Ведущий: Введите доменное имя сервера Mosquitto
  • Порт: 8083
  • ClinetId: Не меняйте значение по умолчанию
  • Дорожка: Оставь как есть
  • имя пользователя: Введите имя пользователя, как указано в шаге три
  • Пароль: Укажите пароль, созданный на третьем шаге

Оставьте все остальные поля для значений по умолчанию. Нажмите Connect чтобы довести клиента до вашего сервера Ubuntu, используйте Подписывайся кнопка для подписки и Опубликовать сообщение кнопка для публикации сообщения.

Вывод

Это все! Вы успешно установили и настроили брокер сообщений Mosquitto MQTT в своей системе Ubuntu 18.04. Теперь вы можете использовать возможности этой платформы обмена сообщениями для реализации домашней автоматизации, IoT и других подобных проектов..

Проверьте эти 3 лучших хостинга Linux

FastComet

Стартовая цена:
$ 2,95


надежность
9,7


ценообразование
9,5


Дружественный интерфейс
9,7


Служба поддержки
9,7


особенности
9,6

Читать отзывы

Посетите FastComet

Hostinger

Стартовая цена:
$ 0,99


надежность
9,3


ценообразование
9,3


Дружественный интерфейс
9,4


Служба поддержки
9,4


особенности
9,2

Читать отзывы

Посетить Hostinger

ChemiCloud

Стартовая цена:
$ 2,76


надежность
10


ценообразование
9,9


Дружественный интерфейс
9,9


Служба поддержки
10


особенности
9,9

Читать отзывы

Посетите ChemiCloud

Связанные статьи с практическими рекомендациями

  • Как настроить протокол передачи файлов SSH (SFTP) без доступа к оболочке в Ubuntu 18.04
    новичок
  • Как изменить веб-корень Apache на другой каталог на Ubuntu 18.04 VPS или выделенном сервере
    промежуточный
  • Как установить phpIPAM на Ubuntu 18.04
    промежуточный
  • Как настроить форум Vanilla на сервере Ubuntu 18.04
    промежуточный
  • Как установить Vagrant на Ubuntu 18
    промежуточный
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me