Synchronet v3.21e-Win32 (install) has been released (Mar-2026).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
server:web [2026/02/12 00:27] – Add some missing (new and old) options digital manserver:web [2026/03/04 13:51] (current) – [Reference] mention letsyncrypt nelgin
Line 89: Line 89:
 | OutbufDrainTimeout       | ''10''           | Number of milliseconds to wait for output buffer to drain | | OutbufDrainTimeout       | ''10''           | Number of milliseconds to wait for output buffer to drain |
 | TempDirectory            | ''../temp/''     | Override default temporary file directory | | TempDirectory            | ''../temp/''     | Override default temporary file directory |
 +| LoginRequirements        | [global]         | [[:Access:]] [[:access:requirements]] (in ARS format) for users to be allowed login |
 | LoginAttempt*            | [global]         | Failed login attempt throttling / filtering / banning | | LoginAttempt*            | [global]         | Failed login attempt throttling / filtering / banning |
 | LoginInfoSave            |                  | An optional [[access:requirements|ARS]] that can be used to limit which users will have their login details saved to the userbase | | LoginInfoSave            |                  | An optional [[access:requirements|ARS]] that can be used to limit which users will have their login details saved to the userbase |
Line 102: Line 103:
 In addition to the [[config:sbbs.ini|standard options]], the web server also supports the following: In addition to the [[config:sbbs.ini|standard options]], the web server also supports the following:
  
-== DEBUG_RX ==+^ Option        ^ Description ^ 
 +| VIRTUAL_HOSTS | Supports name-based virtual hosts. | 
 +| NO_JAVASCRIPT | Disable SSJS execution. | 
 +| NO_CGI        | Disable CGI/FastCGI script execution. | 
 +| NO_HTTP       | Disable plain-text HTTP support | 
 +| NO_FILEBASE   | Disable FileBase support | 
 +| HTTP_LOGGING  | Enable logging to a Combined Log Format or Custom Log Format http access log.  Useful for running log analysis programs (like Webalizer: http://www.mrunix.net/webalizer/). | 
 +| ONE_HTTP_LOG  | When enabled along with VIRTUAL_HOSTS, client requests will be logged to a single file instead of a separate file per requested virtual host or IP address. | 
 +| ALLOW_TLS     | Enable TLS/SSL support (required for HTTPS) | 
 +| HSTS_SAFE     | Indicates that all URLs available via http are also available via https and redirects clients who want a TLS session to the https location. | 
 +| HAPROXY_PROTO | Indicate that incoming requests are via HAproxy | 
 +DEBUG_RX      | Log all received data to the console log, as well as various extra bits related to receiving data. | 
 +| DEBUG_TX      | Log all transmitted data except the reply body itself, as well as various extra bits of information related to transmitted data. | 
 +| DEBUG_SSJS    | Log server-side JavaScript execution details. |
  
-Log all received data to the console log, as well as various +==== Reference ====
-extra bits related to receiving data.+
  
-== DEBUG_TX == +Web Server configuration settings reference: 
- +  
-Log all transmitted data except the reply body itself, as well +=== Virtual Hosts ===
-as various extra bits of information related to transmitted +
-data. +
- +
-== DEBUG_SSJS == +
- +
-Log server-side JavaScript execution details.+
  
-== VIRTUAL_HOSTS ==+If your system has multiple 
 +host names, you can have each host name return unique content depending on which hostname is used.  ie: if ''freebsd.synchro.net'' and ''nix.synchro.net'' both resolved to your system, you could have FreeBSD-specific pages on one, and general *nix stuff on the other.
  
-Supports name-based virtual hosts.  If your system has multiple +virtual host is added by simply putting the desired content into a sub-directory of [[#RootDirectory]] with the desired hostname ie: ''web/root/freebsd.synchro.net/'' if the browser doesn't send 
-host names, you can have each host name return unique content +the request host name (very old browsers, or some automated tools) they will be served out of document root. It is therefore a good idea to put links to your various virtual hosts in an ''index.html'' page in [[#RootDirectory]] something like this:
-depending on which hostname is used.  ie: if +
-''freebsd.synchro.net'' and ''nix.synchro.net'' both resolved to your +
-system, you could have FreeBSD-specific pages on one, and  +
-general *nix stuff on the other.+
  
-A virtual host is added by simply putting the desired content 
-into a sub-directory of [[#RootDirectory]] with the desired hostname 
-ie: ''web/root/freebsd.synchro.net/'' if the browser doesn't send 
-the request host name (very old browsers, or some automated 
-tools) they will be served out of document root. 
-It is therefore a good idea to put links to your various 
-virtual hosts in an ''index.html'' page in [[#RootDirectory]] something 
-like this: 
 <code html> <code html>
 <html> <html>
Line 150: Line 146:
 </code> </code>
  
-== NO_CGI == 
- 
-Disable CGI/FastCGI script execution. 
- 
-== HTTP_LOGGING == 
- 
-Enable logging to a Combined Log Format or Custom Log Format http access log.  Useful for running log analysis programs (like Webalizer: http://www.mrunix.net/webalizer/). 
- 
-== ONE_HTTP_LOG == 
- 
-When enabled along with VIRTUAL_HOSTS, client requests will be logged to a single file instead of a separate file per requested virtual host or IP address. 
- 
-== NO_JAVASCRIPT == 
- 
-Disable SSJS execution. 
- 
-== ALLOW_TLS == 
- 
-Enable TLS/SSL support. 
- 
-== HSTS_SAFE == 
- 
-Indicates that all URLs available via http are also available via https and redirects clients who want a TLS session to the https location. 
- 
-==== Reference ==== 
- 
-Web Server configuration settings reference: 
-  
 === RootDirectory === === RootDirectory ===
  
Line 186: Line 154:
  
 **NOTE**: Older versions of Synchronet had this value default to ''../web/html'' **NOTE**: Older versions of Synchronet had this value default to ''../web/html''
 +
 +**NOTE**: If you change the root directory and use letsyncrypt for your certificate management, you will want to update the Domains section of letsyncrypt.ini in the ctrl directory. You will also need to do that if you have a virtual host so Let's Encrypt can find the correct document root.
 +
  
 === ErrorDirectory === === ErrorDirectory ===
Line 265: Line 236:
  
 The prefix of HTTP access log filenames, used when HTTP_LOGGING is enabled.  By default (when the ''ONE_HTTP_LOG'' option is **not** enabled), the current virtual host, date, and ''.log'' are appended to this string (e.g.''http-2005-03-12.log''). The prefix of HTTP access log filenames, used when HTTP_LOGGING is enabled.  By default (when the ''ONE_HTTP_LOG'' option is **not** enabled), the current virtual host, date, and ''.log'' are appended to this string (e.g.''http-2005-03-12.log'').
 +
 +=== CustomLogFormat ===
 +
 +When the ''CustomLogFormat'' setting is not used, the default format is the Apache "Combined Log Format".
 +
 +When the ''CustomLogFormat'' setting is used, the supported [[https://httpd.apache.org/docs/current/mod/mod_log_config.html|Apache Custom Log Format directives]] are:
 +
 +| %% | The percent sign | 
 +| %a | Client IP address of the request | 
 +| %B | Size of response in bytes, excluding HTTP headers. | 
 +| %b | Size of response in bytes, excluding HTTP headers. In CLF format |  
 +| %h | Remote hostname or IP address | 
 +| %H | The request protocol | 
 +| %l | Remote logname (from identd, if supplied) | 
 +| %p | Server TCP port number |
 +| %r | First line of request | 
 +| %s | Status | 
 +| %t | Time the request was received, in the format [18/Sep/2011:19:18:28 -0400] | 
 +| %u | Remote user if the request was authenticated | 
 +| %v | The canonical ServerName of the server serving the request. (the vhost) | 
 +| %{remote}p | the client's actual port | 
 +| %{Referer}i | the HTTP Referer [sic] header line | 
 +| %{User-agent}i | the HTTP User-agent header line |
 +
 +Note: Double-quote characters used in the format string do **not** need to be escaped (i.e. with a backslash)
 +
 +Example:
 +
 +This is the equivalent of Apache's combined log format which is used by default.
 +
 +    CustomLogFormat = %h %l %u %t "%r" %s - "%{Referer}i" "%{User-agent}i"
 +
 +This is the equivalent of Apache's vhost_combined log format.
 +    
 +    CustomLogFormat = %v:%p %h %l %u %t "%r" %s - "%{Referer}i" "%{User-agent}i"
 +
  
 === FileVPathPrefix === === FileVPathPrefix ===