=head1 NAME Perlbal::Manual::WebServer - Configuring Perlbal as a Web Server =head2 VERSION Perlbal 1.78. =head2 DESCRIPTION How to configure a Perlbal Web Server service. =head2 READ ME FIRST Please read L first for a better explanation on how to configure Perlbal. This document will make much more sense after reading that. =head2 Configuring Perlbal as a Web Server By default, perlbal looks for a configuration file at F. You can also point perlbal at a different configuration file with the B<-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 C. 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 C. =head2 Parameters You can set parameters via commands of either forms: SET = SET = =over 8 =item B = 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. =item B = directory/root Directory root for web server. =item B = 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. =item B = bool Enable HTTP DELETE requests. Default is false. =item B = bool Enable HTTP PUT requests. Default is false. =item B = 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. =item B = 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. =item B = int If PUT requests are enabled, require this many levels of directories to already exist. If not, fail. Default is 0. =back =head2 SEE ALSO L, L.