weborf - Online in the Cloud

This is the command weborf that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

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

Use weborf online using onworks.net services



Latest Linux & Windows online programs