Provided by: weborf_0.13.3-1_amd64 bug

NAME

       weborf - Minimal webserver

SYNOPSIS

       weborf [options]

DESCRIPTION

       Weborf  is  a minimal webserver. Also has a limited support for webdav.   This manual page
       documents Weborf's command-line parameters.   Weborf is released  under  the  GNU  General
       Public License version 3.

OPTIONS

   Options:
       -b, --basedir
              Must  be  followed  by  a  valid  directory. Weborf will use this directory as root
              directory, and won't send files located in parent dirs. But it  is  still  possible
              for  server-side scripts to read contents located anywhere on the filesystem. Links
              are also a workaround to exit from the base directory.

       -a, --auth
              Must be  followed  by  a  unix  socket  listened  by  a  program  who  will  handle
              authentication. See the website for more details.

       -c, --cgi
              Must  be  followed  by  a  list  (separated  with commas and without spaces) of cgi
              formats and the binary to execute that  format.   For  example:  .php,/usr/bin/php-
              cgi,.sh,/usr/bin/sh-cgi   In   /etc/weborf.conf   there   is   a  'cgi'  directive,
              corresponding to this option. It is used when launching weborf as SystemV daemon.

       -C, --cache
              Must be followed by a directory that will be used to store cached files.  To  flush
              the  cache  (empty that directory) you must send USR2 signal to the process.  It is
              advised to flush the cache on reboot (manually or with  kill)  because  some  items
              might be invalid after a reboot but weborf would not know that.

       -T, --inetd
              Must  be  specified  when  using  weborf  with  inetd  or xinetd.  It will be still
              necessary to specify the used port, to pass the correct value to the  CGI  scripts.
              The -u directive will be ignored.  Daemon -d mode should not be used.

       -t, --tar
              If  used,  instead of sending directory listing when requesting a directory, weborf
              will send a tar.gz file with the content of that directory.  It is used  mainly  to
              share files and preserving their permissions.

       -x, --noexec
              When  used,  weborf  will  send  scripts  as  if  they were normal files instead of
              executing them and sending their output.

       -m, --mime
              When used, weborf will send the Content-Type header. It is strongli advised to  use
              it when using weborf as production server because some browsers rely on this field.
              This value will not affect the CGI pages.

       -i, --ip
              Must be followed by a valid IP address (v6 or  v4,  depending  on  how  weborf  was
              compiled.  Run  weborf  -h  to  know  it),  and weborf will accept only connections
              directed to that specific IP.  If the IP address provided isn't used by  a  network
              device  on  the  host,  weborf will terminate.  By default weborf listens to all IP
              addresses on the local host.

       -k, --caps
              Shows some compile-time options in a machine-readable format.

       -p, --port
              Must be followed by a valid port number (between 1  and  65535),  and  weborf  will
              listen  to  incoming connection on the specified port.  If the port is already used
              weborf will terminate.  To use low port numbers (less than 1024) it is necessary to
              execute  the  process  as  root.  Thus it isn't a good idea to run a webserver with
              root privileges, so it is possible to specify another user.

       -V, --virtual
              Enables weborf to use virtualhosts. The  basedir  supplied  with  -b  will  be  the
              default  one  (will  be  used if the requested host is unknown).  Every virtualhost
              must be in the form host[:port]=basedir. The port must be  specified  if  the  port
              used  is  different  than  80.  And the basedir must end with a /. To separate many
              virtualhosts, use a  comma,  and  avoid  spaces.   To  make  weborf  use  different
              virtualhosts  on  different  ports,  it  will  be necessary to launch many weborf's
              processes.

       -I, --index
              Must be followed by a list (separated with commas  and  without  spaces)  of  index
              files.   Weborf  will try to load an index file following the order they're listed,
              and  if  none  is  found  it  will  list  the  content  of   the   directory.    In
              /etc/weborf.conf  there is an 'indexes' directive, corresponding to this option. It
              is used when launching weborf as SystemV daemon.

       -u     Must be followed by a valid uid, different from 0. Weborf will use this user to  do
              his  work, but will bind to the network port with the previous user. This mechanism
              is meant to let users execute it as root and use port  80,  and  then  let  it  run
              without root privileges.

       -d     Runs  weborf as a daemon. It will not terminate when its father process terminates,
              and it will leave the shell free to receive commands.

SCRIPTING

       Weborf is able to send dynamically generated pages using php-cgi (if installed).   When  a
       filename  ends  with ".php", weborf will use php to execute this file before sending it to
       the client. The -c switch will override the default behavior.   It  is  also  possible  to
       create  scritps  or  binaries  in other languages, just read rfc3875 to know how to handle
       parameters.

RETURN VALUE

       0      Normal termination occurred after a signal, a daemonization or a print version  and
              exit or so on...

       1      Basedir is not a directory

       2      Invalid IP address

       3      Port already in use

       4      Invalid port number

       5      Authentication socket doesn't exist or is not a unix socket

       6      Too  much indexes provided as parameter to -I or to -c. Increasing MAXINDEXCOUNT in
              the file  options.h  and  recompiling  can  solve  the  problem.  But  providing  a
              reasanable amount of index file names would be a better solution.

       7      Unable to allocate memory

       9      Unable to change UID

       10     Error with cache directory

       19     Invalid parameters on command line

SIGNALS

       SIGUSR1
              Prints the internal status of the socket's queue and threads on the standard output

SEE ALSO

       weborf.conf(5),php(1)

VERSION

       Weborf0.13

WEB

       http://ltworf.github.io/weborf/

AUTHORS

       Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
       Salvo Rinaldi <salvin@anche.no>