บทนำ

Mosquitto Message Queuing Telemetry Transport (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

เลือก ENTER เพื่อยืนยันการติดตั้ง ถัดไปเรียกใช้คำสั่งด้านล่างเพื่อติดตั้ง Certbot และ Mosquitto:

$ sudo apt ติดตั้ง certbot mosquitto mosquitto-clients

ขั้นตอนที่ 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 คำสั่ง ไฟล์นี้จะอยู่ในไดเรกทอรี; / etc / mosquitto / passwd, และทำให้ Mosquitto ตรวจสอบการเชื่อมต่อทั้งหมดได้ง่าย.

$ 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
keyfile /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
keyfile /etc/letsencrypt/live/mqtt.mydomain.com/privkey.pem

บันทึกและออกจากไฟล์จากนั้นเรียกใช้คำสั่งด้านล่างเพื่อเริ่ม Mosquitto ใหม่และอนุญาตให้การเปลี่ยนแปลงมีผล.

$ sudo systemctl รีสตาร์ท mosquitto

จากนั้นดำเนินการคำสั่งด้านล่างเพื่อตรวจสอบสถานะของ Mosquitto:

$ sudo systemctl สถานะ mosquitto

สิ่งนี้จะให้ผลลัพธ์เช่นด้านล่าง:

● mosquitto.service- LSB: mosquittoMQTTv3.1messagebroker
โหลดแล้ว: โหลดแล้ว (/etc/init.d/mosquitto;generated)
ใช้งานอยู่: แอคทีฟ (กำลังทำงาน) ตั้งแต่เดือนม. ค. ศ
Docs: 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-C / etc / mosquitto / mosquitto.conf

หาก Mosquitto ไม่ทำงาน (ทำงาน) ให้ตรวจสอบไฟล์กำหนดค่าจากนั้นเริ่ม Mosquitto อีกครั้ง.

ตอนนี้ให้เรียกใช้คำสั่งด้านล่างเพื่อดูข้อมูลเพิ่มเติมในไฟล์บันทึกของ Mosquitto:

$ sudo tail /var/log/mosquitto/mosquitto.log

หากทุกอย่างเรียบร้อยให้เรียกใช้คำสั่งด้านล่างเพื่ออนุญาตพอร์ต 8883 และ 8083:

$ sudo ufw อนุญาตให้ 8883
$ sudo ufw อนุญาต 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 รีสตาร์ท mosquitto

บันทึกไฟล์และออกจากนาโน ถัดไปเรียกใช้คำสั่งด้านล่างเพื่อตรวจสอบว่าไวยากรณ์นั้นถูกต้องหรือไม่:

$ sudo certbot ต่ออายุ – ทำงานแห้ง

หากไม่มีข้อผิดพลาดแสดงว่าการตั้งค่านั้นโอเค.

ขั้นตอนที่ 5 – การตรวจสอบ MosQuitto MQTT

ขั้นแรกให้รันคำสั่งด้านล่างเพื่อสมัครรับหัวข้อการทดสอบในผู้ฟัง localhost ของคุณ:

$ mosquitto_sub -h localhost -t test -u "ของผู้ใช้" -P "รหัสผ่านของคุณ"

ถัดไปเผยแพร่หัวข้อทดสอบด้วย mosquitto_pub:

$ mosquitto_pub -h localhost -t test -m "สวัสดีชาวโลก" -ยู "ของผู้ใช้" -P "รหัสผ่านของคุณ"

หรือหากคุณต้องการสมัครสมาชิกผ่านทางลิสเตอร์ที่ปลอดภัยบนพอร์ต 8883 ให้ดำเนินการคำสั่งด้านล่าง:

$ mosquitto_sub -h mqtt.mydomain.com -t test -p 8883 –capath / etc / ssl / certs / -u "ชื่อผู้ใช้ของคุณ" -P "รหัสผ่านของคุณ"

ถัดไปเรียกใช้คำสั่งด้านล่างเพื่อเผยแพร่:

$ mosquitto_pub -h mqtt.mydomain.com -t test -m "สวัสดีชาวโลก" -หน้า 8883 – แคปาทอ์ / etc / ssl / certs / -u "ชื่อผู้ใช้ของคุณ" -P "รหัสผ่านของคุณ"

ตอนนี้เราจะทดสอบการทำงานของ WebSocket โดยใช้ไคลเอนต์จาวาสคริปต์ Paho ไคลเอ็นต์ที่ใช้เบราว์เซอร์สำหรับ MQTT ติดตามสิ่งนี้ลิงค์ เพื่อเปิดไคลเอนต์ สิ่งนี้จะนำคุณไปสู่หน้านี้:

จะติดตั้งและกำหนดค่า Mosquitto MQTT บนเซิร์ฟเวอร์ Ubuntu 18.04 ของคุณได้อย่างไร?

ป้อนรายละเอียดดังนี้:

  • พิธีกร: ป้อนชื่อโดเมนเซิร์ฟเวอร์ Mosquitto
  • ท่าเรือ: 8083
  • ClinetId: อย่าเปลี่ยนค่าเริ่มต้น
  • เส้นทาง: ปล่อยให้มันเป็น
  • ชื่อผู้ใช้: ป้อนชื่อผู้ใช้ตามที่ให้ไว้ในขั้นตอนที่สาม
  • รหัสผ่าน: ระบุรหัสผ่านที่สร้างในขั้นตอนที่สาม

ปล่อยให้ฟิลด์อื่นทั้งหมดเป็นค่าเริ่มต้น กด เชื่อมต่อ เพื่อลูกค้าเนื้อหาไปยังเซิร์ฟเวอร์ Ubuntu ของคุณแล้วใช้ ติดตาม ปุ่มเพื่อสมัครสมาชิกและ เผยแพร่ข้อความ ปุ่มเพื่อเผยแพร่ข้อความ.

ข้อสรุป

นั่นคือทั้งหมด! คุณได้ติดตั้งและกำหนดค่านายหน้าข้อความ Mosquitto MQTT บนระบบ Ubuntu 18.04 เรียบร้อยแล้ว ตอนนี้คุณสามารถใช้ประโยชน์จากพลังของแพลตฟอร์มการส่งข้อความนี้เพื่อใช้งานระบบอัตโนมัติภายในบ้าน, IoT และโครงการอื่น ๆ ที่คล้ายกัน.

ลองดูบริการโฮสติ้ง Linux 3 อันดับแรกเหล่านี้

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 File Transfer Protocol (SFTP) โดยไม่ต้องใช้ Shell Access บน Ubuntu 18.04
    มือใหม่
  • วิธีการเปลี่ยนรูทเว็บของ Apache เป็นไดเรกทอรีอื่นบน Ubuntu 18.04 VPS หรือเซิร์ฟเวอร์เฉพาะ
    สื่อกลาง
  • วิธีการติดตั้ง phpIPAM บน Ubuntu 18.04
    สื่อกลาง
  • วิธีการติดตั้ง Vanilla Forum บน Ubuntu 18.04 Server
    สื่อกลาง
  • วิธีการติดตั้ง Vagrant บน Ubuntu 18
    สื่อกลาง
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me