mosquitto는 전에 mqtt에 대한 글을 쓰면서 말한 적이 있기에 설명은 넘어가도록 하겠습니다.
https://minuxsthing.tistory.com/entry/MQTT-MQTT-broker-%EC%A2%85%EB%A5%98
1. [WINDOW에서 설치]
우선, mosquitto 설치 프로그램은
https://mosquitto.org/download/
mosquitto 홈페이지에서 다운로드할 수 있습니다.
실행파일을 실행 후에는 순서대로 진행해주시고, 완료되고 나면 경로에 mosquitto라는 폴더가 생성되면서
다음과 같이 파일들이 생성됩니다.
mosquitto 실행방법은 cmd를 통해서 mosquitto 폴더 위치까지 이동한 다음에 mosquitto -c (conf파일의 이름)로 실행하시면 됩니다.
그냥 mosquitto.exe -v로 실행하면 기본설정으로 실행되며 localhost (127.0.0.1) 주소에 포트는 1883으로 열리게 됩니다.
저처럼 호스트 PC 또는 가상 PC의 IP 주소로 연결하고 싶으신 분은 conf 파일을 수정 후에 mosquitto -c (conf파일 이름)으로 실행해주셔야 합니다.
ex) mosquitto -c msqt.conf
제 mosquitto.conf 파일 설정은 2가지가 있는데
1. pwfile을 통한 보안 설정시 mosquitto.conf 파일 내용
- listener 1883 (PC의 IP 주소)
- 접속할 IP 주소 & 포트번호 - connection_messages true
- true로 설정할 경우 클라이언트의 연결/연결끊김을 포함 - allow_anonymous false
- true로 설정하면 아무나 브로커 서버에 접근이 가능
- false false로 설정하면 password_file옵션으로 인증된 사용자를 제어 - password_file pwfile.txt
- 접근 권한 사용자 정보 - log_dest syslog
- log_dest stdout
- log_dest topic
- log_type error
- log_type warning
- log_type notice
- log_type information
- log_timestamp true
mosquitto에서 지원하는 pwfile을 통해서 연결을 요청하는 클라이언트의 id와 password가 mosquitto 폴더 안에 있는 pwfile에 있는지 확인하여 검증하는 방법입니다.
pwfile에 등록하는 방법은
cmd를 통해서 mosquitto_passwd 실행파일을 실행시키면서 정보를 기록할 파일 이름과 생성할 ID를 입력하면 mosquitto_passwd가 실행되면서 password를 입력하게 됩니다.
2. SSL 보안 설정 시 mosquitto.conf 파일의 내용
- listener 1883 (PC IP 주소)
- log_dest syslog
- log_dest stdout
- log_dest topic
- log_type error
- log_type warning
- log_type notice
- log_type information
- connection_messages true
- allow_anonymous true
- require_certificate true
- cafile (본인 ca.crt 경로)
- ex) cafile C:\openssl\bin\ca.crt - certfile (본인 broker.crt 경로)
- ex) certfile C:\openssl\bin\broker.crt - keyfile (본인 broker.key 경로)
- ex) C:\openssl\bin\broker.key
이렇게 설정해주고 클라이언트에서 연결 시 ssl://IP주소:1883로 연결하면 된다.
SSL 파일 생성 방법에 대해서는 추후 설명글을 올리겠습니다!!
2. [linux에서 설치]
mosquitto 사용법은 동일하기에 여기서는 linux에 설치하는 방법만 소개하도록 하겠습니다.
저는 설치환경이 Red-Hat인 CentOS 7이었기에 조금 다를 수 도 있습니다.
먼저 yum -y install epel-release라는 것을 설치해주어야 합니다.
설치가 완료되고나면 yum -y install mosquitto 명령어를 통해서 mosquitto 설치를 할 수 있습니다.
완료되고나면 window에서와 같이 /etc/ 폴더 안에 mosquitto라는 폴더가 생성되고 mosuqitto.conf 파일이 있습니다.
'Programming > Java' 카테고리의 다른 글
[JAVA] OOP - 클래스&인스턴스란? (0) | 2021.05.21 |
---|---|
[Spring] Error creating bean with name 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0' 에러 해결 (0) | 2021.05.14 |
[MQTT] MQTT broker 종류 (0) | 2021.01.29 |
[Javascript Framework] Property (0) | 2020.12.28 |
[Spring Framework] Bean의 Scope (0) | 2020.12.22 |
댓글