רבים מאיתנו משתמשים אט o צ'אט פייסבוק בלי לדעת שהפרוטוקול שאנו משתמשים בו כדי לתקשר הוא לא אחר מאשר XMPP (פרוטוקול העברת הודעות ונוכחות הניתן להרחבה) שפתוח גם כן.
En גנו / לינוקס יש לנו מספר יישומים להקים שרת משלנו XMPP o לִלְהוֹג כידוע, חלקם מסובכים יותר מאחרים בעת הגדרת התצורה. למשל, יש לנו ejabberd, שזה די פשוט וקל, אבל אם אנחנו רוצים לייעל הרבה יותר, יש לנו תוֹרַת הַמִשׁקָל.
ואז אני עוזב אותך מאמר פורסם ב GUTL על ידי אחד המשתמשים שלנו (הוגו) והיכן הוא מראה לנו כיצד להגדיר את השרת שלנו XMPP עם תוֹרַת הַמִשׁקָל.
מבוא
בעת התקנת שרת XMPP (Jabber) להעברת הודעות פנימיות ברשת מקומית, רבים בוחרים ב- jabber, ejabberd או openfire, אך למרות שהם פונקציונליים, יישומים אלה יכולים לדרוש משאבים רבים.
אם יש לך רשת קטנה או בינונית ואתה רק רוצה שירות מסרים מיידיים פשוט, למרבה המזל יש אלטרנטיבה לשרת קל משקל הנקראת פרוזודיה, שלמרות שהיא מתוכנתת ב- LUA שהיא שפה מתפרשת, על פי מפתחי זה היא עובדת טוב מאוד תודה לואג'יט.
הדרכה קצרה זו תסביר כיצד להתקין ולהגדיר פרוזודיה על יציב דביאן.
הכנות והתקנה
חבילות פרוזודי ממוקמות במאגר דביאן, אך מפתחי תוכנה זו הכינו מאגר עבור דביאן ונגזרים המכילים חבילות עדכניות ומודולים נוספים, בהם נוכל להשתמש באופן הבא:
הד "deb http://packages.prosody.im/debian main main" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | להוסיף -. עדכון
לאחר הוספת המאגר, נוכל להמשיך להתקין פרוזודי (בנוסף להוסיף מודולים לשימוש sasl
כמנגנון אימות במידת הצורך, המאפשר לשלב פרוזודיה עם pam
, LDAP, וכו ').
sudo aptitude התקן sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
לאחר מכן אנו ממשיכים לייצר אישורים בחתימה עצמית לדומיין שלנו:
cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
האשף יבקש מאיתנו סדרת נתונים, שהחיוני באמת הוא "שם נפוץ (למשל שרת FQDN או השם שלך) "שם עלינו לשים את הדומיין שלנו, כיוון שנשתמש בו בסעיף וירטואליזציה קובץ תצורה.
בנוסף, אם בשרת שבו אנו מתקינים פרוסודיה הגדרנו iptables
עם מדיניות דחיית ברירת מחדל, עלינו לפתוח את היציאות הנדרשות עבור הרשת שלנו, למשל:
sudo iptables -A INPUT -i lo -j קבל sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m state - state ESTABLISHED, RELATED -j ACCEPT sudo iptables -A Input - i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport - dports 5222,5223,5269 -m state - מדינה חדש -j קבל
תצורה
לאחר מכן, המשך לשנות כמה שורות של קובץ התצורה, שעליהם עלינו לערוך /etc/prosody/prosody.cfg.lua
אז זה נראה ככה:
-
יציאות = {5222, 5269} ssl_ports = {5223} מנהלים = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - אפשרות ברירת המחדל מבוססת על הפונקציה select (), במקום זאת libevent משתמש ב- epoll (), שהיא יעילה יותר וניתנת להרחבה. modules_enabled = {"סגל"; "ססלאות"; "tls"; "חיוג חוזר"; "דִיסק"; "פְּרָטִי"; "vcard"; "פְּרָטִיוּת"; "דְחִיסָה"; "legacyauth"; "גִרְסָה"; "זמן עבודה"; "זְמַן"; "פינג"; "זְרִיזוּת"; "הירשם"; - אל תשבית את המודול הזה, הוא מאפשר לא רק להירשם אלא גם לשנות סיסמאות "adhoc"; "admin_adhoc"; "פוסיקס"; "שְׁטוּיוֹת"; - הוסף שורה זו אם ברצונך להפעיל התעסקות באמצעות http}; allow_registration = false; - מושבת לאבטחה - שנה לאמת אם ברצונך לאפשר יצירת חשבונות מהלקוח עצמו ssl = {key = "/etc/prosody/certs/localhost.key"; תעודה = "/etc/prosody/certs/localhost.cert"; } אחסון = "פנימי"; - אחסון ברירת המחדל הוא קובץ xml - באופן אופציונלי נוכל להשתמש בשיטת האחסון "sql" - זה מאפשר שימוש ב- SQLite, MySQL או PostgreSQL כ- backend (אם כי יש להוסיף פרמטרים מסוימים) אימות = "internal_hashed"; - אנו יכולים להשתמש ב- "internal_plain" אם הלקוח אינו תומך ב- SCRAM-SHA-1 - אם אנו רוצים להשתמש בשיטת sasl כדי להשתמש במועד מאוחר יותר ב- LDAP, עלינו להשתמש ב- "cyrus" log = {error = "/ var / log / פרוזודיה / פרוזודיה. טועה "; info = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost" VirtualHost "mydomain.cu" ssl = {key = "/etc/prosody/certs/mydomain.cu.key"; תעודה = "/etc/prosody/certs/mydomain.cu.crt"; }
לאחר שינוי קובץ התצורה, אנו מפעילים מחדש את השירות:
מחסור בשירותי סודו
כעת נמשיך ביצירת החשבונות. במקרה זה, כמו בקובץ התצורה אנו משביתים את הרישום מהלקוחות, יהיה עליך ליצור את החשבונות באופן ידני בשרת. שיטת האימות שאנו בוחרים בתצורה (internal_hashed) גורמת לכך שהסיסמאות אינן נשמרות בצורה ברורה אלא עם המנגנון SCRAM-SHA-1
. אם לקוח המסרים שאנו מתכוונים להשתמש בו אינו תומך במנגנון זה, ניתן להשתמש בשיטת "internal_plain" בתצורה.
ראשית ניצור חשבונות של מנהלי השירות שאנו מצהירים עליהם בתצורה (הכרזה עליהם אינה מרמזת שהם נוצרים אוטומטית):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
אנו יכולים להשתמש באותה פקודה לכל חשבון אחר שנרצה ליצור.
לבסוף, אנו בודקים כי השירות פועל:
מעמד sudo prosodyctl
עלינו לקבל הודעה כמו הבאה:
פרוזודי פועלת עם PID 1310
תצורת לקוח
התצורה תלויה בלקוח, אך באופן כללי הפרטים פשוטים. לדוגמא, עבור ז'ָרגוֹן:
הכרטיסייה "בסיסי"
שם משתמש: ג'ון
דומיין: mydomain.cu
מַשׁאָב: pc-john
הכרטיסייה "מתקדם"
אבטחת חיבור: השתמש בהצפנה במידת האפשר
יציאת חיבור: 5222
התחבר לשרת: myserver.mydomain.cu
הערות
ניתן למצוא מידע נוסף (כולל שימוש ב- Cyrus SASL עם LDAP וכיצד ליצור ערכים מ DNS) ב המאמר הזה מתוך ויקי דביאן.
משתמש מגיב באמצעות DesdeLinux כדי להפסיק באמת את השירות שהיית צריך לבצע pkill lua5.1
אני אוהב את זה ... בוא נראה אם אחת ולתמיד אני משנה את OpenFire עבור ejabberd או את הפרוזודיה הזו 🙂
אני כבר עושה את הבדיקות ב- VirtualBox בדיוק בשביל זה .. כי אם נחכה לך בני .. ¬¬
^ - ^ U ... hehe ...
עכשיו אני שולח כרטיס לספק האחסון ושואל לגבי רשומת ה- DNS שעלינו להסיר את ה'קשקש '.______
בסדר. ג'אבר, IRC, פייסבוק, Gtalk, אני לא יודע איך ואיפה, אבל התחבר ..
איך השילוב עם ה- LDAP של הפרוזודיה? וה- BD?
כך תעשה זאת: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
כמה תמונות למידע פחות יהיה לא רע ^. ^
בבית יש לי פרוזודיה, התקנתי אותה לבדיקה ואהבתי אותה בפשטותה. פרט בעת עצירת השרת אני צריך לעשות pkill lua5.1 כדי באמת לעצור אותו.
וואו, זה מעניין. האם יש דרך שאנשים אחרים יכולים ליצור משתמשים באמצעות ממשק משתמש (יכול להיות אינטרנט)? איך היית מנסה להשיג דומיין להשתמש בו? 😛
אתה מאפשר את הרישום בתצורת התצורה ומאותו לקוח מקשקש שהם רשומים על ידי סימון האפשרות ליצור חשבון בשרת.
allow_registration = נכון;
אני מחפש חבילות פרוזודיות בסלאק, הדרכה מצוינת. לחיים
כיצד אוכל לאמת אם משתמש הצליח לאמת? או איך אוכל לדעת אם משתמש מחובר לשרת?
הצלחתי 😀 הצלחתי להתקין ולהגדיר אותה בצורה נכונה. התקן את השרת במחשב אחד והלקוח הוא מחשב אחר. אבל יש לי בעיה. על מנת שהלקוח ידע שהשרת שלי עם הדומיין (medellinlibre.org) הוא LOCAL. אני חייב להוסיף לקובץ המארח IPDELSERVIDOR medellinlibre.org. אם לא, זה לא מתחבר, מסיבות ברורות. השאלה שלי היא אם אין שום סיכוי שכל המחשבים ברשת יידעו כברירת מחדל שהתחום הזה נמצא ברשת LAN ב- IP נתון?
אותו ספק! ידעת בסוף ?? אני מתחיל בפרוזודיה ...
פשוט מאוד, ב- pidgin ציין את ה- ip של השרת באפשרויות מתקדמות, האפשרות השנייה היא הרכבת dns ב- LAN שלך.
נושא זה מעניין מאוד ורציתי לדעת אם פרוסודי תומך בשקעי רשת. אני מעוניין ליצור לקוח אינטרנט xmpp
יכולת לראות זאת. http://code.google.com/p/xmppwebchat/
היי, אין לך גרסה של ההדרכה עם תצורה שמיועדת רק לאינטרא-נט מקומי? אין דומיין או משהו כזה. בקושי כך שרק מחשב אחד עם Liñux הוא שרת ושאר המחשבים שמתחברים אליו
זה רק כדי להיות מסוגל לשוחח בין המחשבים באינטרא-נט דרך pidgin.