Configuring the ListManager Web Server - tclhttpd.rc

 

The file ~listmanager/tclweb/bin/tclhttpd.rc contains the configuration information for the ListManager Web Server. The ListManager web server will be configured for you automatically during installation. If for some reason you need to change the configuration (for example, if you'd like to move the web interface to another port), edit ~ListManager/tclweb/bin/tclhttpd.rc with a plain-text editor.

 

The file contains notes about each setting and how to configure them. These settings are those that may need to be changed if you change the name of your server, the port it should listen to, or the TCP/IP address it uses.

 

Config host

The fully-qualified host name of this server.

 

Config port

The port the web server uses for HTTP requests. The default is 80. If you have another web server running on the same machine as ListManager, the installer will have moved the port (e.g., 81). If you change the port of the web server, be sure to change the URL to Web Interface in Utilities: Administration: Sites: Edit Site: Essentials.

 

Config ipaddr

The TCP/IP address used by the web server. By default, this is set to your host name. To force it to use only one IP address (for instance, if you are behind a firewall), enter that IP address here. If you change the port of the web server, be sure to change the URL to Web Interface in Utilities: Administration: Sites: Edit Site: Essentials.

 

Config USE_TLS1

Enables SSL support for the ListManager Web Server. See Adding SSL to the ListManager Web Server for more information about SSL support. Note that "0" disables the SSL support, and "1" enables it.

 

iocp_overlapped_accept_count

Sets how "bullet-proof" the web server's listening socket is from heavy loads and SYN flood attacks. This limit should be raised if connecting clients complain about CONREFUSED or TIMEOUT errors, or the server log files list many "peer disconnect" errors in a row.

 

In severe lab testing, the developer discovered that a setting of 700 appears to completely bullet-proof, but that setting does reserve about 337K of the special 'non paged' memory pool. The 'non paged pool' is a global resource and is limited to about 1/4 of the physical memory of the machine for all processes combined. Each count is equivalent to about 500 bytes of reserve.

 

Tclport Connection Information

The following settings are used by the webserver to talk to ListManager. Changes to these settings may disable your web interface unless the same changes are made to the ListManager lyrConfigNodeSettings table.

 

Config tclport_ip

The TCP/IP address of your ListManager server. If the web interface is running on the same machine as ListManager, then this setting should be the TCP/IP address of your machine or 127.0..1.

 

However, there is no requirement that the web interface be on the same computer as the ListManager. If this is the case, then this parameter should point to the TCP/IP address of the ListManager you want to display.

 

By default, this setting should be "127.0..1", meaning that the ListManager is on the same machine as this web interface. See Installing the Web Server on a Separate Machine for more information about having the web server on a separate machine.

 

Config tclport_port

The port number that should be used by the ListManager Web Server to talk to ListManager. This value is 2021 by default. If this value is changed, it must also be changed in ListManager by running

 

lm tclport number

 

See Setting Server Options for more information.

 

Config tclport_password

The login password used by the ListManager Web Server when connecting to ListManager. This value is TCLPORTPasswd by default. This password must be the same as the value in the ListManager lyrConfigClusterSettings table in order for the web interface to function. This is a security precaution so that unauthorized users cannot access the ListManager Web Server. If this value is changed, it must also be changed in ListManager by running

 

lm tclportpass password

 

See Setting Server Options for more information.

 

Config disable_api

The ListManager SOAP-based API is enabled by default. To disable it, set this parameter to 1.

 

Config ASP Settings

 

To disable the ASP option 

Config ASP 0

 

To enable the ASP option

Config ASP 1

 

The following items are removed from the interface when the ASP option is enabled:

 

Content: Insert URL: Referral

Utilities: List Settings: New Subscriber Policy: Confirm Subscribes

Utilities: List Settings: Automatic Maintenance: Error Mail: Hold Users

Utilities: List Settings: Automatic Maintenance: Error Mail: Bounce Limit

Utilities: List Settings: For Programmers : Extensions

Utilities: List Settings: For Programmers : Email Scripting (except Initialization Script)

Utilities: List Settings: Site map changed to reflect missing settings

 

Setting Up Multiple Web Servers to Serve Multiple ListManagers

Multiple web servers can serve multiple ListManagers. A single pool of web servers can run for multiple ListManagers. This is helpful for service provider/hosting applications. It is not necessary to run the same version of ListManager, so they can be upgraded one at a time without complication. To do this, all Tcl web server IP's must be set up in Utilities: Administration: Server: Server Settings: Security: GUI Hosts. Then the ListManager site(s) must be set up, in Utilities: Administration: Sites: New Site: Essentials. Then the tclweb/bin/tclhttpd.rc file must be modified to include the following lines:

 

#########################

# MJP - new multi-listmanager configuration:

#

# tclport_multihosts - if this exists and is set to 1, then the multiple listmanager hosts logic

# is turned on, and the following Config values will be checked and acted upon:

#

# tclport_use_DNS - if this exists and is set to 1, DNS will be used to locate the correct

# listmanager host specified by each incoming request. This of course requires a local subnet

# behind a loadbalancer, so the DNS in this private environment specifies the listmanager host

# and not the tcl web server.

#

# tclport_DNS_IP1

# tclport_DNS_IP2 - these are the IPs of the DNS servers to use if tclport_use_DNS == 1. You can add

# more DNS servers (tclport_DNS_IP3, tclport_DNS_IP4, etc.) as long as the numbers are consecutive.

#

# tclport_hosts - if not using DNS, this gives a list of hostname-hostip pairs to map any

# request that comes in to the correct listmanager back-end machine. This is necessary if

# you are not using a private subnet behind a loadbalancer.

#

 

Config tclport_multihosts      1

Config tclport_use_DNS       1

Config tclport_DNS_IP1            xxx..x.xxx

#Config tclport_DNS_IP2       xxx.xx.xx.x

 

#Config tclport_hosts            {{joe.example.com} {xxx.xx.xx.xx} \

#            {joe} {xxx.xx.xx.xxx} \

#            }

 

Parameters for URLID to URL Caching

 

Config urlcache_directory [file join [Config home] ../urlcache]

Where to store the disk-cached files.

 

Config urlcache_monitor_interval 300

How often to check to see if new tracking URLs have been created (to pre-cache them) . The setting is in seconds, so 300 (seconds) = five minutes.

 

Config urlcache_precache_max_fetch 500

This is the maximum number of items the pre-cacher will fetch. This occurs after server startup, so it does not affect initialization time. All newly created URLs are fetched again every five minutes up to the amount set for this parameter. The default setting of 500 should suffice for most situations while still being fast enough to prevent any noticeable load on the server.

 

Config urlcache_max_items 10000

How many items to store in memory. 10,000 items should take about 2.5 MB of memory; 1,000 should take 250 KB of memory. The higher the setting, the better the performance, to a point; we recommend a minimum of 1000 (one thousand) and a maximum of 10000 (ten thousand). A setting higher than 10000 will not result in increased performance.

 

NOTE   The default settings should work fine for most situations.