Provided by: mono-xsp4_4.2-2.5_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

xsp4 4.2                                           21 Nov 2004                                           xsp4(1)