Install Mosquitto MQTT borker using docker & docker-compose

Mqtt Protocol - Install Mqtt Container - dockeril.net

Eclipse Mosquitto הוא Mqtt Broker בקוד פתוח המיישם את פרוטוקולי MQTT גרסאות 5.0, 3.1.1 ו- 3.1. . Mosquitto היא מערכת קלת משקל ועל כן ניתן להתקנה על מגוון מכשירים, החל ממחשבי לוח יחיד כמו Raspberry pi ועד לשרתים.

פרוטוקול MQTT מספק שיטה קלה לביצוע העברת הודעות באמצעות מודל פרסום/רישום נושאים. מתאים במיוחד לרכיבי IOT אשר צריכים להעביר מידע בצורה יעילה ומהירה בינם לבין עצמם או כל מערכת אחרת שאמורה לקבל את המידע (כמו למשל תקשורת בין חישנים לבית חכם).

במדריך זה אתמקד בהתקנה של MQTT באמצעות docker-compose, אך לפני שנתחיל יש לוודא כי התקנתם docker + docker-compose על פי המדריך הבא. (ניתן להתקין גם ישירות על לינוקס על פי המדריך הבא).

שלב א – התקנת הקונטיינר

על מנת להתקין את הקונטיינר, ערכו את קובץ ה docker-compose.yaml שלכם עלי ידי הפקודה הבאה:

והדביקו פנימה את הטקסט הבא:

שלב ב – הגדרות אבטחה

כברירת מחדל, שרת ה Mosquitto מגיע ללא אבטחה, מה שאומר שכל אחד יכול להתחבר לשרת, להרשם ולפרסם נושאים. על מנת לאבטח אותו לשימוש באמצעות שם משתמש וסיסמה עקבו אחר ההוראות הבאות:

אם תשימו לב, בקובץ ה yaml יש שתי שורות תחת volumes:

הראשונה, תפקידה למפות את התיקיה בה יושבים קבצי ההגדרות של ה Mosquitto למקום בו נוכל לערוך את הקבצים.

השניה, מיפוי של קובץ ההגדרות מתוך הקונטיינר ל HOST למקום בו נוכל לערוך ולשנות את ההגדרות.

כעת, צרו את התיקיה אליה תמפו את ה Volume על פי הפקודה הבאה:

וודאו לשנות את השורות בהתאם למקום בו יצרתם את התיקיה.

כעת, צרו את קובץ ה mosquitto.conf על ידי הפקודה הבאה:

והדביקו פנימה את הטקסט הבא:

כאשר:

  • allow_anonymous fals – מציין כי לא תתאפשר התחברות אנונימית ללא משתמש וסיסמה.
  • password_file /etc/mosquitto/passwd – מציין את מיקום קובץ הסיסמאות שישמשו להתחברות.

כעת, ערכו את קובץ הסיסמאות על ידי הפקודה הבאה:

וכתבו פנימה את שם המשתמש והסיסמה בהם תרצו להשתמש במבנה הבא:

ושמרו אותו.

כעת נבצע התקנה של הקונטיינר באמצעות הפקודה הבאה:

ואם ביצעתם הכל כראוי תוכלו לראות שהקונטיינר רץ:

Mosquitto Container - Portainer View - dockeril.net

רגע, עדיין לא סיימנו.
נכון שהגדרנו סיסמה אך היא עדיין איננה תקפה ויש צורך להצע הצפנה של הסיסמה בפורמט ש Mosquitto יוכל להשתמש בה.
לצורך כך, הריצו את הפקודה הבאה:

ותוכלו לראות כי הסיסמה הוצפנה:

במידה ותרצו להוסיף משתמשים למערכת יש לכתוב את הפקודה הבאה:

זכרו! לאחר כל החלפת / הוספת משתמש יש לאתחל את הקונטיינר על מנת שההגדרות יכנסו לתוקף.

בהצלחה!

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*