Provided by: weborf_0.16-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.  Defaults to /srv/www.

       -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 SIGUSR2 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.  It cannot be used together with https.

       -Y, --yesexec
              When used, weborf will enable CGI.

       -m, --mime
              When used, weborf will send the Content-Type header. It is strongly 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.

       -S, --cert
              Path to the SSL certificate. Enables https. Requires a key to be passed as well.

       -K, --key
              Path to the SSL key. Enables https. Requires a certificate to be passed as well.

       -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, --uid
              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.

       -g, --gid
              Must be followed by a valid gid, different from 0. Weborf will use this user to do his  work,  but
              will bind to the network port before changing.

       -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 scripts 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  many  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 reasonable 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>

Minimal webserver                                 Feb 17, 2019                                         Weborf(1)