Ubuntu 22.04 - Eclipse Mosquitto Broker 설치
사전 단계: [OS 확인]
> uname -a
Linux svr2 6.8.0-57-generic #59~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 19 17:07:41 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
[MQTT 설치]
1. Ubuntu 22.04 업데이트
> sudo apt update
2. PPA Mosquitto repository 추가
> sudo add-apt-repository ppa:mosquitto-dev/mosquitto-ppa
3. Mosquitto 설치
> sudo apt install mosquitto mosquitto-clients
4. 버전 확인 및 서비스 상태 확인
> mosquitto -h
> sudo systemctl status mosquitto
5. 관리자 및 암호 생성(예: p@ssw0rd)
> sudo mosquitto_passwd -c /etc/mosquitto/passwd mqttuser
Password:
Reenter password:
[옵션] 6. SSL 설정(미설정 시 1883만 사용)
#
참고: 외부 공용 서비스를 위해 Let's Encrypt SSL 설정 시에는 아래 참고
7. 구성파일 편집(포트 및 암호파일 경로 지정)
> sudo nano /etc/mosquitto/conf.d/default.conf
== 아래 추가 ==
# port 지정 시 localhost에서만 접근 가능! ##port 1883 # persistence 설정은 /etc/mosquitto/mosquitto.conf에서 변경 ##persistence true ##persistence_location /mosquitto/data # Logging # log 경로 설정은 /etc/mosquitto/mosquitto.conf에서 변경 # 기본 경로: /var/log/mosquitto/mosquitto.log ##log_dest file /mosquitto/log/mosquitto.log log_timestamp true log_timestamp_format %Y-%m-%dT%H:%M:%S # Security allow_anonymous false listener 1883 # SSL 구성 시 아래 8883 포트 및 인증서 설정 ##listener 8883 ##certfile /etc/mosquitto/certs/server.crt ##keyfile /etc/mosquitto/certs/server.key # Default authentication and topic access control password_file /etc/mosquitto/passwd acl_file /etc/mosquitto/acl============
8. ACL 파일 편집
> sudo nano /etc/mosquitto/acl
== 아래 추가 ==
user mqttuser topic readwrite personal/thermidor/+ topic readwrite personal/thermidor/+/+ topic readwrite personal/thermidor/+/+/+============
9. 파일 접근 권한 설정
mosquitto 사용자/그룹의 배타적 사용을 위해...
> sudo chown mosquitto:mosquitto /etc/mosquitto/passwd /etc/mosquitto/acl
> sudo chmod 600 /etc/mosquitto/passwd /etc/mosquitto/acl
10. 서비스 재시작
> sudo systemctl restart mosquitto
[옵션] 11. 네트워크 도구 설치 및 열린 포트 확인
> sudo apt install net-tools
> sudo netstat -anop | grep -F 1883
[옵션] 12. 방화벽 설정(외부에서 포트가 열리지 않을 경우)
> sudo ufw allow 1883
> # SSL 구성 시 아래 8883 포트 오픈
> ##sudo ufw allow 8883
[옵션] 13. 로컬 테스트
수신 측
> mosquitto_sub -h localhost -t "personal/thermidor/RV/+/+" -u "mqttuser" -P "p@ssw0rd"
송신 측
> mosquitto_pub -h localhost -t "personal/thermidor/RV/test/Service" -m "CAPTURE-1" -u "mqttuser" -P "p@ssw0rd"
- End Of Document -
'Tech: > 일반·기타' 카테고리의 다른 글
| Windows 11 당황스런 자동 재부팅 막기 (0) | 2023.12.13 |
|---|---|
| git log 활용팁 정리 (1) | 2023.10.19 |
| AKS 환경: MariaDB 10.4 -> 10.11 업그레이드 절차 (0) | 2023.06.02 |
| Docker 환경: MariaDB 10.4 -> 10.11 (1) | 2023.05.18 |
| HTML: autocomplete="off" (0) | 2023.01.10 |



