packages icon



 BOA(8)                         Version 0.94                          BOA(8)
                                 Jan 22 2000



 NAME
      boa - a single-tasking high performance

 SYNOPSIS
      boa [ -c server_root ]

 DESCRIPTION
      Boa is a single-tasking HTTP server. That means that unlike
      traditional web servers, it does not fork for each incoming
      connection, nor does it fork many copies of itself to handle multiple
      connections. It internally multiplexes all of the ongoing HTTP
      connections, and forks only for CGI programs (which must be separate
      processes.) Preliminary tests show Boa is more than twice as fast as
      Apache.

      The primary design goals of Boa are speed and security. Security, in
      the sense of "can't be subverted by a malicious user", not "fine
      grained access control and encrypted communications". Boa is not
      intended as a feature-packed server; if you want one of those, check
      out WN from John Franks. Modifications to Boa that improve its speed,
      security, robustness, and portability, are eagerly sought. Other
      features may be added if they can be achieved without hurting the
      primary goals.

 OPTIONS
      The -c option chooses a server root overriding the default SERVER_ROOT
      #define in defines.h

      The server root must hold your local copy of the configuration file
      boa.conf

 FILES
      boa.conf
           This file is the sole configuration file for Boa.  The directives
           in this file are defined in the DIRECTIVES section.

      mime.types
           The MimeTypes <filename> defines what Content-Type Boa will send
           in an HTTP/1.0 or better transaction.

 DIRECTIVES
      The Boa configuration file is parsed with a lex/yacc or flex/bison
      generated parser.  If it reports an error, the line number will be
      provided; it should be easy to spot.  The syntax of each of these
      rules is very simple, and they can occur in any order.  Where
      possible, these directives mimic those of NCSA httpd 1.3; I (Paul
      Phillips) saw no reason to introduce gratuitous differences.

      Note: the "ServerRoot" is not in this configuration file.  It can be
      compiled into the server (see defines.h ) or specified on the command
      line with the -c option.



                                    - 1 -         Formatted:  April 25, 2024






 BOA(8)                         Version 0.94                          BOA(8)
                                 Jan 22 2000



      The following directives are contained in the boa.conf file, and most,
      but not all, are required.

      Port <integer>
           This is the port that Boa runs on.  The default port for http
           servers is 80. If it is less than 1024, the server must be
           started as root.

      User <user name or UID>
           The name or UID the server should run as.  For Boa to attempt
           this, the server must be started as root.

      Group <group name or GID>
           The group name or GID the server should run as.  For Boa to
           attempt this, the server must be started as root.

      ServerAdmin <email address>
           The email address where server problems should be sent.  Note:
           this is not currently used.

      ErrorLog <filename>
           The location of the error log file.  If this does not start with
           /, it is considered relative to the server root.  Set to
           /dev/null if you don't want errors logged.

      AccessLog <filename>
           The location of the access log file.  If this does not start with
           /, it is considered relative to the server root.  Comment out or
           set to /dev/null (less effective) to disable access logging.

      VerboseCGILogs
           This is a logical switch and does not take any parameters.
           Comment out to disable.

      ServerName <server_name>
           The name of this server that should be sent back to clients if
           different than that returned by gethostname.  VirtualHost This is
           a logical switch and does not take any parameters.  Comment out
           to disable.  Given DocumentRoot /var/www, requests on interface
           'A' or IP 'IP-A' become /var/www/IP-A.  Example:
           http://localhost/ becomes /var/www/127.0.0.1

      DocumentRoot <directory>
           The root directory of the HTML documents. If this does not start
           with /, it is considered relative to the server root.

      UserDir <directory>
           The name of the directory which is appended onto a user's home
           directory if a ~user request is received.





                                    - 2 -         Formatted:  April 25, 2024






 BOA(8)                         Version 0.94                          BOA(8)
                                 Jan 22 2000



      DirectoryIndex <filename>
           Name of the file to use as a pre-written HTML directory index.
           Please  make and use these files.  On the fly creation of
           directory indexes can be slow.

      DirectoryMaker <directory>
           Name of the program used to generate on-the-fly directory
           listings.  The program must take one or two command-line
           arguments, the first being the directory to index (absolute), and
           the second, which is optional, contains what Boa would have the
           "title" of the document be.  Comment out if you don't want on the
           fly directory listings.  If this does not start with /, it is
           considered relative to the server root.

      KeepAliveMax <integer>
           Number of KeepAlive requests to allow per connection.  Comment
           out, or set to 0 to disable keepalive processing.

      KeepAliveTimeout <integer>
           Number of seconds to wait before keepalive connections time out.

      MimeTypes <file>
           The location of the mime.types file.  If this does not start with
           /, it is considered relative to the server root.

      DefaultType <mime type>
           MIME type used if the file extension is unknown, or there is no
           file extension.

      AddType <mime type> <extension> [extension...]
           Associates a MIME type with an extension or extensions.

      Redirect, Alias, and ScriptAlias <path1> <path2>
           Redirect, Alias, and ScriptAlias all have the same semantics --
           they match the beginning of a request and take appropriate
           action.  Use Redirect for other servers, Alias for the same
           server, and ScriptAlias to enable directories for script
           execution.

           Redirect allows you to tell clients about documents which used to
           exist in your server's namespace, but do not anymore.  This
           allows you tell the clients where to look for the relocated
           document.

           Alias aliases one path to another.  Of course, symbolic links in
           the file system work fine too.

           ScriptAlias maps a virtual path to a directory for serving
           scripts.





                                    - 3 -         Formatted:  April 25, 2024






 BOA(8)                         Version 0.94                          BOA(8)
                                 Jan 22 2000



      Please see the included boa.conf for defaults and examples.

 HISTORY
      Like the Linux kernel, even numbered versions are "stable", and odd
      numbered versions are "unstable", or rather, "development".  Versions
      0.91 and 0.91beta of Boa were released by Paul Phillips <psp@well.com>

      Version 0.92 was released by Larry Doolittle on December 12, 1996.

      Version 0.93 was the development version of 0.94.

      Version 0.94 was released 22 Jan 2000.

 BUGS
      There are probably bugs, but we are not aware of any at this time.

 AUTHOR
      Boa was created by Paul Phillips <psp@well.com>. It is now being
      maintained and enhanced by Larry Doolittle <ldoolitt@boa.org> and Jon
      Nelson <jnelson@boa.org>.

      Linux is the development platform at the moment, other OS's are known
      to work. If you'd like to contribute to this effort, contact Larry or
      Jon via e-mail.

 LICENSE
      This program is distributed under the GNU General Public License, as
      noted in each source file.


























                                    - 4 -         Formatted:  April 25, 2024