Man Linux: Main Page and Category List

NAME

       XSP - Mono ASP.NET Web Server (xsp and xsp2)

SYNOPSIS

       xsp [options]

       or

       mod-mono-server2 [options]

       or

       fastcgi-mono-server2 [options]

DESCRIPTION

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

       If run as `xsp', 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-server2' and 'fastcgi-mono-server2' 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-server2. 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
              xsp and 127.0.0.1 for mod-mono-server2.  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-
              server2 has no default.  AppSettings key name: MonoServerPort

       --filename file (mod-mono-server2 and fastcgi-mono-server2)
              The  unix  socket  file  name  to  listen  on.   Default  value:
              /tmp/mod_mono_server  (fastcgi-mono-server2:  /tmp/fastcgi-mono-
              server2) AppSettings key name: UnixSocketFileName (fastcgi-mono-
              server2: 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-server2.exe.   --nonstop  By  default  xsp/mod-
              mono-server2  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 xsp:
                   $ xsp --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-server2 only)
              Gracefully terminates a running mod-mono-server2 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 xsp PID to the specified file.

MONO RUNTIME OPTIONS

       xsp and xsp2 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  xsp  or
       xsp2.

       For example:
            $ MONO_OPTIONS=--debug xsp2

DEFAULT INDEX FILES

       You can choose which files are considered as index using xsp.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-server2 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-10.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