Provided by: libperlbal-perl_1.80-4_all bug

NAME

       Perlbal::Manual::WebServer - Configuring Perlbal as a Web Server

   VERSION
       Perlbal 1.78.

   DESCRIPTION
       How to configure a Perlbal Web Server service.

   READ ME FIRST
       Please read Perlbal::Manual::Configuration first for a better explanation on how to
       configure Perlbal. This document will make much more sense after reading that.

   Configuring Perlbal as a Web Server
       By default, perlbal looks for a configuration file at /etc/perlbal/perlbal.conf.

       You can also point perlbal at a different configuration file with the -c flag.

           $ perlbal -c /home/user/perlbal.conf

       Here's a very simple example where we configure a simple web server that serves an index
       file under /tmp

           CREATE SERVICE perlbal_test
               SET role           = web_server
               SET listen         = 0.0.0.0:80
               SET docroot        = /tmp
           ENABLE perlbal_test

       The first line creates a service called "perlbal_test". The last line enables that
       service.

       The three parameters state - in order - that the service is a web server, that it listens
       on all addresses on port 80, and that its document root is "/tmp".

   Parameters
       You can set parameters via commands of either forms:

           SET <service-name> <param> = <value>
           SET <param> = <value>

       dirindexing = bool
               Show directory indexes when an HTTP request is for a directory. Warning: this is
               not an async operation, so will slow down Perlbal on heavily loaded sites.

               Default if false.

       docroot = directory/root
               Directory root for web server.

       enable_concatenate_get = bool
               Enable Perlbal's multiple-files-in-one-request mode, where a client have use a
               comma-separated list of files to return, always in text/plain.

               Useful for web apps which have dozens/hundreds of tiny css/js files, and don't
               trust browsers/etc to do pipelining.

               Decreases overall round-trip latency a bunch, but requires app to be modified to
               support it. See t/17-concat.t test for details.

               Default is false.

       enable_md5 = bool
               Enable verification of the Content-MD5 header in HTTP PUT requests.

               Default is true.

       enable_delete = bool
               Enable HTTP DELETE requests.

               Default is false.

       enable_put = bool
               Enable HTTP PUT requests.

               Default is false.

       index_files = comma-separated list of filenames
               Comma-separated list of filenames to load when a user visits a directory URL,
               listed in order of preference.

               Default is index.html.

       max_put_size = size
               The maximum content-length that will be accepted for a PUT request, if enable_put
               is on.

               Default is 0, which means there is no limit.

       min_put_directory = int
               If PUT requests are enabled, require this many levels of directories to already
               exist. If not, fail.

               Default is 0.

       server_tokens = bool
               Whether to provide a "Server" header.

               Perlbal by default adds a header to all replies (such as the web_server role). By
               setting this default to "off", you can prevent Perlbal from identifying itself.

               Default is "on".

   SEE ALSO
       Perlbal::Manual::Configuration, Perlbal::Manual::Management.