Ubuntu 18.04 서버에서 Mosquitto MQTT를 설치하고 구성하는 방법은 무엇입니까?

소개

MQTT (Mosquitto Message Queuing Telemetry Transport)는 강력한 오픈 소스 메시지 브로커로서 MQTT 프로토콜 버전 3.1 및 버전 3.1.1을 쉽게 구현할 수 있습니다. 발행 / 구독 모델을 통해 메시지를 중계하는 편리한 방법을 제공하는 경량 응용 프로그램입니다..


이 도구는 저전력, 단일 보드 기계 및 전체 서버를 포함한 다양한 유형의 IoT 장치에서 사용하도록 설계되었습니다..

이 튜토리얼은 Ubuntu 18.04 서버에서 Mosquitto MQTT를 설치하고 설정하는 데 도움이됩니다..

시작하기 전에

완벽하게 Mosquitto MQTT를 구현하려면 다음이 필요합니다.

  • 서버를 가리키는 고유 한 도메인 이름입니다. 이 가이드는 도메인 이름을 활용합니다 mqtt.mydomain.com.
  • Ubuntu 18.04 서버에서 사용하지 않는 포트 80.

1 단계-MosQuitto MQTT 설치

이 소프트웨어를 설치할 때 가장 먼저 할 일은 최신 Certbot 버전을 설치할 수있는 사용자 정의 저장소를 배치하는 것입니다. 아래 명령을 실행하여이를 수행하십시오.

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

고르다 시작하다 설치를 확인하십시오. 그런 다음 아래 명령을 실행하여 Certbot 및 Mosquitto를 설치하십시오.

$ sudo apt 설치 certbot mosquitto mosquitto-clients

2 단계-SSL 인증서 받기

소프트웨어가 설치되면 SSL 인증서를 가져올 수 있습니다. 그러나 먼저 방화벽에서 포트 80을 허용하려면 아래 명령을 실행하십시오.

$ sudo ufw allow 80

그런 다음 아래 명령을 사용하여 Certbot에게 인증서를 찾도록 지시하십시오..

$ sudo certbot certonly –standalone –preferred-challenges http -d mqtt.mydomain.com

노트 : 교체해야 함 mqtt.mydomian.com 특정 도메인 이름으로.

이메일 주소를 입력하라는 메시지가 표시되면 공식 이메일을 입력하고 약관에 동의하십시오. 완료되면 프로세스 성공을 확인하는 메시지가 표시됩니다. 인증서가 저장된 위치도 알려줍니다.

이제 설치를 진행하고 SSL 인증서를 사용하도록 Mosquitto MQTT를 구성 할 수 있습니다.

3 단계-모기 MQTT 설정

SSL 인증서를 사용하도록 Mosquitto MQTT를 구성 할 때 가장 먼저해야 할 일은 mosquitto_passwd 명령. 이 파일은 디렉토리에 있습니다. / etc / mosquitto / passwd, 모스키토가 모든 연결을 쉽게 확인할 수있게 해줍니다..

$ sudo mosquitto_passwd -c / etc / mosquitto / passwd 사용자 이름

요청시 비밀번호를 두 번 입력하십시오. 다음, 아래 명령을 실행하여 새로운 Mosquitto 구성 파일을여십시오.

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

이 파일은 비어 있어야합니다. 이제 아래 내용을이 파일에 추가하십시오.

allow_anonymousfalse
password_file / etc / mosquitto / passwd

청취자 1883 localhost

리스너 8883
certfile /etc/letsencrypt/live/mqtt.mydomain.com/cert.pem
cafile /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
cafile /etc/letsencrypt/live/mqtt.maydomain.com/chain.pem
키 파일 /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

파일을 저장하고 종료 한 다음 아래 명령을 실행하여 Mosquitto를 다시 시작하고 변경 사항을 적용하십시오..

$ sudo systemctl restart mosquitto

그런 다음 아래 명령을 실행하여 모기 상태를 확인하십시오.

$ sudo systemctl 상태 모기

다음과 같은 결과가 출력됩니다.

● 모기 토 서비스-LSB : 모기 MQTTv3.1 메시지 브로커
로드 됨 :로드 됨 (/etc/init.d/mosquitto;generated)
활성 : 활성 (실행 중) Mon2018-08-1714 : 03 : 42UTC; 2min39sago
문서 : man : systemd-sysv-generator (8)
프로세스 : 6683ExecStop = / etc / init.d / mosquittostop (code = exited, status = 0 / SUCCESS)
프로세스 : 6699ExecStart = / etc / init.d / mosquittostart (code = exited, status = 0 / SUCCESS)
작업 : 1 (한도 : 1152)
C 그룹 : /system.slice/mosquitto.service
└─6705 / usr / sbin / mosquitto-c / etc / mosquitto / mosquitto.conf

모기가 활성화되어 있지 않으면 (실행 중) 구성 파일을 확인한 다음 모기를 다시 시작하십시오..

이제 아래 명령을 실행하여 모기의 로그 파일에서 추가 정보를 봅니다.

$ 스도 꼬리 /var/log/mosquitto/mosquitto.log

모든 것이 정상이면 포트 8883 및 8083을 허용하도록 아래 명령을 실행하십시오.

$ sudo ufw 허용 8883
$ sudo ufw 허용 8083

그게 다야! 모기가 완전히 구성되었습니다. 그러나 설치가 아직 완료되지 않았습니다. 인증서가 갱신 될 때마다 모스키토를 항상 다시 시작하도록 Certbot을 설정해야합니다.

4 단계-Certibot 갱신 설정

Certbot은 만료 날짜 전에 SSL 인증서를 갱신하도록 설계되었습니다. 그러나 인증서가 갱신되면 Certbot이 모기를 다시 시작하도록 구성되지 않았습니다..

아래 명령을 실행하여 Certbot 갱신을위한 conf 파일을 엽니 다.

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

우리는 renew_hook 이 구성 파일의 마지막 줄에 :

renew_hook = systemctl 재시작 모기

파일을 저장하고 nano를 종료하십시오. 그런 다음 아래 명령을 실행하여 구문이 올바른지 확인하십시오.

$ sudo certbot renew-드라 이런

오류가 없으면 설정은 정상입니다.

5 단계-MosQuitto MQTT 확인

먼저 아래 명령을 실행하여 로컬 호스트 리스너의 테스트 주제를 구독하십시오.

$ mosquitto_sub -h localhost -t test -u "귀하의 사용자" -피 "너의 비밀번호"

다음으로 테스트 주제를 mosquitto_pub:

$ mosquitto_pub -h localhost -t test -m "안녕 세상" -유 "귀하의 사용자" -피 "너의 비밀번호"

또는 포트 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 "안녕 세상" -p8883 –capath / etc / ssl / certs / -u "귀하의 사용자 이름" -피 "너의 비밀번호"

이제 Paho 자바 스크립트 클라이언트를 사용하여 WebSocket의 기능을 테스트합니다. MQTT 용 브라우저 기반 클라이언트 이것을 따르십시오링크 클라이언트를 엽니 다. 이 페이지로 이동합니다 :

Ubuntu 18.04 서버에서 Mosquitto MQTT를 설치하고 구성하는 방법은 무엇입니까?

아래와 같이 세부 사항을 입력하십시오.

  • 주최자: 모기 서버 도메인 이름을 입력하십시오
  • 포트: 8083
  • 클라인 ID : 기본값을 변경하지 마십시오
  • 통로: 그대로 두십시오
  • 사용자 이름: 3 단계에서 제공 한대로 사용자 이름을 입력하십시오.
  • 암호: 3 단계에서 생성 한 비밀번호를 제공하십시오.

다른 모든 필드는 기본값으로 두십시오. 프레스 잇다 클라이언트를 Ubuntu 서버에 콘텐츠를 제공하려면 구독 버튼을 구독하고 메시지 게시 메시지를 게시하는 버튼.

결론

그게 다야! Ubuntu 18.04 시스템에서 Mosquitto MQTT 메시지 브로커를 성공적으로 설치하고 구성했습니다. 이제이 메시징 플랫폼의 강력한 기능을 활용하여 홈 자동화, IoT 및 기타 유사한 프로젝트를 구현할 수 있습니다.

이 3 가지 Linux 호스팅 서비스를 확인하십시오.

FastComet

시작 가격 :
$ 2.95


신뢰할 수 있음
9.7


가격
9.5


사용자 친화적
9.7


지원하다
9.7


풍모
9.6

리뷰 읽기

FastComet 방문

주인공

시작 가격 :
$ 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 방문

관련 사용법 기사

  • Ubuntu 18.04에서 쉘 액세스없이 SSH 파일 전송 프로토콜 (SFTP)을 구성하는 방법
    초보자
  • Ubuntu 18.04 VPS 또는 전용 서버의 다른 디렉토리로 Apache 웹 루트를 변경하는 방법
    중급
  • 우분투 18.04에 phpIPAM을 설치하는 방법
    중급
  • Ubuntu 18.04 서버에서 바닐라 포럼을 설정하는 방법
    중급
  • 우분투 18에 방랑자를 설치하는 방법
    중급
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me