############################################################################### # Welcome to Zope 2. ############################################################################### # # This is the Zope configuration file. The Zope configuration file # shows what the default configuration directives are, and show # examples for each directive. To declare a directive, make sure that # you add it to a line that does not begin with '#'. Note that comments # are only allowed at the beginning of a line: you may not add comments # after directive text on the same line. # ZConfig "defines" used for later textual substitution #%define INSTANCE /tmp/zope/instance #%define ZOPE /tmp/zope # Directive: instancehome # # Description: # The path to the data files, local product files, import directory, # and Extensions directory used by Zope. # # Required (no default) # # Example: # # instancehome /home/chrism/projects/sessions instancehome /plop # Directive: clienthome # # Description: # The directory in which a running Zope's process identifier files are # placed. # # Default: $INSTANCE/var # # Example: # # clienthome /home/chrism/projects/sessions/var # Directive: path # # Description: # Name of a directory which should be inserted into the # the beginning of Python's module search path. This directive # may be specified as many times as needed to insert additional # directories. The set of directories specified is inserted into the # beginning of the module search path in the order which they are specified # here. Note that the processing of this directive may happen too late # under some circumstances; it is recommended that you use the PYTHONPATH # environment variable if using this directive doesn't work for you. # # Default: $INSTANCE/lib/python # # Example: # # path $INSTANCE/mypymodules # Directive: products # # Description: # Name of a directory that contains additional Product packages. This # directive may be used as many times as needed to add additional # collections of products. Each directory identified will be # added to the __path__ of the Products package. All Products are # initialized in ascending alphabetical order by product name. If # two products with the same name exist in two Products directories, # the order in which the packages appear here defines the load # order. The master Products directory exists in Zope's software home, # and cannot be removed from the products path (and should not be added # to it here). # # Default: $INSTANCE/Products # # Example: # # products /home/chrism/projects/myproducts # Directive: environment # # Description: # A section which can be used to define arbitrary key-value pairs # for use as environment variables during Zope's run cycle. It # is not recommended to set system-related environment variables such as # PYTHONPATH within this section. # # Default: unset # # Example: # # # MY_PRODUCT_ENVVAR foobar # # Directive: debug-mode # # Description: # A switch which controls several aspects of Zope operation useful for # developing under Zope. When debug mode is on: # # - The process will not detach from the controlling terminal # # - Errors in product initialization will cause startup to fail # (instead of writing error messages to the event log file). # # - Filesystem-based scripts such as skins, PageTemplateFiles, and # DTMLFiles can be edited while the server is running and the server # will detect these changes in real time. When this switch is # off, you must restart the server to see the changes. # # Setting this to 'off' when Zope is in a # production environment is encouraged, as it speeds execution (sometimes # dramatically). # # Default: on # # Example: # # debug-mode on # Directive: effective-user # # Description: # If you intend to run Zope as the "root" user, you must supply this # directive with an effective username or userid number to which Zope # will 'suid' after the server ports are bound. This directive only # has effect under UNIX and if Zope is started as the root user. # # Default: unset # # Example: # # effective-user chrism # Directive: enable-product-installation # # Description: # If this directive is turned on, Zope performs 'product installation' # (the registration of Python modules in various Products directories) # at startup. Turning this off can speed Zope/ZEO startup time, # but it can also cause your Control_Panel Product list to become # desynchronized with the contents of your Products # directories. # # Default: on # # Example: # # enable-product-installation off # Directive: locale # # Description: # Enable locale (internationalization) support by supplying a locale # name to be used. See your operating system documentation for locale # information specific to your system. If your Python module does not # support the locale module, or if the requested locale is not # supported by your system, an error will be raised and Zope will not # start. # # Default: unset # # Example: # # locale fr_FR # Directives: port-base # # Description: # Offset applied to the port numbers used for ZServer # configurations. For example, if the http-server port is 8080 and # the port-base is 1000, the HTTP server will listen on port 9080. # This makes it easy to change the complete set of ports used by a # Zope server process # # Default: # # 0 # # Example: # # port-base 1000 # Directive: datetime-format # # Description: # Set this variable either to "us" or "international" to force the # DateTime module to parse date strings either with # month-before-days-before-year ("us") or # days-before-month-before-year ("international"). The default # behaviour of DateTime (when this setting is left unset) is to # parse dates as US dates. # # Default: us # # Example: # # datetime-format international # Directive: zserver-threads # # Description: # Specify the number of threads that Zope's ZServer web server will use # to service requests. The default is 4. # # Default: 4 # # Example: # # zserver-threads 10 # Directive: python-check-interval # # Description: # Specify an integer representing the Python interpreter "check # interval" This interval determines how often the interpreter checks # for periodic things such as thread switches and signal handlers. The # Zope default is 500, but you may want to experiment with other values # in order to attempt to increae performance in your particular # environment. # # Default: 500 # # Example: # # python-check-interval 1000 # Directive: zserver-read-only-mode # # Description: # If this directive is set to 'on', it will cause Zope to inhibit the # creation of log files and pid files. Access and event log files will # be presented on standard output. Setting this directive 'on' causes # pcgi, fastcgi, and daemon-related directives to have no effect. # # Default: off # # Example: # # zserver-read-only-mode on # Directive: pid-filename # # Description: # The path to the file in which the Zope process id(s) will be written. # This defaults to client-home/Z2.pid. # # Default: CLIENT_HOME/Z2.pid # # Example: # # pid-filename /home/chrism/projects/sessions/var/Z2.pid # Directive: lock-filename # # Description: # The path to a "lock file" which will be locked by Zope while it's # running. This file is used by zopectl.py to determine if Zope is # currently running. This defaults to CLIENT_HOME/Z2.lock. # # Default: CLIENT_HOME/Z2.lock # # Example: # # lock-filename /home/chrism/projects/sessions/var/Z2.lock # Directive: mime-types # # Description: # Tells Zope about additional mime.types files that should be # loaded. The files have the same format as the mime.types file # distributed with Apache. The "mime-types" setting may be given # more than once in the configuration file. # # Example: # # mime-types $INSTANCE/etc/mime.types # Directive: structured-text-header-level # # Description: # Set the default starting HTML header level for structured text # documents. The default is 3, which implies that top-level headers # will be created with an

tag. # # Default: 3 # # Example: # # structured-text-header-level 1 # Directive: rest-input-encoding # # Description: # Specifies the input encoding of re-StructuredText documents # (e.g. 'utf-8', 'iso-8859-15' or any other valid encoding recognized # by Python). The default is your Python's default encoding. # # Default: unset (uses system default) # # Example: # # rest-input-encoding iso-8859-15 # Directive: rest-output-encoding # # Description: # Specifies the output encoding of re-StructuredText documents # (e.g. 'utf-8', 'iso-8859-15' or any other valid encoding recognized # by Python). The default is your Python's default encoding. # # Default: unset (uses system default) # # Example: # # rest-output-encoding iso-8859-15 # Directive: cgi-environment # # Description: # A section which allows a user to define arbitrary key-value pairs for # use as the initial CGI environment variables. This is useful # when you want to proxy requests from another web server to Zserver, # and would like Zserver's CGI environment to reflect the CGI # environment of the other web server. # # Default: unset # # Example: # # # HTTPS_SERVER Foobar Server 1.0 # HTTPS_PORT 443 # # Directive: dns-server # # Description: # Specify the IP address of your DNS server in order to cause resolved # hostnames to be written to Zope's access log. By default, Zope will # not resolve hostnames unless this is set. # # Default: unset # # Example: # # dns-server 127.0.0.1 # Directive: ip-address # # Description: # The default IP address on which Zope's various server protocol # implementations will listen for requests. If this is unset, Zope # will listen on all IP addresses supported by the machine. This # directive can be overridden on a per-server basis in the servers # section. # # Default: unset # # Example: # # ip-address 127.0.0.1 # Directive: http-realm # # Description: # The HTTP "Realm" header value sent by this Zope instance. This value # often shows up in basic authentication dialogs. # # Default: Zope # # Example: # # http-realm Slipknot # Directive: automatically-quote-dtml-request-data # # Description: # Set this directive to 'off' in order to disable the autoquoting of # implicitly retrieved REQUEST data by DTML code which contains a '<' # when used in construction. When this directive is 'on', # all data implicitly retrieved from the REQUEST in DTML (as opposed to # addressing REQUEST.somevarname directly) that contains a '<' will be # HTML-quoted when interpolated via a or &dtml- construct. This # mitigates the possibility that DTML programmers will leave their # sites open to a "client-side trojan" attack. # # Default: on # # Example: # # automatically-quote-dtml-request-data on # Directive: trusted-proxy # # Description: # Define one or more 'trusted-proxies' directives, each of which is a # hostname or an IP address. The set of definitions comprises a list # of front-end proxies that are trusted to supply an accurate # X-Forwarded-For header to Zope. If a connection comes from # a trusted proxy, Zope will trust any X-Forwarded header to contain # the user's real IP address for the purposes of address-based # authentication restriction. # # Default: unset # # Example: # # trusted-proxy www.example.com # trusted-proxy 192.168.1.1 # Directive: publisher-profile-file # # Description: # Names a file on the filesystem which causes Zope's Python # profiling capabilities to be enabled. For more information, see # the Debug Information - > Profiling tab of Zope's Control_Panel # via the Zope Management Interface. IMPORTANT: setting this # filename will cause Zope code to be executed much more slowly # than normal. This should not be enabled in production. # # Default: unset # # Example: # # publisher-profile-file $INSTANCE/var/profile.dat # Directive: security-policy-implementation # # Description: # The default Zope security machinery is implemented in C. # Change this to "python" to use the Python version of the # Zope security machinery. This impacts performance but # is useful for debugging purposes and required by Products such as # VerboseSecurity, which need to "monkey-patch" the security # machinery. # # Default: C # # Example: # # security-policy-implementation python # Directive: skip-authentication-checking # # Description: # Set this directive to 'on' to cause Zope to skip checks related # to authentication, for servers which serve only anonymous content. # Only works if security-policy-implementation is 'C'. # # Default: off # # Example: # # skip-authentication-checking on # Directive: skip-ownership-checking # # Description: # Set this directive to 'on' to cause Zope to ignore ownership checking # when attempting to execute "through the web" code. By default, this # directive is on in order to prevent 'trojan horse' security problems # whereby a user with less privilege can cause a user with more # privilege to execute dangerous code. # # Default: off # # Example: # # skip-ownership-checking on # Directive: maximum-number-of-session-objects # # Description: # An integer value representing the number of items to use as a # "maximum number of subobjects" value of the # '/temp_folder/session_data' transient object container. # # Default: 1000 # # Example: # # maximum-number-of-session-objects 10000 # Directive: session-add-notify-script-path # # Description: # An optional fill Zope path name of a callable object to be set as the # "script to call on object addition" of the sessioN_data transient # object container created in the /temp_folder folder at startup. # # Default: unset # # Example: # # session-add-notify-script-path /scripts/add_notifier # Directive: session-delete-notify-script-path # # Description: # An optional fill Zope path name of a callable object to be set as the # "script to call on object deletion" of the sessioN_data transient # object container created in the /temp_folder folder at startup. # # Default: unset # # Example: # # session-delete-notify-script-path /scripts/del_notifier # Directive: session-timeout-minutes # # Description: # An integer value representing the number of minutes to be used as the # "data object timeout" of the '/temp_folder/session_data' transient # object container. # # Default: 20 # # Example: # # session-timeout-minutes 30 # Directive: suppress-all-access-rules # # Description: # If this directive is set to on, no access rules in your Zope site # will be executed. This is useful if you "lock yourself out" of a # particular part of your site by setting an improper access rule. # # Default: off # # Example: # # suppress-all-access-rules on # Directive: suppress-all-site-roots # # Description: # If this directive is set to on, no site roots in your Zope site will # be effective. This is useful if you "lock yourself out" of a # particular part of your site by setting an improper site root. # # Default: off # # Example: # # suppress-all-site-roots on # Directive: database-quota-size # # Description: # Set this directive to an integer in bytes in order to place a hard # limit on the size which the default FileStorage-backed Zope database # can grow. Additions to the database will not be permitted once this # filesize is exceeded. # # Default: unset # # Example: # # database-quota-size 1000000 # Directive: read-only-database # # Description: # This causes the main Zope FileStorage-backed ZODB to be opened in # read-only mode. # # Default: off # # Example: # # read-only-database on # Directive: zeo-client-name # # Description: # If you want a persistent ZEO client cache which retains cache # contents across ClientStorage restarts, you need to define a # zeo-client-name. If you use ZEO and you don't set a # zeo-client-name, the client cache is stored in temporary files # which are removed when the ClientStorage shuts down. The value # of zeo-client-name is used to uniquely identify the local cache # files created if this Zope is a ZEO client. # # Default: unset # # Example: # # zeo-client-name zeo1 # Directives: logger # # Description: # This area should define one or more "logger" sections of the # names "access", "event", and "trace". The "access" logger logs # Zope server access. The "event" logger logs Zope event # information. The "trace" logger logs detailed server request # information (for debugging purposes only). Each logger section # may contain a "level" name/value pair which indicates the level # of logging detail to capture for this logger. The default level # is INFO. Level may be any of "CRITICAL", 'ERROR", WARN", "INFO", # "DEBUG", and "ALL". Each logger section may additionally contain # one or more "handler" sections which indicates a types of log # "handlers" (file, syslog, NT event log, etc) to be used for the # logger being defined. There are 5 types of handlers: logfile, # syslog, win32-eventlog, http-handler, email-notifier. Each # handler type has its own set of allowable subkeys which define # aspects of the handler. All handler sections also allow for the # specification of a "format" (the log message format string), a # "dateformat" (the log message format for date strings), and a # "level", which has the same semantics of the overall logger # level but overrides the logger's level for the handler it's # defined upon. XXXX much more detail necessary here # # Default: # # The access log will log to the file /log/Z2.log at # level INFO, the event log will log to the file # /log/event.log at level INFO, and the trace log # will not be written anywhere. # # level all # # path $INSTANCE/log/event.log # level info # # # # level WARN # # path $INSTANCE/log/Z2.log # format %(message)s # # # # level WARN # # host localhost # port 514 # # # appname Zope # # # Directive: warnfilter # # Description: # A section that allows you to define a warning filter. # The following keys are valid within a warnfilter section: # # action: one of the following strings: # # "error" turn matching warnings into exceptions # "ignore" never print matching warnings # "always" always print matching warnings # "default" print the first occurrence of matching warnings # for each location where the warning is issued # "module" print the first occurrence of matching warnings # for each module where the warning is issued # "once" print only the first occurrence of matching # warnings, regardless of location # # message: a string containing a regular expression that the # warning message must match (the match is compiled to # always be case-insensitive) # # category: a Python dotted-path classname (must be a subclass of # Warning) of which the warning category must be a subclass in # order to match # # module: a string containing a regular expression that the # module name must match (the match is compiled to be # case-sensitive) # # lineno: an integer that the line number where the warning # occurred must match, or 0 to match all line numbers # # All keys within a warnfilter section are optional. More than # one warnfilter section may be specified. # # Default: unset # # Example: # # # action ignore # category exceptions.DeprecationWarning # # Directive: max-listen-sockets # # Description: # The maximum number of sockets that ZServer will attempt to open # in order to service incoming connections. # # Default: 1000 # # Example: # # max-listen-sockets 500 # Directives: servers # # Description: # A set of sections which allow the specification of Zope's various # ZServer servers. 7 different server types may be defined: # http-server, ftp-server, webdav-source-server, persistent-cgi, # fast-cgi, monitor-server, and icp-server. If no servers are # defined, the default servers are used. # # Ports may be specified either in simple form (80) or in # complex form including hostname 127.0.0.1:80. If the hostname # is "left off", the default-ip-address is used as the hostname. # # Port numbers are offset by the setting of port-base, which # defaults to 8000. # # Default: # # An HTTP server starts on port 8080, an FTP server starts on port # 8021. # valid keys are "address" and "force-connection-close" address 8080 # force-connection-close on # valid key is "address" address 8021 # Examples: # # # # valid keys are "address" and "force-connection-close" # address 1980 # force-connection-close off # # # # # valid key is "path" # path somefile # # # # # valid key is "address"; the address may be hostname:port, port, # # or a path for a Unix-domain socket # address somefile # # # # # valid keys are "address" # address 99 # # # # # valid key is "address" # address 888 # # Database (zodb_db) section # # Description: # A database section allows the definition of custom database and # storage types. More than one zodb_db section can be defined. # # Default: unset. # IMPORTANT: At least one database with a mount-point of "/" # must be specified for Zope to start properly. # Main FileStorage database path /plop mount-point / # Temporary storage database (for sessions) name temporary storage for sessioning mount-point /temp_folder container-class Products.TemporaryFolder.TemporaryContainer # Other storage examples # # ZEO client storage: # # # mount-point / # # server localhost:8100 # storage 1 # name zeostorage # var $INSTANCE/var # #