Hướng Dẫn Cài đặt Mosquitto MQTT Trên CentOS 7 - Tài Liệu 123Host
Có thể bạn quan tâm
Chào các bạn,
Bài viết hôm nay sẽ hướng dẫn các bạn cài đặt Mosquitto MQTT trên CentOS 7. MQTT là một dạng giao thức thiết kế để hỗ trợ các thiết bị IoT có thể giao tiếp với nhau với độ trễ thấp và độ tin cậy cao do giao thức này rất nhẹ và hỗ trợ xác thực giúp đảm bảo các Message đã được gửi tới người nhận thành công, như chúng ta vẫn hay reply cho người khác để họ biết rằng chúng ta đã nhận được tin nhắn của họ. Mosquitto là một server broker MQTT phổ biến và hỗ trợ đầy đủ các tính năng của giao thức MQTT, đồng thời cũng dễ sử dụng và cài đặt nữa.
Cài đặt MosquittoCài đặt Epel repo
yum -y install epel-releaseThêm Mosquitto Repo vào hệ thống để luôn được cập nhật package mới nhất
wget http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-7/home:oojah:mqtt.repo -O /etc/yum.repos.d/mosquitto.repoCài đặt Mosquitto từ Yum
yum -y install mosquitto mosquitto-clientsEnable và start Mosquitto
systemctl enable mosquitto systemctl start mosquittoKiểm tra Mosquitto hoạt động bằng cách login vào server và mở 2 terminal để test MQTT sử dụng lệnh sau:
Terminal 1: mosquitto_sub -h localhost -t test
Terminal 2: mosquitto_pub -h localhost -t test -m "hello world"
Cấu hình mật khẩu cho MosquittoChúng ta thực hiện tạo user và mật khẩu, sau đó lưu vào file /etc/mosquitto/passwd bằng lệnh sau
mosquitto_passwd -c /etc/mosquitto/passwd adminTiếp đến chúng ta sẽ thêm cấu hình cho Mosquitto sử dụng file này để xác thực khi sử dụng giao thức MQTT, mở file /etc/mosquitto/mosquitto.conf và thêm vào cuối file các dòng sau
allow_anonymous false password_file /etc/mosquitto/passwdRestart Mosquitto để cấu hình mới có tác dụng
systemctl restart mosquittoSau khi restart, để thực hiện gửi Message, chúng ta phải khai báo thêm User và Password trong câu lệnh như sau:
mosquitto_sub -h localhost -t test -u "admin" -P "password" mosquitto_pub -h localhost -t "test" -m "hello world" -u "admin" -P "password"Cài đặt SSL Let’s Encrypt cho MosquittoĐầu tiên các bạn cài certbot từ Yum
yum -y install certbotĐể chạy certbot, bạn cần allow traffic HTTP đi qua Firewall của hệ thống
firewall-cmd --permanent --add-service=http firewall-cmd --reloadChạy lệnh sau để request SSL cho domain cài đặt Mosquitto
certbot certonly --standalone --standalone-supported-challenges http-01 -d yourdomain.comCấu hình tự động gia hạn SSL sử dụng cronjob, dùng lệnh crontab -e và thêm vào dòng sau
15 3 * * * certbot renew --noninteractive --post-hook "systemctl restart mosquitto"Tiếp theo, các bạn mở file config /etc/mosquitto/mosquitto.conf và thêm vào các dòng sau:
listener 1883 localhost listener 8883 certfile /etc/letsencrypt/live/yourdomain.com/cert.pem cafile /etc/letsencrypt/live/yourdomain.com/chain.pem keyfile /etc/letsencrypt/live/yourdomain.com/privkey.pemDo các file certificate được cấp phát dưới quyền root nên chúng ta cần phải chỉnh sửa Permission khi start dịch vụ để có thể đọc được các file .pem
Mở file /etc/systemd/system/multi-user.target.wants/mosquitto.service và xóa dòng sau
User=mosquitto
Lưu lại và reload Systemd
systemctl daemon-reload systemctl restart mosquittoMosquitto vẫn sẽ chạy dưới quyền User mosquitto tuy nhiên sẽ Start bằng quyền Root, các bạn nhớ allow access cho các port của Mosquitto
firewall-cmd --permanent --add-port=8883/tcp firewall-cmd --reloadKiểm tra MQTT message qua port 8883 và SSL có hợp lệ với domain đã cấu hình chưa
mosquitto_pub -h yourdomain.com -t test -m "hello again" -p 8883 --cafile /etc/ssl/certs/ca-bundle.crt -u "admin" -P "password"Cấu hình Mosquitto để chạy qua giao thức websocket
Mosquitto hỗ trợ giao thức websocket để các ứng dụng Javascript chạy trên nền web có thể thực hiện giao tiếp qua websocket, để cấu hình websocket cho Mosquitto, các bạn mở file cấu hình /etc/mosquitto/mosquitto.conf và thêm vào các dòng sau:
listener 8083 protocol websockets certfile /etc/letsencrypt/live/yourdomain.com/cert.pem cafile /etc/letsencrypt/live/yourdomain.com/chain.pem keyfile /etc/letsencrypt/live/yourdomain.com/privkey.pemThực hiện Restart và add rule Firewall
systemctl restart mosquitto firewall-cmd --permanent --add-port=8083/tcp firewall-cmd --reloadĐể test Mosquitto websocket, các bạn có thể dùng trang web sau, nhập vào các thông tin của máy chủ và thực hiện kết nối, lưu ý chọn giao thức wss: , client-id các bạn có thể để mặc định.

Well done! chúc các bạn cài đặt Mosquitto thành công và sử dụng MQTT hiệu quả hơn với Mosquitto.
5 / 5 ( 1 vote )Từ khóa » Cài đặt Mqtt
-
Hướng Dẫn Cài đặt Broker Mosquitto Trên Windows - TAPIT
-
Tìm Hiểu Về MQTT Mosquitto Broker Và Cách Cài đặt - Viblo
-
Hướng Dẫn Cài đặt Mosquitto MQTT Broker Trên Hassbian/Raspbian
-
Tải Và Cài đặt MQTT Broker Mosquitto - Automation
-
Cài đặt Local MQTT Broker Trên Windows #1 - YouTube
-
Cài đặt Và Bảo Mật Mosquitto MQTT Broker Trên Linux
-
Cài đặt Mosquitto Broker Cho Hassio - Nhà Thông Minh HASS DIY
-
Cách Cài đặt Và Bảo Mật Message Broker MQTT Mosquitto Trên ...
-
Cách Cài đặt Và Bảo Mật Mosquitto MQTT Messaging ...
-
Hướng Dẫn Cách Setup MQTT-Broker Trên Raspbery-Pi
-
Cài đặt Một MQTT Broker đơn Giản Sử Dụng Mosca Và MQTTnet
-
MQTT Broker Và MQTT Client - ESP32 - DevIOT
-
Cách Cài đặt Và Bảo Mật Mosquitto MQTT Messaging Broker Trên ...