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.
-x, --noexec
When used, weborf will send scripts as if they were normal files
instead of executing them and sending their output.
-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.
-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 it’s 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 occured 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
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.12
WEB
http://galileo.dmi.unict.it/wiki/weborf/
AUTHORS
Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
Salvo Rinaldi <salvin@anche.no>