Provided by: webfs_1.21+ds1-14_amd64 bug

NAME

       webfsd - a lightweight http server

SYNOPSIS

       webfsd [ options ]

DESCRIPTION

       This  is  a  simple  http  server  for purely static content.  You can use it to serve the
       content of a ftp server via http for example.  It is also nice to export  some  files  the
       quick  way  by  starting  a http server in a few seconds, without editing some config file
       first.

OPTIONS

       -h     Print a short help text and the default values for all options.  If  used  as  last
              option, the printout will reflect command line choices.

       -4     Use IPv4 only.

       -6     Use IPv6 only.

       -d     Enable debug output.

       -s     Write  a  start/stop  notice and serious errors to the syslog.  Specify this option
              twice to get a verbose log (additional log events like dropped connections).

       -t sec Set network timeout to >sec< seconds.

       -c n   Set the number of allowed parallel connections to >n<.  This is a per-thread limit.

       -a n   Configure the size of the  directory  cache.   Webfs  has  a  cache  for  directory
              listings.   The  directory  will be reread if the cached copy is more than one hour
              old or if the mtime of the directory has changed.  The mtime will be updated  if  a
              file  is created or deleted.  It will not be updated if a file is only modified, so
              you might get outdated time stamps and file sizes.

       -j     Do not generate a directory listing if the index-file isn't found.

       -y n   Set the number of threads to spawn (if compiled with thread support).

       -p port
              Listen on port >port< for incoming connections.

       -r dir Set document root to >dir<.

       -R dir Set document root to >dir< and chroot to >dir< before start  serving  files.   Note
              that this affects the path for the access log file and pidfile too.

       -f file
              Use  >file<  as  index  file for directories.  If a client asks for a directory, it
              will get >file< as response if such a file exists in the directory and a  directory
              listing otherwise.  index.html is a frequently used filename.

       -n hostname
              Set the hostname which the server should use (required for redirects).

       -i ip  Bind to IP-address >ip<.

       -l log Log  all  requests to the logfile >log< (common log format).  Using "-" as filename
              makes webfsd print the access log to stdout, which is only useful together with the
              -F switch (see below).

       -L log Same  as  above,  but  additional flush every line.  Useful if you want monitor the
              logfile with tail -f.

       -m file
              Read mime types from >file<.  Default is /etc/mime.types.  The mime types are  read
              before chroot() is called (when started with -R).

       -k file
              Use >file< as pidfile.

       -u user
              Set uid to >user< (after binding to the tcp port).  This option is allowed for root
              only.

       -g group
              Set gid to >group< (after binding to the tcp port).  This  option  is  allowed  for
              root only.

       -F     Don't  run  as  daemon.   Webfsd  will  not  fork  into background, not detach from
              terminal and report errors to stderr.

       -b user:pass
              Set  user+password  for  the  exported  files.   Only  a  single  username/password
              combination for all files is supported.

       -e sec Expire  documents  after  >sec< seconds.  You can use that to make sure the clients
              receive fresh data if the content within your document root is updated  in  regular
              intervals.  Webfsd will send a Expires: header set to last-modified time plus >sec<
              seconds, so you can simply use the update interval for >sec<.

       -v     Enable virtual hosts.  This has the effect that webfsd expects directories with the
              hostnames  (lowercase)  under  document  root.   If started this way: "webfsd -v -r
              /home/web", it will look for the file /home/web/ftp.foobar.org/path/file when asked
              for http://ftp.FOObar.org:8000/path/file.

       -x path
              Use  >path< as CGI directory.  >path< is interpreted relative to the document root.
              Note that CGI support is limited to GET requests.  The first character in the  path
              string must be a slash!

       -~ servdir
              Enable access to user specific subdirectories, uniformly located below >subdir<.  A
              request for "/~user/path/file", is rewritten "$HOME/servdir/path/file", and is then
              checked for existence.  Here the user's home directory is retrieved from the system
              in the standard manner from  $HOME  in  the  environment.   Mark  well,  that  user
              specific  requests  are  disabled completely, should this switch be missing.  Since
              user directories are most probably located outside of the server's root  directory,
              care is needed with this option.

       -S     Secure web server mode. Warning: This mode is strictly for https.

       -C path
              File  to  use  as SSL certificate. This file must be in chained PEM format, and may
              contain server certificate as well as RSA key, but the latter can equally well be a
              separate entity, see -K.

       -K path
              File that contains the private key, if the key is not bundled with the certificate.

       -A path
              Optional file containing CA-certificate and certificate chain.

       -V     Apply a verification procedure to the client certificate and chain.  These must, if
              this option is chosen, be supplied by any client.   Each  chain  member  must  pass
              verification,  and must in turn verify the next chain member. The validity time for
              the client certificate is checked.

       -Q ciphers
              Specify acceptable cipher  priorities  for  handshake,  data  exchange,  etc.   The
              default value is NORMAL.

       Webfsd  can  be  installed suid root (although the default install isn't suid root).  This
       allows users to start webfsd chroot()ed and to bind to ports below 1024.  Webfsd will drop
       root privileges before it starts serving files.

       Access control simply relies on Unix file permissions.  Webfsd will serve any regular file
       and provide listings for any directory it is able to open(2).

AUTHOR

       Gerd Knorr <kraxel@bytesex.org>
       FreeBSD port by Charles F. Randall <cfr@pobox.com>

COPYRIGHT

       Copyright (C) 1999,2000 Gerd Knorr <kraxel@bytesex.org>

       This program is free software; you can redistribute it and/or modify it under the terms of
       the  GNU  General  Public  License  as  published  by the Free Software Foundation; either
       version 2 of the License, or (at your option) any later version.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY;
       without  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       See the GNU General Public License for more details.

       You should have received a copy of the GNU General Public License along with this program;
       if  not,  write  to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
       USA.

                                       (c) 1999 Gerd Knorr                              webfsd(1)