From e61e371c1626e485589a30bcc0711c49641df20a Mon Sep 17 00:00:00 2001 From: Sergey Lyubka <valenok@gmail.com> Date: Thu, 17 Jan 2013 11:20:59 +0000 Subject: [PATCH] Changed user manual --- UserManual.md | 137 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 132 insertions(+), 5 deletions(-) diff --git a/UserManual.md b/UserManual.md index 8868b3413..1e2f545d1 100644 --- a/UserManual.md +++ b/UserManual.md @@ -51,17 +51,144 @@ Usage Examples - How to share a Windows folder: copy mongoose executable to a folder and double-click the executable. The folder should be accessible via [http://localhost:8080](http://localhost:8080) in any browser. + - How to start mongoose at UNIX startup time in daemon mode, serving directory `/var/www`: put this line in the system startup script: `/path/to/mongoose -listening_ports 80 -document_root /var/www &` +- How to serve user home directories using URL rewrite: + `mongoose -url_rewrite_patterns /~joe/=/home/joe/,/~bill=/home/bill/` + Command Line Options -------------------- -`-A <htpasswd_file> <domain_name> <user_name> <password>` - - Add/edit user's password in the passwords file. Deleting users - can be done with any text editor. Functionality is similar to - Apache's `htdigest` utility. +``` + + -A htpasswd_file domain_name user_name password + Add/edit user's password in the passwords file. Deleting users + can be done with any text editor. Functionality is similar to + Apache's htdigest utility. + + -C cgi_pattern + All files that fully match cgi_pattern are treated as CGI. + Default pattern allows CGI files be anywhere. To restrict CGIs to + certain directory, use e.g. "-C /cgi-bin/**.cgi". Default: + "**.cgi$|**.pl$|**.php$" + + -E cgi_environment + Extra environment variables to be passed to the CGI script in + addition to standard ones. The list must be comma-separated list + of X=Y pairs, like this: "VARIABLE1=VALUE1,VARIABLE2=VALUE2". + Default: "" + + -G put_delete_passwords_file + PUT and DELETE passwords file. This must be specified if PUT or + DELETE methods are used. Default: "" + + -I cgi_interpreter + Use cgi_interpreter as a CGI interpreter for all CGI scripts + regardless script extension. Mongoose decides which interpreter + to use by looking at the first line of a CGI script. Default: + "". + + -P protect_uri + Comma separated list of URI=PATH pairs, specifying that given + URIs must be protected with respected password files. Default: "" + + -R authentication_domain + Authorization realm. Default: "mydomain.com" + + -S ssi_pattern + All files that fully match ssi_pattern are treated as SSI. + Unknown SSI directives are silently ignored. Currently, two SSI + directives are supported, "include" and "exec". Default: + "**.shtml$|**.shtm$" + + -T throttle + Limit download speed for clients. throttle is a comma-separated + list of key=value pairs, where key could be a '*' character + (limit for all connections), a subnet in form x.x.x.x/mask (limit + for a given subnet, for example 10.0.0.0/8), or an URI prefix + pattern (limit for the set of URIs, for example /foo/**). The + value is a floating-point number of bytes per second, optionally + followed by a `k' or `m' character, meaning kilobytes and + megabytes respectively. A limit of 0 means unlimited rate. The + last matching rule wins. For example, "*=1k,10.0.0.0/8" means + limit everybody to 1 kilobyte per second, but give people from + 10/8 subnet unlimited speed. Default: "" + + -a access_log_file + Access log file. Default: "", no logging is done. + + -d enable_directory_listing + Enable/disable directory listing. Default: "yes" + + -e error_log_file + Error log file. Default: "", no errors are logged. + + -g global_passwords_file + Location of a global passwords file. If set, per-directory + .htpasswd files are ignored, and all requests must be authorised + against that file. Default: "" + + -i index_files + Comma-separated list of files to be treated as directory index + files. Default: "index.html,index.htm,index.cgi" + + -l access_control_list + Specify access control list (ACL). ACL is a comma separated list + of IP subnets, each subnet is prepended by '-' or '+' sign. Plus + means allow, minus means deny. If subnet mask is omitted, like + "-1.2.3.4", then it means single IP address. Mask may vary from 0 + to 32 inclusive. On each request, full list is traversed, and + last match wins. Default setting is to allow all. For example, to + allow only 192.168/16 subnet to connect, run "mongoose + -0.0.0.0/0,+192.168/16". Default: "" + + -m extra_mime_types + Extra mime types to recognize, in form "extension1=type1,exten- + sion2=type2,...". Extension must include dot. Example: "mongoose + -m .cpp=plain/text,.java=plain/text". Default: "" + + -p listening_ports + Comma-separated list of ports to listen on. If the port is SSL, a + letter 's' must be appeneded, for example, "-p 80,443s" will open + port 80 and port 443, and connections on port 443 will be SSL-ed. + It is possible to specify an IP address to bind to. In this case, + an IP address and a colon must be prepended to the port number. + For example, to bind to a loopback interface on port 80 and to + all interfaces on HTTPS port 443, use "mongoose -p + 127.0.0.1:80,443s". Default: "8080" + + -r document_root + Location of the WWW root directory. Default: "." + + -s ssl_certificate + Location of SSL certificate file. Default: "" + + -t num_threads + Number of worker threads to start. Default: "10" + + -u run_as_user + Switch to given user's credentials after startup. Default: "" + + -w url_rewrite_patterns + Comma-separated list of URL rewrites in the form of "pattern=sub- + stitution,..." If the "pattern" matches some prefix of the + requested URL, then matched prefix gets substituted with "substi- + tution". For example, "-w /con- + fig=/etc,**.doc|**.rtf=/path/to/cgi-bin/handle_doc.cgi" will + serve all URLs that start with "/config" from the "/etc" direc- + tory, and call handle_doc.cgi script for .doc and .rtf file + requests. If some pattern matches, no further matching/substitu- + tion is performed (first matching pattern wins). Use full paths + in substitutions. Default: "" + + -x hide_files_patterns + A prefix pattern for the files to hide. Files that match the pat- + tern will not show up in directory listing and return 404 Not + Found if requested. Default: "" + +``` Common Problems --------------- -- GitLab