13f1b3f
Patch by Robert Scheck <robert@fedoraproject.org> for prosody >= 0.9.8 which sets defaults
13f1b3f
specific for Fedora and Red Hat Enterprise (including derivates like CentOS), adds helpful
13f1b3f
comments about optional dependencies and finally includes some upstream recommendations.
13f1b3f
13f1b3f
--- prosody-0.9.8/prosody.cfg.lua.dist			2015-03-24 20:18:04.000000000 +0100
13f1b3f
+++ prosody-0.9.8/prosody.cfg.lua.dist.config		2015-04-14 23:10:31.000000000 +0200
13f1b3f
@@ -44,7 +44,7 @@
13f1b3f
 	
13f1b3f
 	-- These are commented by default as they have a performance impact
13f1b3f
 		--"privacy"; -- Support privacy lists
13f1b3f
-		--"compression"; -- Stream compression
13f1b3f
+		--"compression"; -- Stream compression (Note: Requires installed lua-zlib RPM package)
13f1b3f
 
13f1b3f
 	-- Nice to have
13f1b3f
 		"version"; -- Replies to server version requests
13f1b3f
@@ -63,7 +63,7 @@
13f1b3f
 		--"http_files"; -- Serve static files from a directory over HTTP
13f1b3f
 
13f1b3f
 	-- Other specific functionality
13f1b3f
-		--"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
13f1b3f
+		"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
13f1b3f
 		--"groups"; -- Shared roster support
13f1b3f
 		--"announce"; -- Send announcement to all online users
13f1b3f
 		--"welcome"; -- Welcome users who register accounts
13f1b3f
@@ -87,8 +87,8 @@
13f1b3f
 -- These are the SSL/TLS-related settings. If you don't want
13f1b3f
 -- to use SSL/TLS, you may comment or remove this
13f1b3f
 ssl = {
13f1b3f
-	key = "certs/localhost.key";
13f1b3f
-	certificate = "certs/localhost.crt";
13f1b3f
+	key = "/etc/pki/prosody/localhost.key";
13f1b3f
+	certificate = "/etc/pki/prosody/localhost.crt";
13f1b3f
 }
13f1b3f
 
13f1b3f
 -- Force clients to use encrypted connections? This option will
13f1b3f
@@ -129,7 +129,8 @@
13f1b3f
 -- through modules. An "sql" backend is included by default, but requires
13f1b3f
 -- additional dependencies. See http://prosody.im/doc/storage for more info.
13f1b3f
 
13f1b3f
---storage = "sql" -- Default is "internal"
13f1b3f
+--storage = "sql" -- Default is "internal" (Note: "sql" requires installed
13f1b3f
+-- lua-dbi RPM package)
13f1b3f
 
13f1b3f
 -- For the "sql" backend, you can uncomment *one* of the below to configure:
13f1b3f
 --sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
13f1b3f
@@ -139,46 +140,21 @@
13f1b3f
 -- Logging configuration
13f1b3f
 -- For advanced logging see http://prosody.im/doc/logging
13f1b3f
 log = {
13f1b3f
-	info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
13f1b3f
-	error = "prosody.err";
13f1b3f
-	-- "*syslog"; -- Uncomment this for logging to syslog
13f1b3f
-	-- "*console"; -- Log to the console, useful for debugging with daemonize=false
13f1b3f
+	-- Log everything of level "info" and higher (that is, all except "debug" messages)
13f1b3f
+	-- to /var/log/prosody/prosody.log and errors also to /var/log/prosody/prosody.err
13f1b3f
+	info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
13f1b3f
+	error = "/var/log/prosody/prosody.err"; -- Log errors also to file
13f1b3f
+	-- error = "*syslog"; -- Log errors also to syslog
13f1b3f
+	-- log = "*console"; -- Log to the console, useful for debugging with daemonize=false
13f1b3f
 }
13f1b3f
 
13f1b3f
------------ Virtual hosts -----------
13f1b3f
--- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
13f1b3f
--- Settings under each VirtualHost entry apply *only* to that host.
13f1b3f
-
13f1b3f
-VirtualHost "localhost"
13f1b3f
-
13f1b3f
-VirtualHost "example.com"
13f1b3f
-	enabled = false -- Remove this line to enable this host
13f1b3f
-
13f1b3f
-	-- Assign this host a certificate for TLS, otherwise it would use the one
13f1b3f
-	-- set in the global section (if any).
13f1b3f
-	-- Note that old-style SSL on port 5223 only supports one certificate, and will always
13f1b3f
-	-- use the global one.
13f1b3f
-	ssl = {
13f1b3f
-		key = "certs/example.com.key";
13f1b3f
-		certificate = "certs/example.com.crt";
13f1b3f
-	}
13f1b3f
-
13f1b3f
------- Components ------
13f1b3f
--- You can specify components to add hosts that provide special services,
13f1b3f
--- like multi-user conferences, and transports.
13f1b3f
--- For more information on components, see http://prosody.im/doc/components
13f1b3f
-
13f1b3f
----Set up a MUC (multi-user chat) room server on conference.example.com:
13f1b3f
---Component "conference.example.com" "muc"
13f1b3f
-
13f1b3f
--- Set up a SOCKS5 bytestream proxy for server-proxied file transfers:
13f1b3f
---Component "proxy.example.com" "proxy65"
13f1b3f
-
13f1b3f
----Set up an external component (default component port is 5347)
13f1b3f
---
13f1b3f
--- External components allow adding various services, such as gateways/
13f1b3f
--- transports to other networks like ICQ, MSN and Yahoo. For more info
13f1b3f
--- see: http://prosody.im/doc/components#adding_an_external_component
13f1b3f
---
13f1b3f
---Component "gateway.example.com"
13f1b3f
---	component_secret = "password"
13f1b3f
+-- POSIX configuration, see also http://prosody.im/doc/modules/mod_posix
13f1b3f
+pidfile = "/run/prosody/prosody.pid";
13f1b3f
+--daemonize = false -- Default is "true"
13f1b3f
+
13f1b3f
+------ Additional config files ------
13f1b3f
+-- For organizational purposes you may prefer to add VirtualHost and
13f1b3f
+-- Component definitions in their own config files. This line includes
13f1b3f
+-- all config files in /etc/prosody/conf.d/
13f1b3f
+
13f1b3f
+Include "conf.d/*.cfg.lua"
9af39c8
--- prosody-0.9.8/core/certmanager.lua			2015-03-24 20:18:04.000000000 +0100
9af39c8
+++ prosody-0.9.8/core/certmanager.lua.config		2015-07-13 20:31:28.000000000 +0200
9af39c8
@@ -31,7 +31,8 @@
9af39c8
 
9af39c8
 -- Global SSL options if not overridden per-host
9af39c8
 local default_ssl_config = configmanager.get("*", "ssl");
9af39c8
-local default_capath = "/etc/ssl/certs";
9af39c8
+local default_capath = "/etc/pki/tls/certs";
9af39c8
+local default_cafile = "/etc/pki/tls/certs/ca-bundle.crt";
9af39c8
 local default_verify = (ssl and ssl.x509 and { "peer", "client_once", }) or "none";
9af39c8
 local default_options = { "no_sslv2", "no_sslv3", "cipher_server_preference", luasec_has_noticket and "no_ticket" or nil };
9af39c8
 local default_verifyext = { "lsec_continue", "lsec_ignore_purpose" };
9af39c8
@@ -64,7 +65,7 @@
9af39c8
 		password = user_ssl_config.password or function() log("error", "Encrypted certificate for %s requires 'ssl' 'password' to be set in config", host); end;
9af39c8
 		certificate = resolve_path(config_path, user_ssl_config.certificate);
9af39c8
 		capath = resolve_path(config_path, user_ssl_config.capath or default_capath);
9af39c8
-		cafile = resolve_path(config_path, user_ssl_config.cafile);
9af39c8
+		cafile = resolve_path(config_path, user_ssl_config.cafile or default_cafile);
9af39c8
 		verify = user_ssl_config.verify or default_verify;
9af39c8
 		verifyext = user_ssl_config.verifyext or default_verifyext;
9af39c8
 		options = user_ssl_config.options or default_options;