ASP.NET 1.1 y 2.0 en Apache 2

En la reunión pasada de GLIB platique un poco sobre la configuracion del modulo mod_mono para soportar aplicaciones web ASP.NET en Apache 2.

Introducción

Mod_mono es un modulo que proporciona soporte de ASP.NET 1.1 y 2.0 para el servidor web Apache.

El modulo envía todas las peticiones a un programa externo “mod-mono-server” para que procese dichas peticiones.

La comunicación entre el modulo de Apache y mod-mono-server es establecida a traves de sockets (Unix y TCP).

Requerimientos

para soportar aplicaciones web escritas en ASP.NET con C#:

  • Mono
  • xsp 1.9. es un pequeño servidor para probar el desarrollo de ASP.NET 1.1 y 2.0
  • mod_mono 1.9

Compilar xsp

  • ./configure –prefix=/usr
  • make
  • make install (con privilegios de root)
  • Compilar mod_mono

    • ./configure –prefix=/usr
    • make
    • make install (con privilegios de root)

    nota: en este punto vamos a necesitar las librerías de apache2 y herramientas como APR(Apache Portable Runtime),de otro forma no pueden compilar el modulo.

    Configuración del modulo en Apache2

    ASP.NET 1.1 y 2.0

    Incluir en el archivo de configuración principal de Apache el siguiente archivo: mod_mono.conf

    Include /etc/apache2/mod_mono.conf

    contenido del archivo mod_mono.conf:

    <IfModule !mod_mono.c>
    LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
    AddType application/x-asp-net .aspx
    AddType application/x-asp-net .asmx
    AddType application/x-asp-net .ashx
    AddType application/x-asp-net .asax
    AddType application/x-asp-net .ascx
    AddType application/x-asp-net .soap
    AddType application/x-asp-net .rem
    AddType application/x-asp-net .axd
    AddType application/x-asp-net .cs
    AddType application/x-asp-net .config
    AddType application/x-asp-net .Config
    AddType application/x-asp-net .dll
    DirectoryIndex index.aspx
    DirectoryIndex Default.aspx
    DirectoryIndex default.aspx
    </IfModule>

    nota: este archivo se genera automáticamente al instalar mod_mono.

    Archivo de configuracion de su sitio web

    el siguiente paso es crear un archivo con su configuración de su sitio web: por ejemplo mywebsites_aspnet2.conf e incluirlo en Apache 2

    Include /etc/apache2/mywebsites_aspnet2.conf

    contenido del archivo mywebsites_aspnet2.conf:

    Alias /test "/home/jacob/Projects/aspnet1.1_2.0/helloworld"
    AddMonoApplications default "/test:/home/jacob/Projects/aspnet1.1_2.0/helloworld"
    MonoServerPath default /usr/bin/mod-mono-server2
    <Location /test>
    SetHandler mono
    </Location>

    El código fuente de la aplicación web ASP.NET

    helloworld.aspx

    <% @Page Language="C#" Inherits="helloworld" Codefile="helloworld.aspx.cs" %>
    <html>
    <head>
    <title>Hola Mundo desde ASP.NET 2.0</title>
    </head>
    <body>
    <form id="frmMain" runat="server">
    <asp:Button id="btnShowHello"
    runat="server"
    OnClick="OnShowHello"
    Text="Clic Aqui" />
    </form>
    </body>
    </html>

    helloworld.aspx.cs

    using System;
    using System.Web;
    using System.Web.UI;
    public partial class helloworld : Page  {
    string message = "Hello World GLIB";
    void Page_Load(object sender, EventArgs e)
    {
    Response.Write("Running ASP.NET 2.0");
    }
    protected void OnShowHello(object o, EventArgs e)
    {
    Response.Write(message);
    }
    }

    Reiniciar Apache 2

    solo resta reiniciar el servidor web Apache, en Ubuntu lo pueden hacer de la siguiente manera:

    sudo /etc/init.d/apache2 restart

    Prueba en navegador web

    y a continuación abrir su navegador web y escribir la siguiente url:

    http://127.0.0.1/test/helloworld.aspx

    et voila!!!

    3 Comments

    1. Posted April 13, 2008 at 10:42 pm | Permalink

      Oye que onda, de casualidad usas monodevelop en linux? lo instalé hace poco y vi que no tiene syntax highlighting para asp.net y me preguntaba si era solo el paquete de mi distro opensuse 10.3 o en general aun no hay soporte para eso.

      Por cierto encontré tu blog en planetalinux México, saludos.

    2. Rox
      Posted April 14, 2008 at 1:06 am | Permalink

      niceee… =)

    3. maggy
      Posted April 22, 2008 at 8:22 am | Permalink

      Gustavo si si uso monodevelop en Ubuntu Linux, si desafortunadamente aun no hay “sintax highlighting” para asp.net en monodevelop..habra que esperar o incluirlo nosotros mismos

      Saludos, gracias por escribir.

      Rox: ;)

    Post a Comment

    Your email is never published nor shared. Required fields are marked *

    *
    *