рд▓рд╛рдЗрдЯрд╡реЗрдЯ рдЬреЗрдмрд░ рдкреНрд░реЛрд╕реЛрдбреА рд╕рд░реНрд╡рд░ (v0.9 рдФрд░ v0.10beta) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдпрд╣ рд▓реЗрдЦ рдШрд░, рд╕рдВрднрд╡рддрдГ рдХреЙрд░реНрдкреЛрд░реЗрдЯ, рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреИрдмрд░ рдкреНрд░реЛрд╕реЛрдбреА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдореЗрд░реЗ рдбреЛрдореЗрди рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬреИрдмрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдЙрдард╛рдирд╛ рдерд╛, рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ (рд╕рдВрднрд╡рддрдГ 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" } --   modules_enabled = { -- Generally required "roster"; -- Allow users to have a roster. Recommended ;) "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. "tls"; -- Add support for secure TLS on c2s/s2s connections "dialback"; -- s2s dialback support "disco"; -- Service discovery "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. -- Not essential, but recommended "private"; -- Private XML storage (for room bookmarks, etc.) "vcard"; -- Allow users to set vCards -- These are commented by default as they have a performance impact --"privacy"; -- Support privacy lists --"compression"; -- Stream compression (requires the lua-zlib package installed) -- Nice to have "version"; -- Replies to server version requests "uptime"; -- Report how long server has been running "time"; -- Let others know the time here on this server "ping"; -- Replies to XMPP pings with pongs "pep"; -- Enables users to publish their mood, activity, playing music and more "register"; -- Allow users to register on this server using a client and change passwords -- Admin interfaces "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands "admin_telnet"; -- Opens telnet console interface on localhost port 5582 } modules_disabled = { } allow_registration = false --       ssl = { --  ssl ,    key = "/etc/prosody/certs/localhost.key"; certificate = "/etc/prosody/certs/localhost.crt"; } c2s_require_encryption = true --  -  s2s_secure_auth = false pidfile = "/var/run/prosody/prosody.pid" authentication = "internal_hashed" --   (    ) storage = "internal" --     log = { info = "/var/log/prosody/prosody.log"; error = "/var/log/prosody/prosody.err"; "*syslog"; } VirtualHost "example.com" --     jabber  ssl = { --       key = "/etc/prosody/certs/example.com.key"; certificate = "/etc/prosody/certs/example.com.crt"; } 

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) рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВред рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрди рд╕реЗ рдкрд╣рд▓реЗ, "-" рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрджрд▓ рджреЗрдВ
 --sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. --sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } --sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "", host = "localhost" } 

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 

рдЕрднрд┐рдпреЛрдЬрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕реА рдХреА рдорджрдж рдХреА, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ рдкреАрдПрдо рдореЗрдВ рджреВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In207032/


All Articles