[Mono-aspnet-list] Mono and CGI on shared host

Ronoaldo José de Lana Pereira ronoaldo at gmail.com
Mon Aug 17 08:34:41 EDT 2009


Hello all,

I'm trying to setup Mono FastCGI (fastcgi-mono-server2) to run
ASP.NETapplications on a shared hosting environment that only supports
CGI.

Following the docs presented in http://www.mono-project.com/CGI, the entire
installation process took place correctly, and fastcgi-mono-server2 runs
nicely.

I tried to use an application, but when I access the URL of the CGI script
(/cgi-bin/mono-cgi/Default.aspx, for example) it  always returns error 404.
What am I doing wrong? Is that a problem with PATH and PATH_TRANSLATED ???

Thanks for the help.

* fastcgi-mono-server log:

-- tail of file $HOME/mono-fcgi.log --
[2009-08-11 21:14:00Z] Debug   Accepting an incoming connection.
[2009-08-11 21:14:00Z] Notice  Beginning to receive records on connection.
[2009-08-11 21:14:00Z] Debug   Record received. (Type: BeginRequest, ID: 1,
Length: 8)
[2009-08-11 21:14:00Z] Debug   Record received. (Type: Params, ID: 1,
Length: 1045)
[2009-08-11 21:14:00Z] Debug   Record received. (Type: Params, ID: 1,
Length: 0)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_SIGNATURE = )
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_KEEP_ALIVE = 300)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_USER_AGENT =
Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.11) Gecko/2009061212
Iceweasel/3.0.12 (Debian-3.0.12-1))
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_PORT = 80)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_HOST = ronoaldo.net)
[2009-08-11 21:14:00Z] Debug   Read parameter. (DOCUMENT_ROOT =
/home/ronoaldo/public_html)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_ACCEPT_CHARSET =
ISO-8859-1,utf-8;q=0.7,*;q=0.7)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SCRIPT_FILENAME =
/home/ronoaldo/public_html/cgi-bin/mono-cgi)
[2009-08-11 21:14:00Z] Debug   Read parameter. (REQUEST_URI =
/cgi-bin/mono-cgi/Default.aspx)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SCRIPT_NAME =
/cgi-bin/mono-cgi)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_CONNECTION =
keep-alive)
[2009-08-11 21:14:00Z] Debug   Read parameter. (PATH_INFO = /Default.aspx)
[2009-08-11 21:14:00Z] Debug   Read parameter. (REMOTE_PORT = 49001)
[2009-08-11 21:14:00Z] Debug   Read parameter. (PATH =
/sbin:/usr/sbin:/bin:/usr/bin)
[2009-08-11 21:14:00Z] Debug   Read parameter. (PWD =
/home/ronoaldo/public_html/cgi-bin)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_ADMIN =
postmaster at ronoaldo.net)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_ACCEPT_LANGUAGE =
pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3)
[2009-08-11 21:14:00Z] Debug   Read parameter. (PATH_TRANSLATED =
/home/ronoaldo/public_html/Default.aspx)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_ACCEPT =
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8)
[2009-08-11 21:14:00Z] Debug   Read parameter. (REMOTE_ADDR = 187.26.98.103)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SHLVL = 0)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_NAME = ronoaldo.net)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_SOFTWARE = Apache)
[2009-08-11 21:14:00Z] Debug   Read parameter. (QUERY_STRING = )
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_ADDR = 200.98.197.2)
[2009-08-11 21:14:00Z] Debug   Read parameter. (GATEWAY_INTERFACE = CGI/1.1)
[2009-08-11 21:14:00Z] Debug   Read parameter. (SERVER_PROTOCOL = HTTP/1.1)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_CACHE_CONTROL =
max-age=0)
[2009-08-11 21:14:00Z] Debug   Read parameter. (HTTP_ACCEPT_ENCODING =
gzip,deflate)
[2009-08-11 21:14:00Z] Debug   Read parameter. (REQUEST_METHOD = GET)
[2009-08-11 21:14:00Z] Debug   Record received. (Type: StandardInput, ID: 1,
Length: 0)
[2009-08-11 21:14:00Z] Debug   Record sent. (Type: StandardOutput, ID: 1,
Length: 140)
[2009-08-11 21:14:00Z] Debug   Record sent. (Type: StandardOutput, ID: 1,
Length: 1741)
[2009-08-11 21:14:00Z] Debug   Record sent. (Type: StandardOutput, ID: 1,
Length: 0)
[2009-08-11 21:14:00Z] Debug   Record sent. (Type: EndRequest, ID: 1,
Length: 8)
[2009-08-11 21:14:00Z] Notice  Finished receiving records on connection.
--

Here is my settings (fcgi and mono installed on $HOME/system as $prefix):

-- file $HOME/public_html/cgi-bin/mono-cgi ---
#!/bin/bash

/home/ronoaldo/system/bin/mono-fcgi &

exec /home/ronoaldo/system/bin/cgi-fcgi \
    -bind -connect /home/ronoaldo/tmp/mono-fcgi.sock

-- EOF --

-- file $HOME/system/bin/mono-fcgi ---
#!/bin/sh

SOCKET="/home/ronoaldo/tmp/mono-fcgi.sock"
PIDFILE="/home/ronoaldo/tmp/mono-fcgi.pid"

function log()
{
    echo "[log:] $@" >> /home/ronoaldo/mono-fcgi.err
}

function spawn()
{
    umask 0077
    chmod 0777 /home/ronoaldo/tmp/mono-fcgi.sock

    echo $$ > $PIDFILE

    export HOME="/home/ronoaldo"
    export PREFIX="$HOME/system"
    export LDFLAGS="-Wl,--rpath -Wl,$PREFIX"
    export LD_LIBRARY_PATH="$PREFIX/lib"
    export LD_RUN_PATH="$PREFIX/lib"
    export PATH="$PREFIX/bin:$PATH"
    export
MONO_GAC_PREFIX="$PREFIX/lib/mono:$PREFIX/lib/mono/gac:$MONO_GAC_PREFIX"
    export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig"
    export TMP="/home/ronoaldo/tmp"
    export MONO_SHARED_DIR="/home/ronoaldo/tmp"

    # stdin is the socket handle
    exec env \
        /home/ronoaldo/system/bin/fastcgi-mono-server2 \
        /socket=unix:$SOCKET \
        /root=/home/ronoaldo/webapps/mono \
        /applications=/:/home/ronoaldo/webapps/mono \
        /logfile=/home/ronoaldo/mono-fcgi.log \
        /loglevels=All \
        2>> /home/ronoaldo/mono-fcgi.err

    echo -1 > $PIDFILE
}

function startIfNotRunning()
{
    touch $PIDFILE
    PID="$(cat $PIDFILE)"
    if ps $PID >& /dev/null; then
        exit 0
    else
        spawn
    fi
}

startIfNotRunning
-- EOF --

-- 
Ronoaldo J. L. Pereira
Bacharel em Ciência da Computação
Linux User #478715
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-aspnet-list/attachments/20090817/6c71b086/attachment-0001.html 


More information about the Mono-aspnet-list mailing list