Programming · Summer of Code 2007

FastCGI ASP.NET Server Status Report 6/7/8

This is a status report for the weeks of July 2 – July 20. I first apologize for the lack of reports lately. A combination of family vacation, exams, reinstalling Linux, and lack of Internet access, among other things, combined with the spot I was at in the goals got the best of me. However, I’ve come back more focused, with new ideas and plans, so the coming weeks should be more promising.

THIS WEEK’S ACCOMPLISHMENTS

This week I worked at re-prioritizing project goals, putting automatic configuration above a configuration application.

I implemented automatic application detection. Now you can simply call:

fastcgi-mono-server /socket=tcp:1234 /automappaths

That way you can just drop your ASPX files in the standard htdocs or public_html directories and an appropriate application is registered. This should overcome a lot of confusion in configuration and for automatic registration when creating new sub-domains or users.

automappaths

Beyond that, I got the server working perfectly on Lighttpd:

In /etc/lighttpd/conf.d/fastcgi.conf:

#######################################################################
##
##  FastCGI Module
## ---------------
##
## http://www.lighttpd.net/documentation/fastcgi.html
##

server.modules += ( "mod_fastcgi" )

fastcgi.server = (
        ".aspx"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".asmx"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".ashx"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".asax"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".ascx"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".soap"   => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".rem"    => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".axd"    => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".cs"     => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".config" => (( "host" => "127.0.0.1", "port" => 1234 )),
        ".dll"    => (( "host" => "127.0.0.1", "port" => 1234 ))
)

In /etc/lighttpd/modules.conf:

include "conf.d/fastcgi.conf"

In /etc/lighttpd/lighttpd.conf:

index-file.names = (
  "index.xhtml", "index.html", "index.htm", "default.htm", "index.php", "default.aspx", "index.aspx"
)

lighttpd

PLANS FOR THE COMING WEEK

  1. I’m going to work with my mentor to develop a plan for a control panel and additional auto-configuration.
  2. I’m going to work with the mono developers on “the socket issue”.
  3. I’m going to contact developers of various FastCGI implementations on servers to overcome various issues I’ve encountered.
  4. I’m going to start reorganizing the source for autotools.
  5. I’m going to continue work on documentation.

CHALLENGES I’M FACING

I’ve had trouble getting enough time in due to family obligations and coursework. I’ve also had a lack of motivation due to a lack of clarity over how to address the control panel. Both of these problems should be resolved.

Sincerely,
Brian Nickel

Advertisements

2 thoughts on “FastCGI ASP.NET Server Status Report 6/7/8

  1. Hi Luc,

    At the moment, you will need to do something along the lines of the following:

    1. Check out the latest version from Subversion:
    2. Open the project in MonoDevelop.
    3. Build Mono.FastCgi, Mono.WebServer, and Mono.WebServer.FastCgi
    4. Enter FastCgi/bin in the console.
    5. Run MONO_PATH=. mono fastcgi-mono-server.exe /socket=tcp:1234 /automappaths

    I’m hoping to have something with autotools by next week or the week after to make things a little more graceful.

    – Brian

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s