PDA

Ver la versión completa : Aplicaciones .Net sobre Linux



Macuy
16/06/2010, 14:03
Bueno... estoy iniciando un nuevo proyecto, en el cual pretendo hacer funcionar aplicaciones desarrolladas en .Net, nativamente sobre Linux.

Esto, porque muchas empresas ya tienen aplicaciones inhouse ya desarrolladas, y es casi imposible que se les venda la idea de rehacer sus aplicativos en una plataforma libre.

Muchos me dira, simplemente instala Mono y listo... y yo les diria... no es solo de soplar y hacer botellas. Es mucho mas que eso....

De momento voy aprobar hacer correr un servidor web sobre Linux, que me funcione como lo hace el IIS de m$ en winbugs.

En cuanto logre hacerlo, ire posteando unos pequenos wiki de mis avances...

Para los que quieran seguirme, demomento instalen en su Linux, el servidor Apache2.

Xaludos

Macuy
17/06/2010, 11:47
Esta pequeño wiki ha sido probado en ubuntu pero en otras distribuciones de Linux no debería ser muy distinto. Basicamente seria de instalar las mismas aplicaciones con sus dependencias.

Primero instalamos todos los paquetes relacionados con mono o monodevelop:


sudo apt-get install mono mono-gmcs mono-utils monodevelop monodoc mono-xsp monodoc-http monodoc-ipod-manual monodoc-njb-manual monodoc-nunit-manual monodoc-gtk2.0-manual monodoc-gecko2.0-manual monodoc-ipod-manual monodoc-njb-manual monodoc-nunit-manual monodoc-gecko2.0-manual mono-xsp2 monodevelop-java libnunit-doc monodevelop-nunit monodevelop-versioncontrol

Si les falta algún paquete, o tienen algún problema de dependencias, actualicen los repositorio de getdeb, que tiene versiones más actualizadas de mono y monodevelop:


echo deb http://ubuntu.org.ua/ getdeb/ | sudo tee -a /etc/apt/sources.list

Actualizamos la lista de repositorios :


sudo apt-get update

Si queremos, podemos instalar los ejemplos para ASP.NET 1.1 y 2.0:


sudo apt-get install asp.net-examples asp.net2-examples


El ejemplo de 2.0 tiene un bug tonto que se arregla :


sudo cp /usr/share/asp.net2-demos/index.aspx /usr/share/asp.net2-demos/index2.aspx


Para ver el ejemplo:

Nos vamos al directorio de trabajo que corresponde :


cd /usr/share/asp.net-demos/

Ahora simplemente ponemos en consola


xsp2

Nos monta un servidor donde podemos ver el ejemplo : http://127.0.0.1:8080/

El ejemplo de asp 1.1 es igual pero esta en


cd /usr/share/asp.net-demos/

Ejecutamos:


xsp

Macuy
18/06/2010, 13:06
Bueno... ya tenemos la primera parte... aunque el hecho de lograr ver algo de asp.net corriendo, ya lo inspira a uno... jajajaja

Sigamos...

Editamos el fichero de configuracion de apache2


#sudo gedit /etc/apache2/apache2.conf

Agregamos estas lineas en cualquier parte del archivo de configuracion de apache2


Alias /asp "/home/tuusuario/web"
MonoApplications "/asp:/home/tuusuario/web"

Se modifica el archivo de configuracion del modulo de mono


#sudo gedit /etc/apache2/mod-enable/mod_mono.conf

OJO: hay veces que este archivo se encuentra en :


#sudo gedit /etc/apache2/mods-enabled/mod_mono.conf

Dentro del archivo descomentamos y comentamos las siguientes lineas segun sea el caso, ya sea para net 1.1 o para 2.0

#Include /etc/mono-server/mono-server-hosts.conf OJO: es para net 1.1
Include /etc/mono-server2/mono-server2-hosts.conf OJO: es para net 2.0


colocar esto en el navegador :

http://127.0.0.1/asp

"ya que asp le dimos como alias en el archivo de configuracion de apache"

ADVERTENCIA : SI SE INTENTA EJECUTAR LA APLICACION ASPX Y EL NAVEGADOR LES PIDE O LES INDICA QUE BAJARA LA PAGINA O QUE SI DESEA GUARDARLA, SOLO HAY QUE PONER ESTAS LINEAS AL FINAL DEL ARCHIVO de configuracion de mod_mono.conf

MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
MonoApplications "/:/home/username/www"

Nota: donde dice username es tu usuario de linux

Macuy
21/06/2010, 18:55
Bueno... ya logramos publicar paginas asp.net sobre Linux, y ahora estoy tratando de correr aplicaciones windows.form de forma nativa, a traves de webservices...

Estoy teniendo unos problemitas, y no termina de salir, pues la aplicacion ya funciona bien... solo falta que se comunique... creo que tiene que ver con algo de los puertos, pero en fin.. en cuanto lo tenga solucionado les publico el wiki...

Xaludos

Macuy
06/07/2010, 16:06
Bueno, ya logre que funcionara de forma remota, solo indicando el puerto en:


#sudo gedit /etc/apache2/apache2.conf

Y pues aun estoy peleando, pues tengo algunos problemas para poderme comunicar hacia un M$ Sql Server... pues las pruebas anteriores las realice hacia MySQL... jejeje

Quien necesite el codigo fuente de mi proyecto de pruebas, me avisa, y se lo envio....

Les seguire comentando sobre mis avances...

P.D. Alguien ha usado o tiene conocimiento sobre "Grasshopper" (http://www.mainsoft.com/content/mainsoft-support-services)?????