Provided by: mono-xsp4_4.2-2.1_all bug

NAME

       XSP - Mono ASP.NET Web Server (xsp4 and xsp42)

SYNOPSIS

       xsp4 [options]

       or

       mod-mono-server [options]

       or

       fastcgi-mono-server [options]

DESCRIPTION

       XSP, mod-mono-server and fastcgi-mono-server are hosts for ASP.NET-based applications.

       If  run  as `xsp4', the process provides a minimalistic web server which hosts the ASP.NET
       runtime and can be used to test  and  debug  web  applications  that  use  the  System.Web
       facilities  in  Mono.  This server is most convenient for testing and running small sites,
       does not offer everything a production web server offers.

       `mod-mono-server' and 'fastcgi-mono-server' are  both  ASP.NET  runtimes  hosts  that  can
       communicate  with  another  web  server  (at the time of this writing, Apache 1.3-2.2 were
       supported through mod_mono and several other web servers through FastCGI).  This mechanism
       is better used for high-traffic servers or production systems, since it can integrate with
       the main HTTP server and leverage all of the optimizations and extensions of  an  existing
       server, while providing the ASP.NET runtime. You can choose the communication channel used
       between mod_mono and mod-mono-server. If you provide a --filename option, a unix socket is
       used, otherwise you can give --port to use a TCP socket.

OPTIONS

       --address addr
              Sets  the  IP  address to listen on. By default it's 0.0.0.0 for xsp4 and 127.0.0.1
              for mod-mono-server.  AppSettings key name: MonoServerAddress

       --port PORT
              Changes the default port where the XSP server will listen to requests.  By  default
              XSP listens on port 8080 and mod-mono-server has no default.  AppSettings key name:
              MonoServerPort

       --backlog N
              The backlog of connections to set on the listener socket.  By default the value  is
              set to 500.

       --minThreads N
              The  minimum  number  of  threads  the threadpool allocates. Increase this value to
              better handle the sudden arrival of connections.  The default value  is  determined
              by the mono runtime.

       --filename file (mod-mono-server and fastcgi-mono-server)
              The  unix  socket  file  name  to  listen  on.  Default value: /tmp/mod_mono_server
              (fastcgi-mono-server:    /tmp/fastcgi-mono-server)    AppSettings     key     name:
              UnixSocketFileName (fastcgi-mono-server: MonoUnixSocket)

       --root PATH
              The  root  directory  for XSP.  The default is the directory where XSP is executed.
              The current directory will be changed to this one before creating any  application.
              AppSettings key name: MonoServerRootDir

       --appconfigfile FILENAME
              Adds   application   definitions  from  the  XML  configuration  file.  See  sample
              configuration file that comes with  the  server  (sample.webapp)  and  WEBAPP  FILE
              FORMAT below.  AppSettings key name: MonoApplicationsConfigFile

       --appconfigdir DIR
              Adds  application  definitions  from all XML files found in the specified directory
              DIR.   Files   must   have   '.webapp'   extension.     AppSettings    key    name:
              MonoApplicationsConfigDir

       --applications APPS
              A  comma  separated  list  of  virtual  directory  and  real  directory for all the
              applications we want to manage with this server. The virtual  and  real  dirs.  are
              separated by a colon. The default value is '/:.'.

       Some examples:

       '/:.'  The virtual / is mapped to the current directory.

       '/blog:../myblog'
              The virtual /blog is mapped to ../myblog

       '/:.,/blog:../myblog'
              Two applications like the above ones are handled.

       myhost.someprovider.net:/blog:../myblog
              The virtual /blog at myhost.someprovider.net is mapped to ../myblog.

       --master

       This instance will be used to by mod_mono to create ASP.NET
              applications  on  demand. If this option is provided, there is no need to provide a
              list  of  applications  to  start.   This  applies  only  to   mod-mono-server.exe.
              --nonstop  By  default  xsp4/mod-mono-server will stop processing requests when the
              return key is pressed.  Use this to avoid this behavior.

       --no-hidden
              Do not protect hidden files/directories from  being  accessed  by  clients.  Hidden
              files/directories  are those with Hidden attribute on Windows and whose name starts
              with a dot on Unix. Any file/directory below a  hidden  directory  is  inacessible.
              This  option  turns  the default behavior of protecting such locations off. If your
              application does not contain any hidden files/directories, you might  want  to  use
              this  option as the checking process has a per-request cost.  AppSettings key name:
              MonoServerCheckHiddenFiles (a boolean accepting 'true' or 'false')

       --https
              Enables HTTPS support on the server, you must supply an  X.509  certificate  and  a
              private  key  with  either the --cert/--pkfile options or with the --p12file (which
              combines both the certificate and the private key into a single file).

       To use you must first create an X.509 certificate for your server, for
              example:
                   $ makecert -r -eku 1.3.6.1.5.5.7.3.1 -n "CN=server" -p12 server.p12 s3kr3t
                   Mono MakeCert - version 1.1.9.0
                   X.509 Certificate Builder
                   Copyright 2002, 2003 Motus Technologies. Copyright 2004-2005 Novell. BSD licensed.

                   Success

       Then you must pass the following flags to xsp4:
                   $ xsp4 --https --p12file server.p12 --pkpwd s3kr3t

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --https-client-accept
              Like --https this enables HTTPS support on the server.  However  this  option  also
              send  an  "invitation"  to  clients  to provide client-certificates to authenticate
              themselves. Client  are  free  to  provide,  or  not,  a  client  certificate.  Web
              application  can detect if a client certificate is used and react accordingly. Most
              web browser will not send a client certificate unless  they  have  been  explicitly
              requested to do so.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --https-client-require
              Like  --https  this  enables  HTTPS support on the server. However this option also
              requires clients to use client-certificates to authenticate themselves. Client  who
              do not provide client certificates will receive an error. Note that client may send
              an empty certificate structure so web  application  should  check  the  certificate
              content.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --p12file FILENAME
              Used  to  specify  the  PKCS#12  file  to  use.  This  file includes both the X.509
              certificate and the private key required to encrypt the HTTP traffic.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --cert FILENAME
              Used to specify the server X.509 certificate file. This is normally used  with  the
              --pkfile.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --pkfile FILENAME
              Used  to  specify the path to the private keyfile. The PVK format isn't very secure
              and you should use the PKCS#12 format (--p12file option) to store new private keys.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --pkpwd PASSWORD
              If your private key is password protected, PASSWORD is the password used to  decote
              the private key. This option works for both PVK and PKCS#12 formats.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --protocol PROTOCOL
              Specifies  which  protocols  are  available for encrypting the communications.  The
              possible values are Default, Tls and Ssl3.   Ssl2  isn't  supported.   The  default
              value  is  "Default"  which  auto-detect  the client protocol and adjust the server
              protocol accordingly.

       This option is only valid for XSP. For mod_mono you should configure Apache for SSL/TLS.

       --terminate (mod-mono-server only)
              Gracefully terminates a running mod-mono-server instance.  All  other  options  but
              --filename or --address and --port are ignored if this option is provided.

       --version
              Displays version information and exits.

       --help Shows the list of options and exits.

       --verbose
              Prints extra messages. Useful for debugging.

       --pidfile FILE
              Writes the xsp4 PID to the specified file.

MONO RUNTIME OPTIONS

       xsp4  and  xsp42  are  scripts  that  call mono.  If you want to pass options to mono (for
       example, options to get line numbers in  stack  traces),  you  can  use  the  MONO_OPTIONS
       environment variable when invoking xsp4 or xsp42.

       For example:
            $ MONO_OPTIONS=--debug xsp42

DEFAULT INDEX FILES

       You  can  choose  which  files are considered as index using xsp4.exe.config configuration
       file like this:

           <appSettings>
           <add key="MonoServerDefaultIndexFiles"
                value="index.aspx" />
           </appSettings>

       By default, it has index.aspx, Default.aspx, default.aspx, index.html and  index.htm.  The
       order matters.

WEBAPP FILE FORMAT

       The format of the .webapp files used for --appconfigfile and --appconfigdir is:

       <apps>
       <web-application>
               <name>{appname}</name>
               <vhost>{virtual host for application}</vhost>
               <vport>{port for the application}</vport>
               <vpath>{virtual directory in apache}</vpath>
               <path>{physical path to aspx files}</path>
               <!-- <enabled> is true by default -->
               <enabled>{true|false}</enabled>
       </web-application>
       </apps>

       You can include any number of <web-application> nodes, one per ASP.NET application to run.

       There's a sample.webapp file in the XSP samples directory.

AUTHORS

       The  Mono XSP server was written by Gonzalo Paniagua Javier (gonzalo@ximian.com). Fastcgi-
       mono-server was written by Brian Nickel <http://kerrick.wordpress.com>.

ENVIRONMENT VARIABLES

       MONO_ASPNET_NODELETE
              If set to any value, temporary source files generated by  ASP.NET  support  classes
              will not be removed. They will be kept in the user's temporary directory.

FILES

       Web.config, web.config
              ASP.NET  applications are configured through these files, the configuration is done
              on  a  per-directory  basis.   For  more  information  on  this  subject  see   the
              http://www.mono-project.com/Config_system.web page.

SEE ALSO

       mono(1),dbsessmgr(1),asp-state(1),mod_mono(8),makecert(1)

       For        more        information        on       creating       certificates,       see:
       http://pages.infinit.net/ctech/20050701-1048.html

       System.Web, System.Web.Hosting namespaces.

       http://www.asp.net is Microsoft's official site for ASP.NET

MORE INFORMATION

       The Mono  project  (http://www.go-mono.com)  is  a  collaborative  effort  led  by  Novell
       (http://www.novell.com) to implement an open source version of the .NET Framework.

MAILING LISTS

       Mailing lists are listed at the http://www.mono-project.com/Mailing_Lists