Difference between revisions of "Prosody"
m (→See also) |
(→Chatrooms: conf) |
||
Line 1: | Line 1: | ||
{{stub}} | {{stub}} | ||
[https://prosody.im Prosody] is a light-weight, easy to configure, [[XMPP]] server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the [[Semantic Web]] movement which is all about achieving the functionality we need using open standards instead of specific applications. | [https://prosody.im Prosody] is a light-weight, easy to configure, [[XMPP]] server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the [[Semantic Web]] movement which is all about achieving the functionality we need using open standards instead of specific applications. | ||
+ | |||
+ | == Configuration == | ||
+ | The ''prosody'' configuration is in ''/etc/prosody'' with a similar style to ''Apache'' or ''Nginx'' where individual site's configuration each exist in their own file in the ''conf.avail'' sub-directory usually having a filename matching the domain name. Sites are then enabled by creating sym-links in the ''conf.d'' sub-directory pointing to the available sites. | ||
+ | |||
+ | Here's an example configurtion file for a specific domain which is set up as a chatroom server starting with the familiar ''VirtualHost'' directive to indicate the domain that this configuration covers. | ||
+ | <source lang="lua"> | ||
+ | VirtualHost "xmpp.dharma.casa" | ||
+ | |||
+ | ssl = { | ||
+ | key = "/etc/prosody/certs/xmpp.dharma.casa.key"; | ||
+ | certificate = "/etc/prosody/certs/xmpp.dharma.casa.crt"; | ||
+ | } | ||
+ | |||
+ | admins = { "aran@xmpp.dharma.casa" } | ||
+ | |||
+ | Component "conference.xmpp.dharma.casa" "muc" | ||
+ | name = "The dharma.casa XMPP chatrooms server" | ||
+ | restrict_room_creation = true | ||
+ | allow_registration = false | ||
+ | c2s_require_encryption = true | ||
+ | s2s_require_encryption = true | ||
+ | modules_enabled = { | ||
+ | "tls", | ||
+ | "roster", | ||
+ | "register" | ||
+ | } | ||
+ | </source> | ||
== Chatrooms == | == Chatrooms == |
Revision as of 23:58, 8 May 2020
Prosody is a light-weight, easy to configure, XMPP server. XMPP is an open and extensible Internet protocol used for communications, presence, identification, authentication etc. It's a big part of the Semantic Web movement which is all about achieving the functionality we need using open standards instead of specific applications.
Contents
Configuration
The prosody configuration is in /etc/prosody with a similar style to Apache or Nginx where individual site's configuration each exist in their own file in the conf.avail sub-directory usually having a filename matching the domain name. Sites are then enabled by creating sym-links in the conf.d sub-directory pointing to the available sites.
Here's an example configurtion file for a specific domain which is set up as a chatroom server starting with the familiar VirtualHost directive to indicate the domain that this configuration covers.
VirtualHost "xmpp.dharma.casa"
ssl = {
key = "/etc/prosody/certs/xmpp.dharma.casa.key";
certificate = "/etc/prosody/certs/xmpp.dharma.casa.crt";
}
admins = { "aran@xmpp.dharma.casa" }
Component "conference.xmpp.dharma.casa" "muc"
name = "The dharma.casa XMPP chatrooms server"
restrict_room_creation = true
allow_registration = false
c2s_require_encryption = true
s2s_require_encryption = true
modules_enabled = {
"tls",
"roster",
"register"
}
Chatrooms
SSL
Todo: import script needed for LE certs, can use LE's hook