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!!!

    About Jacob

    I'm a Bioinformatics Developer, Software Engineer, Open Source Developer, Mobile Developer, Unix/Linux SysAdmin, HPC Sysadmin

    4 thoughts on “ASP.NET 1.1 y 2.0 en Apache 2

    1. 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. 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:😉

    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