рдпрд╣ рд▓реЗрдЦ рдШрд░, рд╕рдВрднрд╡рддрдГ рдХреЙрд░реНрдкреЛрд░реЗрдЯ, рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреИрдмрд░ рдкреНрд░реЛрд╕реЛрдбреА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдореЗрд░реЗ рдбреЛрдореЗрди рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬреИрдмрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдЙрдард╛рдирд╛ рдерд╛, рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ (рд╕рдВрднрд╡рддрдГ
XEP-0136 рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛), рдЕрдиреНрдп рдЬреИрдмрд░ рд╕рд░реНрд╡рд░, рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИ рдФрд░ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдЙрдард╛рдпрд╛, рддреЛ рдореИрдВ рджреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЖрдЬ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред
Prosody рдПрдХ рд╣рд▓реНрдХрд╛ jabber рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рд▓реБрдЖ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрдИ XEP (XMPP рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдорд╛рдирдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ; рдЖрдк рдЗрд╕
рдкреГрд╖реНрда рдкрд░ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдорд╛рдирдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред "рдХреНрдпреЛрдВ рд▓реБрдЖ" рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рдпреЛрдЬрдХ
рдореИрдереНрдпреВ рд╡рд╛рдЗрд▓реНрдб рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдкрд╕рдВрдж рдХрд╛ рдХрд╛рд░рдг рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдбреЗрдмрд┐рдпрди 7 рдкрд░ рдЕрднрд┐рдпреЛрдЬрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ред
рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ source.list рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
$ echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list
рдЖрдкрдХреЛ рдХреБрдВрдЬреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рдж:
$ wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ sudo apt-get update
рдЙрд╕рдХреЗ рдмрд╛рдж рдкреНрд░реЛрд╕рд┐рдбрд┐ v0.9 рдФрд░ v0.10 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдВрдЧреЗ
Prosody 0.9 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ 0.9, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд┐рд░:
$ sudo apt-get install prosody
рд╣рдо рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдкреНрд░реЛрд╕рд┐рдбрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдлрд╛рдЗрд▓ "/etc/prosody/prosody.cfg.lua" рдореЗрдВ рдореМрдЬреВрдж рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВ рддреБрд░рдВрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдХреЙрдиреНрдлрд┐рдЧ рджреЗ рджреВрдВрдЧрд╛:
admins = { "user@example.com" }
example.com рдХреЛ рд╣рд░ рдЬрдЧрд╣ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ sudo prosodyctl cert generate example.com $ sudo cp /usr/lib/prosody/example.com* /etc/prosody/certs/
рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:
$ sudo prosodyctl register user example.com password $ sudo prosodyctl restart
рдЕрдм рдЖрдк рд╕рд░реНрд╡рд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрд╕реЛрдбреА рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк s2s (рд╕рд░реНрд╡рд░-рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░) рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ srv dns рдореЗрдВ рдХреБрдЫ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
_xmpp-client._tcp.example.comред 18000 рдореЗрдВ рдПрд╕рдЖрд░рд╡реА 0 5 5222 xmpp.example.comред
_xmpp-server._tcp.example.comред 18000 рдореЗрдВ рдПрд╕рдЖрд░рд╡реА 0 5 5269 xmpp.example.comред
jabber._tcp.example.comред 18000 рдореЗрдВ рдПрд╕рдЖрд░рд╡реА 0 5 5269 xmpp.example.comред
рдЬреИрд╕реЗ рд╣реА рдбреЗрдЯрд╛ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЖрдкрдХреЛ s2s рд╕рдВрдЪрд╛рд░ рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЖрдк jabber.ru рдкрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ s2s рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА jabber рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрджреЗрд╢ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, prosody рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ "mod_message_log" рдирд╛рдордХ prosody-рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрднрд┐рдпреЛрдЬрди рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
1) рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде / usr / lib / рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рд▓реБрдЖ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдореЙрдбреНрдпреВрдирд▓ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
modules_enabled = { ... "message_logging"; ... }
2) рдХрд┐рд╕реА рднреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреНрд▓реЛрди рдкреНрд░реЛрд╕рд┐рдбрд┐-рдореЙрдбреНрдпреВрд▓, рдЗрд╕реЗ рдкреНрд░реЛрд╕реЛрдбреА рдпреВрдЬрд░ рдХреЗ рд▓рд┐рдП рд░реАрдб рдХреА рдкрд░рдорд┐рд╢рди рджреЗрдВ рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
plugin_paths = { "/usr/lib/prosody/modules", "/path/to/prosody-modules" } ... modules_enabled = { ... "message_logging"; ... }
рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
$ prosodyctl restart
рдФрд░ рд╣рдо / / var / lib / prosody / message_log / рдореЗрдВ рд╕рдВрджреЗрд╢ рдЗрддрд┐рд╣рд╛рд╕ рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ 1 рджрд┐рди рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд╕рдВрджреЗрд╢ рдЗрддрд┐рд╣рд╛рд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН /var/lib/prosody/message_logs/example.com/2013-12-20/user.msglog рдореЗрдВ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╣реИрдВ рдкреВрд░реЗ рджрд┐рди рдЙрдирдХреЗ рд╕рднреА рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рдеред
рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдЕрднрд┐рдпреЛрдЬрди рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдВрджреЗрд╢ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВрдиреЗ mod_message_log рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣
mod_message_loggind_diff_file рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рд╣реИ - рдкрде / рд╕рдВрд╕реНрдХрд░рдг / lib / prosody / рд╕рдВрджреЗрд╢ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде /example.com/2013-12-20/user рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рд╕рднреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕рдВрдкрд░реНрдХ рдпрд╛ рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдЬрд┐рдж рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "prosody% 40conference.prosody.im.msglog"ред
рдЖрдк рдорд╛рдирдХ mod_message_logging рд╕реЗ рднреА рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░реЛрд╕реЛрдбреА рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ XER-0136 (рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди) рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ mod_mam рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдмрд╕ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрд╕реЛрдбреА 0.9 рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред
SQL рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ рдкреНрд░реЛрд╕реАрдХреНрдпреВрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрд╕реЛрдбреА рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдбреЗрдмрд┐рдпрди рдФрд░ рд╕реЗрдВрдЯреЛ рдореЗрдВ рдмрд╣реБрдд рд╣рдж рддрдХ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдмреВрдЯ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди sql2 рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдЬреЛ 0.10 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╣рдордиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░реЙрдмреЙрдбреА 0.10 + mod_mam рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░реЛрд╕рд┐рдбрд░реА 0.10 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рдВрд╕реНрдХрд░рдг 0.10 рдХреА рд╕реНрдерд╛рдкрдирд╛, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмреАрдЯрд╛:
$ sudo apt-get install prosody-0.10
рдЕрдЧрд▓рд╛, рд╣рдо рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг 0.9 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдм рдХреБрдЫ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред
1) рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рд╕реНрдерд╛рди рдХреЛ рдЖрдВрддрд░рд┐рдХ рд╕реЗ sql2 рдореЗрдВ рдмрджрд▓реЗрдВ
storage = "sql2"
2) рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВред рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрди рд╕реЗ рдкрд╣рд▓реЗ, "-" рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрджрд▓ рджреЗрдВ
3) рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lua рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП sqlite
$ sudo apt-get install lua-dbi-sqlite3
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдореЙрдбреНрдпреВрд▓ "mod_mam" рдирд╛рдо рдХреЗ рддрд╣рдд prosody-
рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдЗрддрд┐рд╣рд╛рд╕ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдореНрдореЗрд▓рдиреЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ mod_message_log рдпрд╛ mod_message_loggind_diff_files рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдПрдХ рдореЙрдбреНрдпреВрд▓ рднреА рд╣реИ рдЬреЛ рдХреЙрдиреНрдлрд╝реНрд░реЗрдВрд╕ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ mod_mam_muc, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдард╛рдП рдЧрдП рд╕реНрдерд╛рдиреАрдп рд╕рдореНрдореЗрд▓рдиреЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢ рдмрдЪрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
рдЕрднрд┐рдпреЛрдЬрди рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
1) рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде / usr / lib / рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рд▓реБрдЖ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдореЙрдбреНрдпреВрдирд▓ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
modules_enabled = { ... "mam"; ... }
2) рдХрд┐рд╕реА рднреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреНрд▓реЛрди рдкреНрд░реЛрд╕рд┐рдбрд┐-рдореЙрдбреНрдпреВрд▓, рдЗрд╕реЗ рдкреНрд░реЛрд╕реЛрдбреА рдпреВрдЬрд░ рдХреЗ рд▓рд┐рдП рд░реАрдб рдХреА рдкрд░рдорд┐рд╢рди рджреЗрдВ рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
plugin_paths = { "/usr/lib/prosody/modules", "/path/to/prosody-modules" } ... modules_enabled = { ... "mam"; ... }
рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
$ prosodyctl restart
рдЕрднрд┐рдпреЛрдЬрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕реА рдХреА рдорджрдж рдХреА, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ рдкреАрдПрдо рдореЗрдВ рджреВрдВрдЧрд╛ред