ASP.NET y Apache 2
De WikiGlib
Tabla de contenidos |
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!!!

