Mercurial > libervia-pubsub
comparison INSTALL @ 327:6662cc9519cc
updated INSTALL file
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 09 Mar 2016 10:41:38 +0100 |
parents | b76cbf59772b |
children | e93a9fd329d9 |
comparison
equal
deleted
inserted
replaced
326:b76cbf59772b | 327:6662cc9519cc |
---|---|
1 Requirements | 1 Requirements |
2 ============ | 2 ============ |
3 | 3 |
4 - Twisted >= 8.0.1: | 4 - Python 2.7.x |
5 - Twisted >= 15.2.0: | |
5 - Twisted Core | 6 - Twisted Core |
6 - Twisted Words | 7 - Twisted Words |
7 - uuid.py (Python 2.5 std. lib. or http://pypi.python.org/pypi/uuid) | 8 - Wokkel >= 0.7.1 (http://wokkel.ik.nu/) |
8 - Wokkel >= 0.5.0 (http://wokkel.ik.nu/) | 9 - A XMPP server that supports the component protocol (XEP-0114), |
9 - A Jabber server that supports the component protocol (XEP-0114), | 10 and, to enable the micro-blogging feature, Namespace Delegation (XEP-0355) |
10 and, to enable the micro-blogging feature, the Namespace Delegation | 11 and privileged entity (XEP-0356) are needed. |
11 (XEP-0355) and Privileged Entity (XEP-0356) protocols. We recommend | 12 We recommend using Prosody with mod_privilege and mod_delegation modules. |
12 using Prosody. | 13 - SàT backend (http://repos.goffi.org/sat) is currently needed for MAM and RSM handling |
13 | 14 |
14 For the PostgreSQL backend, the following is also required: | 15 For the PostgreSQL backend, the following is also required: |
15 | 16 |
16 - PostgreSQL (including development files for psycopg2) | 17 - PostgreSQL (including development files for psycopg2) |
17 - psycopg2 | 18 - psycopg2 |
34 | 35 |
35 | 36 |
36 Configuration | 37 Configuration |
37 ============= | 38 ============= |
38 | 39 |
39 sat_pubsub uses Twisted's twistd command for running its services. Starting with | 40 sat_pubsub uses Twisted's twistd command for running its services. |
40 Twisted 2.5.0, twistd supports running Twisted Application Plugins directly, | |
41 without the use of mktap. In Twisted 8.1.0, the use of mktap for configuration | |
42 is deprecated. | |
43 | 41 |
44 Idavoll, on which sat_pubsub is based, provides two types of storage for the backend: | 42 Idavoll, on which sat_pubsub is based, provides two types of storage for the backend: |
45 a memory-based storage facility, which is volatile, and a persistent storage facility | 43 a memory-based storage facility, which is volatile, and a persistent storage facility |
46 using PostgreSQL. For now, sat_pubsub only uses the persistent storage facility. | 44 using PostgreSQL. For now, sat_pubsub only uses the persistent storage facility. |
47 | 45 |
50 sudo -u postgres createuser -d -P `whoami` | 48 sudo -u postgres createuser -d -P `whoami` |
51 createdb pubsub | 49 createdb pubsub |
52 psql pubsub < sat_pubsub/db/pubsub.sql | 50 psql pubsub < sat_pubsub/db/pubsub.sql |
53 | 51 |
54 | 52 |
55 Your Jabber server must also be configured to accept component connections and, | 53 Your XMPP server must also be configured to accept component connections and, |
56 to enable the micro-blogging feature, remote roster management. See below for details. | 54 to enable the micro-blogging feature, privileged entity and namespace delegation. |
55 See below for details. | |
57 | 56 |
58 | 57 |
59 Running sat_pubsub | 58 Running sat_pubsub |
60 ================== | 59 ================== |
61 | 60 |
68 The twistd utility has a fair number of options that might be useful, and | 67 The twistd utility has a fair number of options that might be useful, and |
69 can be viewed with: | 68 can be viewed with: |
70 | 69 |
71 twistd --help | 70 twistd --help |
72 | 71 |
73 When the service starts, it will connect to the Jabber server at the local | 72 When the service starts, it will connect to the XMPP server at the local |
74 machine using the component protocol, and assumes the JID 'pubsub'. This | 73 machine using the component protocol, and assumes the JID 'pubsub'. This |
75 assumes a couple of defaults which can be overridden by passing parameters to | 74 assumes a couple of defaults which can be overridden by passing parameters to |
76 the twistd plugin. You can get an overview of the parameters and their defaults | 75 the twistd plugin. You can get an overview of the parameters and their defaults |
77 using: | 76 using: |
78 | 77 |
79 twistd sat_pubsub --help | 78 twistd sat_pubsub --help |
80 | 79 |
81 In particular, the following parameters will be of interest: | 80 In particular, the following parameters will be of interest: |
82 | 81 |
83 --jid: The Jabber ID the component will assume. | 82 --jid: The Jabber ID the component will assume. |
84 --rport: the port number of the Jabber server to connect to | 83 --rport: the port number of the XMPP server to connect to |
85 --secret: the secret used to authenticate with the Jabber server. | 84 --secret: the secret used to authenticate with the XMPP server. |
86 | 85 |
87 For example: | 86 For example: |
88 | 87 |
89 twistd sat_pubsub --jid=sat-pubsub.<xmpp_domain> --secret=<password> | 88 twistd sat_pubsub --jid=sat-pubsub.<your_xmpp_domain> --secret=<password> |
90 | 89 |
91 You may also want to provide the --verbose flag to see the traffic flow, | 90 You may also want to provide the --verbose flag to see the traffic flow, |
92 for example to debug the configuration. Below some specifics for the | 91 for example to debug the configuration. Below some specifics for the |
93 Prosody XMPP server implementation. | 92 Prosody XMPP server implementation. |
94 | 93 |
95 | 94 |
96 Running sat_pubsub with Prosody | 95 Running sat_pubsub with Prosody |
97 =============================== | 96 =============================== |
98 | 97 |
99 To enable the micro-blogging feature with Prosody XMPP server, you need | 98 To enable the micro-blogging feature with Prosody XMPP server, you need |
100 the delegation and privilege plugins: | 99 the mod_delegation and privileged_entity plugins. |
100 Check if the mod_delegation and mod_privilege plugins are already | |
101 in your Prosody installation: | |
101 | 102 |
102 https://modules.prosody.im/mod_delegation.html | 103 cd prosody/plugins |
103 https://modules.prosody.im/mod_privilege.html | 104 ls mod_delegation.lua |
105 ls mod_privilege.lua | |
104 | 106 |
105 Your prosody.cfg.lua file needs to look a bit like that: | 107 If you can't see it, download them from http://modules.prosody.im: |
106 | 108 |
107 [...] | 109 wget http://hg.prosody.im/prosody-modules/raw-file/tip/mod_delegation/mod_delegation.lua |
108 modules_enabled = { | 110 wget http://hg.prosody.im/prosody-modules/raw-file/tip/mod_privilege/mod_privilege.lua |
109 [...] | 111 |
110 "delegation"; | 112 Edit the prosody.cfg.lua file to add this module: |
111 "privilege"; | 113 |
112 } | 114 modules_enabled = { |
113 [...] | 115 [...] |
114 VirtualHost "<xmpp_domain>" | 116 "delegation"; |
117 "privilege"; | |
118 [...] | |
119 } | |
120 | |
121 In your VirtualHost, add this lines: | |
122 | |
123 VirtualHost "<your_xmpp_domain>" | |
115 privileged_entities = { | 124 privileged_entities = { |
116 ["sat-pubsub.<xmpp_domain>"] = { | 125 ["sat-pubsub.<your_xmpp_domain>"] = { |
117 roster = "get"; | 126 roster = "get"; |
118 message = "outgoing"; | 127 message = "outgoing"; |
119 }, | 128 }, |
120 } | 129 } |
121 delegations = { | 130 delegations = { |
122 ["urn:xmpp:mam:1"] = { | 131 ["urn:xmpp:mam:1"] = { |
123 filtering = {"node"}; | 132 filtering = {"node"}; |
124 jid = "sat-pubsub.<xmpp_domain>"; | 133 jid = "sat-pubsub.<your_xmpp_domain>"; |
125 }, | 134 }, |
126 ["http://jabber.org/protocol/pubsub"] = { | 135 ["http://jabber.org/protocol/pubsub"] = { |
127 jid = "sat-pubsub.<xmpp_domain>"; | 136 jid = "sat-pubsub.<your_xmpp_domain>"; |
128 }, | 137 }, |
129 } | 138 } |
130 | 139 |
131 Component "sat-pubsub.<xmpp_domain>" | 140 Also add these two lines at the end of the file, adapting them to your XMPP server |
132 component_secret = "<password>" | 141 domain (virtual host) and selecting a password of your choice: |
133 modules_enabled = {"delegation", "privilege"} | |
134 | 142 |
135 Of course, you have to replace <xmpp_domain> and <password> with the good | 143 Component "sat-pubsub.<your_xmpp_domain>" |
136 values. | 144 component_secret = "<password>" |
145 modules_enabled = {"delegation", "privilege"} | |
137 | 146 |
138 For a more complete installation and configuration of Prosody to be used | 147 For a more complete installation and configuration of Prosody to be used with |
139 with sat_pubsub, please report yourself to the Salut à Toi wiki: | 148 sat_pubsub, please report yourself to the Salut à Toi wiki: |
140 | 149 |
141 http://wiki.goffi.org/wiki/Libervia/en#XMPP_server | 150 http://wiki.goffi.org/wiki/Libervia/en#XMPP_server |