Click here to Skip to main content
15,867,141 members
Articles / Web Development / Apache
Article

Cassini and Apache 101

Rate me:
Please Sign up or sign in to vote.
4.33/5 (5 votes)
19 Aug 20021 min read 251.2K   56   24
This article describes how to get ASP.NET up and running on Apache 2.x for Windows

Introduction

Cassini is a web server written in C#, you'll find more information about it at http://www.asp.net/

These simple steps gets Apache up and running with ASP.NET

  1. Download and install Apache 2.x for Windows (remember to stop IIS)
  2. Modify the http.conf file:
    # 
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule rewrite_module modules/mod_rewrite.so 
    
    # 
    ProxyPass /aspnet http://127.0.0.1:8080/ 
    ProxyPassReverse /aspnet http://127.0.0.1:8080/ 
  3. Create a different catalog (not the /aspnet catalog in http.conf) for your ASP.NET files and start Cassini:
    1. If you are using the cassini server included in WebMatrix
      c:\path-to-cassini\webserver.exe /port:8080 /path:"c:\path-to-asp.net-sourcefiles"
    2. or, the stand-alone Cassini server
      c:\path-to-cassini\CassiniWebServer "c:\path-to-asp.net-sourcefiles" 8080
  4. Test:
    • Cassini: http://localhost:8080/test.aspx
    • Apache: http://localhost/aspnet/test.aspx
    VB
    <!-- test.aspx -->
    <%@ Page Language="vb" %>
    <html>
    <body>
        <form runat="server">
            <asp:Calendar runat="server" />
        </form>
    </body>
    </html>

Ultimate test

If everything is working fine, you can move on to the 'ultimate' test, running ASP.NET Forums on Apache

  1. Do a manual installation of ASP.NET Forums (skipping step 7)
    See: http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=21470
  2. Add to http.conf (assumes the modifications above are done)
    #AspNetForums
    ProxyPass /AspNetForums http://127.0.0.1:8081/AspNetForums 
    ProxyPassReverse /AspNetForums http://127.0.0.1:8081/AspNetForums 
    #aspnet_client
    ProxyPass /aspnet_client http://127.0.0.1:8082/aspnet_client 
    ProxyPassReverse /aspnet_client http://127.0.0.1:8082/aspnet_client 
  3. Start 2 different Cassinis listening on port 8081 and 8082.
    c:\path-to-cassini\webserver.exe /port:8081 /path:"c:\path-to-asp.net-forums" /vpath:"/AspNetForums" <br>
    c:\path-to-cassini\webserver.exe /port:8082 /path:"E:\Program Files\ASP.NET\Client Files" /vpath:"/aspnet_client"

It is not the fastest solution, but everything works fine. I decided to "stress-test" it using Homer running 10 threads 5 sockets per thread in one minute, and got the following:

PageHitsTTFB* Avg.TTLB* Avg.
/AspNetForums/Default.aspx2861024.967458.23

*: TTFB = Time To First Byte, TTLP = Time To Last Byte

Bear in mind that this test was done on my Thinkpad T21 800Mhz/512 MB, which is filled with junk.

Now I am waiting for someone to write a mod_cassini

Reference

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Norway Norway
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionApache performance Pin
kavithakcross18-Nov-08 17:45
kavithakcross18-Nov-08 17:45 
GeneralAnother way Pin
dfer16-Dec-06 23:34
dfer16-Dec-06 23:34 
GeneralASP.NET and APACHE Pin
Anonymous12-May-05 3:01
Anonymous12-May-05 3:01 
GeneralRe: ASP.NET and APACHE Pin
lcmduck4-Nov-05 1:42
lcmduck4-Nov-05 1:42 
GeneralThere is another way... Pin
19-Jan-05 12:51
suss19-Jan-05 12:51 
GeneralThink mod_mono Pin
Neo4E656F29-Oct-04 16:36
Neo4E656F29-Oct-04 16:36 
GeneralRe: Think mod_mono Pin
Brian Delahunty16-Feb-05 1:33
Brian Delahunty16-Feb-05 1:33 
GeneralDoesn't work for me Pin
Andre S.5-May-04 14:28
sussAndre S.5-May-04 14:28 
GeneralRe: Doesn't work for me Pin
Member 40426527-May-04 10:47
Member 40426527-May-04 10:47 
GeneralRe: Doesn't work for me Pin
George Dyke7-Jun-04 15:13
sussGeorge Dyke7-Jun-04 15:13 
GeneralRe: Doesn't work for me Pin
jbllama31-Oct-04 6:43
sussjbllama31-Oct-04 6:43 
GeneralRe: Doesn't work for me Pin
glusk8-Feb-05 10:52
glusk8-Feb-05 10:52 
Generalcatalog Pin
Anonymous17-Jul-03 5:19
Anonymous17-Jul-03 5:19 
could you plz explain #3 in a little more detail? I'm not really familiar with Apache server yet, but I'm getting there. where exactly do I put this line:

c:\path-to-cassini\CassiniWebServer "c:\path-to-asp.net-sourcefiles" 8080

in what file?

-Paul
GeneralRe: catalog Pin
Anonymous17-Jul-03 5:30
Anonymous17-Jul-03 5:30 
GeneralApache and .net Pin
Jake Helfert23-Jan-03 7:00
Jake Helfert23-Jan-03 7:00 
GeneralRe: Apache and .net Pin
yamadhrama14-Apr-03 20:50
yamadhrama14-Apr-03 20:50 
GeneralRe: Apache and .net Pin
AlexGnauck8-Mar-04 4:31
AlexGnauck8-Mar-04 4:31 
GeneralRe: Apache and .net Pin
arnab197414-Nov-04 18:53
arnab197414-Nov-04 18:53 
GeneralRe: Apache and .net Pin
dzCepheus16-Nov-04 13:32
dzCepheus16-Nov-04 13:32 
Generalmod_rewrite Pin
Peter Huisman29-Dec-02 11:39
Peter Huisman29-Dec-02 11:39 
GeneralStill need Windows server Pin
Trollslayer26-Aug-02 11:41
mentorTrollslayer26-Aug-02 11:41 
GeneralRe: Still need Windows server Pin
Per S26-Aug-02 13:22
Per S26-Aug-02 13:22 
GeneralRe: Still need Windows server Pin
whatever12327-Feb-03 12:46
whatever12327-Feb-03 12:46 
GeneralRe: Still need Windows server Pin
msn2wolf1-Sep-04 23:17
msn2wolf1-Sep-04 23:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.