|
@@ -0,0 +1,220 @@
|
|
1
|
+-- Prosody XMPP Server Configuration
|
|
2
|
+--
|
|
3
|
+-- Information on configuring Prosody can be found on our
|
|
4
|
+-- website at http://prosody.im/doc/configure
|
|
5
|
+--
|
|
6
|
+-- Tip: You can check that the syntax of this file is correct
|
|
7
|
+-- when you have finished by running: prosodyctl check config
|
|
8
|
+-- If there are any errors, it will let you know what and where
|
|
9
|
+-- they are, otherwise it will keep quiet.
|
|
10
|
+--
|
|
11
|
+-- Good luck, and happy Jabbering!
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+---------- Server-wide settings ----------
|
|
15
|
+-- Settings in this section apply to the whole server and are the default settings
|
|
16
|
+-- for any virtual hosts
|
|
17
|
+
|
|
18
|
+-- This is a (by default, empty) list of accounts that are admins
|
|
19
|
+-- for the server. Note that you must create the accounts separately
|
|
20
|
+-- (see http://prosody.im/doc/creating_accounts for info)
|
|
21
|
+-- Example: admins = { "user1@example.com", "user2@example.net" }
|
|
22
|
+admins = { }
|
|
23
|
+daemonize = true
|
|
24
|
+cross_domain_bosh = true;
|
|
25
|
+component_ports = { 5347 }
|
|
26
|
+--component_interface = "192.168.0.10"
|
|
27
|
+
|
|
28
|
+-- Enable use of libevent for better performance under high load
|
|
29
|
+-- For more information see: http://prosody.im/doc/libevent
|
|
30
|
+--use_libevent = true
|
|
31
|
+
|
|
32
|
+-- This is the list of modules Prosody will load on startup.
|
|
33
|
+-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
|
|
34
|
+-- Documentation on modules can be found at: http://prosody.im/doc/modules
|
|
35
|
+modules_enabled = {
|
|
36
|
+
|
|
37
|
+ -- Generally required
|
|
38
|
+ "roster"; -- Allow users to have a roster. Recommended ;)
|
|
39
|
+ "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
|
|
40
|
+ "tls"; -- Add support for secure TLS on c2s/s2s connections
|
|
41
|
+ "dialback"; -- s2s dialback support
|
|
42
|
+ "disco"; -- Service discovery
|
|
43
|
+ "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
|
|
44
|
+
|
|
45
|
+ -- Not essential, but recommended
|
|
46
|
+ "private"; -- Private XML storage (for room bookmarks, etc.)
|
|
47
|
+ "vcard"; -- Allow users to set vCards
|
|
48
|
+
|
|
49
|
+ -- These are commented by default as they have a performance impact
|
|
50
|
+ --"privacy"; -- Support privacy lists
|
|
51
|
+ "compression"; -- Stream compression (requires the lua-zlib package installed)
|
|
52
|
+
|
|
53
|
+ -- Nice to have
|
|
54
|
+ "version"; -- Replies to server version requests
|
|
55
|
+ "uptime"; -- Report how long server has been running
|
|
56
|
+ "time"; -- Let others know the time here on this server
|
|
57
|
+ "ping"; -- Replies to XMPP pings with pongs
|
|
58
|
+ "pep"; -- Enables users to publish their mood, activity, playing music and more
|
|
59
|
+ "register"; -- Allow users to register on this server using a client and change passwords
|
|
60
|
+
|
|
61
|
+ -- Admin interfaces
|
|
62
|
+ "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
|
|
63
|
+ --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
|
|
64
|
+
|
|
65
|
+ -- HTTP modules
|
|
66
|
+ "bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
|
|
67
|
+ --"http_files"; -- Serve static files from a directory over HTTP
|
|
68
|
+
|
|
69
|
+ -- Other specific functionality
|
|
70
|
+ --"groups"; -- Shared roster support
|
|
71
|
+ --"announce"; -- Send announcement to all online users
|
|
72
|
+ --"welcome"; -- Welcome users who register accounts
|
|
73
|
+ --"watchregistrations"; -- Alert admins of registrations
|
|
74
|
+ --"motd"; -- Send a message to users when they log in
|
|
75
|
+ --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
|
|
76
|
+ -- jitsi
|
|
77
|
+ "smacks";
|
|
78
|
+ "carbons";
|
|
79
|
+ "mam";
|
|
80
|
+ "lastactivity";
|
|
81
|
+ "offline";
|
|
82
|
+ "pubsub";
|
|
83
|
+ "adhoc";
|
|
84
|
+ "websocket";
|
|
85
|
+ "http_altconnect";
|
|
86
|
+ -- include domain mapper as global level module
|
|
87
|
+ "muc_domain_mapper";
|
|
88
|
+}
|
|
89
|
+
|
|
90
|
+-- domain mapper options, must at least have domain base set to use the mapper
|
|
91
|
+muc_mapper_domain_base = "jitsi.example.com";
|
|
92
|
+
|
|
93
|
+-- These modules are auto-loaded, but should you want
|
|
94
|
+-- to disable them then uncomment them here:
|
|
95
|
+modules_disabled = {
|
|
96
|
+ -- "offline"; -- Store offline messages
|
|
97
|
+ -- "c2s"; -- Handle client connections
|
|
98
|
+ -- "s2s"; -- Handle server-to-server connections
|
|
99
|
+}
|
|
100
|
+
|
|
101
|
+-- Disable account creation by default, for security
|
|
102
|
+-- For more information see http://prosody.im/doc/creating_accounts
|
|
103
|
+allow_registration = false
|
|
104
|
+
|
|
105
|
+-- These are the SSL/TLS-related settings. If you don't want
|
|
106
|
+-- to use SSL/TLS, you may comment or remove this
|
|
107
|
+ssl = {
|
|
108
|
+ key = "/etc/prosody/certs/localhost.key";
|
|
109
|
+ certificate = "/etc/prosody/certs/localhost.crt";
|
|
110
|
+}
|
|
111
|
+
|
|
112
|
+-- Force clients to use encrypted connections? This option will
|
|
113
|
+-- prevent clients from authenticating unless they are using encryption.
|
|
114
|
+
|
|
115
|
+-- c2s_require_encryption = true
|
|
116
|
+
|
|
117
|
+-- Force certificate authentication for server-to-server connections?
|
|
118
|
+-- This provides ideal security, but requires servers you communicate
|
|
119
|
+-- with to support encryption AND present valid, trusted certificates.
|
|
120
|
+-- NOTE: Your version of LuaSec must support certificate verification!
|
|
121
|
+-- For more information see http://prosody.im/doc/s2s#security
|
|
122
|
+
|
|
123
|
+-- s2s_secure_auth = false
|
|
124
|
+
|
|
125
|
+-- Many servers don't support encryption or have invalid or self-signed
|
|
126
|
+-- certificates. You can list domains here that will not be required to
|
|
127
|
+-- authenticate using certificates. They will be authenticated using DNS.
|
|
128
|
+
|
|
129
|
+--s2s_insecure_domains = { "gmail.com" }
|
|
130
|
+
|
|
131
|
+-- Even if you leave s2s_secure_auth disabled, you can still require valid
|
|
132
|
+-- certificates for some domains by specifying a list here.
|
|
133
|
+
|
|
134
|
+--s2s_secure_domains = { "jabber.org" }
|
|
135
|
+
|
|
136
|
+-- Required for init scripts and prosodyctl
|
|
137
|
+pidfile = "/var/run/prosody/prosody.pid"
|
|
138
|
+
|
|
139
|
+-- Select the authentication backend to use. The 'internal' providers
|
|
140
|
+-- use Prosody's configured data storage to store the authentication data.
|
|
141
|
+-- To allow Prosody to offer secure authentication mechanisms to clients, the
|
|
142
|
+-- default provider stores passwords in plaintext. If you do not trust your
|
|
143
|
+-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed
|
|
144
|
+-- for information about using the hashed backend.
|
|
145
|
+
|
|
146
|
+-- authentication = "internal_plain"
|
|
147
|
+authentication = "internal_hashed"
|
|
148
|
+
|
|
149
|
+-- Select the storage backend to use. By default Prosody uses flat files
|
|
150
|
+-- in its configured data directory, but it also supports more backends
|
|
151
|
+-- through modules. An "sql" backend is included by default, but requires
|
|
152
|
+-- additional dependencies. See http://prosody.im/doc/storage for more info.
|
|
153
|
+
|
|
154
|
+--storage = "sql" -- Default is "internal"
|
|
155
|
+
|
|
156
|
+-- For the "sql" backend, you can uncomment *one* of the below to configure:
|
|
157
|
+--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
|
|
158
|
+--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
|
159
|
+--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
|
160
|
+
|
|
161
|
+-- Logging configuration
|
|
162
|
+-- For advanced logging see http://prosody.im/doc/logging
|
|
163
|
+log = {
|
|
164
|
+ info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
|
|
165
|
+ error = "/var/log/prosody/prosody.err";
|
|
166
|
+ "*syslog";
|
|
167
|
+}
|
|
168
|
+
|
|
169
|
+----------- Virtual hosts -----------
|
|
170
|
+-- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
|
|
171
|
+-- Settings under each VirtualHost entry apply *only* to that host.
|
|
172
|
+
|
|
173
|
+--VirtualHost "localhost"
|
|
174
|
+
|
|
175
|
+VirtualHost "jitsi.example.com"
|
|
176
|
+ -- enabled = false -- Remove this line to enable this host
|
|
177
|
+ authentication = "anonymous"
|
|
178
|
+ -- Assign this host a certificate for TLS, otherwise it would use the one
|
|
179
|
+ -- set in the global section (if any).
|
|
180
|
+ -- Note that old-style SSL on port 5223 only supports one certificate, and will always
|
|
181
|
+ -- use the global one.
|
|
182
|
+ ssl = {
|
|
183
|
+ key = "/var/lib/prosody/jitsi.example.com.key";
|
|
184
|
+ certificate = "/var/lib/prosody/jitsi.example.com.crt";
|
|
185
|
+ }
|
|
186
|
+
|
|
187
|
+ c2s_require_encryption = false
|
|
188
|
+
|
|
189
|
+VirtualHost "auth.jitsi.example.com"
|
|
190
|
+ ssl = {
|
|
191
|
+ key = "/var/lib/prosody/auth.jitsi.example.com.key";
|
|
192
|
+ certificate = "/var/lib/prosody/auth.jitsi.example.com.crt";
|
|
193
|
+ }
|
|
194
|
+ authentication = "internal_plain"
|
|
195
|
+
|
|
196
|
+------ Components ------
|
|
197
|
+-- You can specify components to add hosts that provide special services,
|
|
198
|
+-- like multi-user conferences, and transports.
|
|
199
|
+-- For more information on components, see http://prosody.im/doc/components
|
|
200
|
+
|
|
201
|
+---Set up a MUC (multi-user chat) room server on conference.example.com:
|
|
202
|
+--Component "conference.example.com" "muc"
|
|
203
|
+
|
|
204
|
+-- Set up a SOCKS5 bytestream proxy for server-proxied file transfers:
|
|
205
|
+--Component "proxy.example.com" "proxy65"
|
|
206
|
+
|
|
207
|
+---Set up an external component (default component port is 5347)
|
|
208
|
+--
|
|
209
|
+-- External components allow adding various services, such as gateways/
|
|
210
|
+-- transports to other networks like ICQ, MSN and Yahoo. For more info
|
|
211
|
+-- see: http://prosody.im/doc/components#adding_an_external_component
|
|
212
|
+--
|
|
213
|
+--Component "gateway.example.com"
|
|
214
|
+-- component_secret = "password"
|
|
215
|
+
|
|
216
|
+Component "conference.jitsi.example.com" "muc"
|
|
217
|
+ modules_enabled = { "muc_domain_mapper" }
|
|
218
|
+
|
|
219
|
+Component "jitsi-videobridge.jitsi.example.com"
|
|
220
|
+ component_secret = "IfGaish6"
|