# HG changeset patch
# User Matthew Wild <mwild1@gmail.com>
# Date 1271246470 -3600
# Node ID 0395f2f34bd55a01ec7276884fb9a4e0051b0e7a
# Parent  15a7afea7f595412f1e4c689e7e0f387063c4ec8
prosody.cfg.lua.dist: Refactor the default config file based on feedback from confused users

diff -r 15a7afea7f59 -r 0395f2f34bd5 prosody.cfg.lua.dist
--- a/prosody.cfg.lua.dist	Wed Apr 14 13:00:24 2010 +0100
+++ b/prosody.cfg.lua.dist	Wed Apr 14 13:01:10 2010 +0100
@@ -1,101 +1,86 @@
--- Prosody Example Configuration File 
+-- Prosody Example Configuration File
+-- 
+-- Information on configuring Prosody can be found on our
+-- website at http://prosody.im/doc/configure
 -- 
--- If it wasn't already obvious, -- starts a comment, and all 
--- text after it on a line is ignored by Prosody.
---
--- The config is split into sections, a global section, and one 
--- for each defined host that we serve. You can add as many host 
--- sections as you like.
---
--- Lists are written { "like", "this", "one" } 
--- Lists can also be of { 1, 2, 3 } numbers, and other things. 
--- Either commas, or semi-colons; may be used
--- as seperators.
+-- Tip: You can check that the syntax of this file is correct
+-- when you have finished by running: luac -p prosody.cfg.lua
+-- If there are any errors, it will let you know what and where
+-- they are, otherwise it will keep quiet.
 --
--- A table is a list of values, except each value has a name. An 
--- example table would be:
---
--- ssl = { key = "keyfile.key", certificate = "certificate.cert" }
---
--- Whitespace (that is tabs, spaces, line breaks) is mostly insignificant, so 
--- can 
--- be placed anywhere that 	you deem fitting.
---
--- Tip: You can check that the syntax of this file is correct when you have finished
--- by running: luac -p prosody.cfg.lua
--- If there are any errors, it will let you know what and where they are, otherwise it 
--- will keep quiet.
---
--- The only thing left to do is rename this file to remove the .dist ending, and fill in the 
+-- The only thing left to do is rename this file to remove the .dist ending, and fill in the
 -- blanks. Good luck, and happy Jabbering!
 
--- Server-wide settings go in this section
-Host "*"
-	
-	-- This is a (by default, empty) list of accounts that are admins 
-	-- for the server. Note that you must create the accounts separately
-	-- (see http://prosody.im/doc/creating_accounts for info)
-	-- Example: admins = { "user1@example.com", "user2@example.net" }
-	admins = { }
-	
-	-- This is the list of modules Prosody will load on startup.
-	-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
-	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
-			
-			-- Not essential, but recommended
-				"private"; -- Private XML storage (for room bookmarks, etc.)
-				"vcard"; -- Allow users to set vCards
-			
-			-- Nice to have
-				"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
-				"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
+
+---------- Server-wide settings ----------
+-- Settings in this section apply to the whole server and are the default settings
+-- for any virtual hosts
+
+-- This is a (by default, empty) list of accounts that are admins
+-- for the server. Note that you must create the accounts separately
+-- (see http://prosody.im/doc/creating_accounts for info)
+-- Example: admins = { "user1@example.com", "user2@example.net" }
+admins = { }
+
+-- This is the list of modules Prosody will load on startup.
+-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
+modules_enabled = {
 
-			-- Other specific functionality
-				--"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
-			  	--"console"; -- Opens admin telnet interface on localhost port 5582
-				--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
-				--"httpserver"; -- Serve static files from a directory over HTTP
-			  };
+	-- 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
+	
+	-- Not essential, but recommended
+		"private"; -- Private XML storage (for room bookmarks, etc.)
+		"vcard"; -- Allow users to set vCards
 	
-	-- These modules are auto-loaded, should you
-	-- for (for some mad reason) want to disable
-	-- them then uncomment them below
-	modules_disabled = {
-			-- "presence";
-			-- "message";
-			-- "iq";
-	};
+	-- Nice to have
+		"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
+		"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
+	
+	-- Other specific functionality
+		--"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
+		--"console"; -- Opens admin telnet interface on localhost port 5582
+		--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
+		--"httpserver"; -- Serve static files from a directory over HTTP
+};
 
-	-- Disable account creation by default, for security
-	-- For more information see http://prosody.im/doc/creating_accounts
-	allow_registration = false;
+-- These modules are auto-loaded, should you
+-- for (for some mad reason) want to disable
+-- them then uncomment them below
+modules_disabled = {
+	-- "presence";
+	-- "message";
+	-- "iq";
+};
+
+-- Disable account creation by default, for security
+-- For more information see http://prosody.im/doc/creating_accounts
+allow_registration = false;
 	
-	-- These are the SSL/TLS-related settings. If you don't want
-	-- to use SSL/TLS, you may comment or remove this
-	ssl = { 
-		key = "certs/localhost.key";
-		certificate = "certs/localhost.cert";
-		}
+-- These are the SSL/TLS-related settings. If you don't want
+-- to use SSL/TLS, you may comment or remove this
+ssl = {
+	key = "certs/localhost.key";
+	certificate = "certs/localhost.cert";
+}
 
--- This allows clients to connect to localhost. No harm in it.
-Host "localhost"
+----------- Virtual hosts -----------
+-- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
+-- Settings under each VirtualHost entry apply *only* to that host.
 
--- Section for example.com
--- (replace example.com with your domain name)
-Host "example.com"
+VirtualHost "localhost"
 
-	enabled = false -- This will disable the host, preserving the config, but denying connections
+VirtualHost "example.com"
+	enabled = false -- Remove this line to enable this host
 
 	-- Assign this host a certificate for TLS, otherwise it would use the one
 	-- set in the global section (if any).
@@ -106,5 +91,14 @@
 		certificate = "certs/example.com.crt";
 		}
 
--- Set up a MUC (multi-user chat) room server on conference.example.com:
-Component "conference.example.com" "muc"
+------ Components ------
+-- You can specify components to add hosts that provide special services,
+-- like multi-user conferences, and transports.
+-- For more information on components, see http://prosody.im/doc/components
+
+---Set up a MUC (multi-user chat) room server on conference.example.com:
+--Component "conference.example.com" "muc"
+
+---Set up an external component (default component port is 5347)
+--Component "gateway.example.com"
+--	component_secret = "password"