Servidor ASP.NET con RHEL+ Apache2 + Mono

 

   
Como ya hemos dicho en anteriores ocasiones, si solo queremos desarrollar con el
servidor XSP nos sobra, dado que es mas sencillo de instalar y para ejecutarlo
es simplemente lanzarlo desde el mismo directorio de nuestra aplicacion web.
Pero si lo que nos interesa es poner un servidor en producion ya tenemos con
configurar nuestro Apache para que pueda lanzar el modulo mod_mono y asi ejcutar
nuestras aplicaciones web .NET bajo GNU/Linux.

   
Aunque parte de mundo libre intente hacer dificil un sencillo montaje de este
tipo de servidores, a continuacion vamos a simplificar lo maximo posible esta
instalacion sobre Red Hat Enterprise Linux.
 

 

INSTALACION DE
MONO

Tenemos dos opciones para la instalación en RHEL de forma sencilla y
cómoda:

 

Instalacion manual:

Descargar de la web oficial los paquetes relativos a Red Hat:

wget  http://www.go-mono.com/download-stable/rhel-4-i386/mono.zip
wget
http://www.go-mono.com/download-stable/rhel-4-i386/webserver.zip
wget
http://www.go-mono.com/download-stable/rhel-4-i386/gtk-sharp-1.0.zip
wget
http://www.go-mono.com/download-stable/rhel-4-i386/devtools.zip
wget
http://www.go-mono.com/download-stable/rhel-4-i386/gtk-sharp-2.0.zip

Descomprimimos los ficheros:

                unzip
*

Y
procedemos a la instalación de los paquetes necesarios:

rpm -i
mono-complete-1.2.6-4.novell.i586.rpm mono-data-1.2.6-4.novell.i586.rpm
mono-core-1.2.6-4.novell.i586.rpm 
mono-web-1.2.6-4.novell.i586.rpm mono-winforms-1.2.6-4.novell.i586.rpm
mono-locale-extras-1.2.6-4.novell.i586.rpm 
mono-extras-1.2.6-4.novell.i586.rpm
mono-data-oracle-1.2.6-4.novell.i586.rpm
mono-data-postgresql-1.2.6-4.novell.i586.rpm 
mono-data-sqlite-1.2.6-4.novell.i586.rpm
mono-data-sybase-1.2.6-4.novell.i586.rpm
libgdiplus-1.2.6-2.rhel4.novell.i386.rpm 
bytefx-data-mysql-1.2.6-4.novell.i586.rpm
ibm-data-db2-1.2.6-4.novell.i586.rpm xsp-1.2.6-2.novell.noarch.rpm 
mono-nunit-1.2.6-4.novell.i586.rpm

 

 

Instalación desde
repositorio:

Sin duda la más recomendada, ya que estaremos al día con las
actualización directamente del propio repositorio oficial de Novell.

                cd
/etc/yum.repos.d/

                wget
http://www.go-mono.com/download-stable/rhel-4-i386/mono.repo

                yum install mono mod_mono
mono-data-oracle

 


 

CONFIGURACION DEL
SERVIDOR APACHE2

Primero necesitamos cargar el modulo mod_mono en el apache2
por lo que editamos el fichero /etc/httpd/conf/httpd.conf y en la sección de
carga de módulos escribimos:

                               LoadModule mono_module
modules/mod_mono.so

  

Ya solo nos falta la configuración de este modulo, en la que
le indicaremos los ficheros sobre los que se tiene que lanzar, donde está el
servidor que procesara las peticiones,… Por lo que editamos/creamos  el fichero 
/etc/httpd/conf.d/mod_mono.conf

 

<IfModule mod_mono.c>

MonoUnixSocket default /tmp/.mod_mono_server2
MonoServerPath
default /usr/bin/mod-mono-server2
AddType application/x-asp-net .aspx .ashx
.asmx .ascx .asax .config .ascx MonoApplicationsConfigDir default  /etc/mono/2.0/
MonoPath default
/usr/lib/mono/2.0:/usr/lib

Alias
/
NuestraAPP«/var/www/NuestraAPP»
    
AddMonoApplications default «/
NuestraAPP:/var/www/NuestraAPP«
       <Directory
/var/www/
NuestraAPP>
        
SetHandler mono
          
<IfModule mod_dir.c>
              DirectoryIndex index.aspx
default.aspx index.html Service.asmx
           </IfModule>
      
</Directory>

</IfModule>

Versiones Vista N, XP N, … pasa a ser Nicrosoft ???

   Cual ha sido mi sorpresa cuando al entrar a la MSDN
he encontrado muchos productos de Microsoft con la «N» al final. Pues
no, no os creais que Microsoft cambia de nombre o saca versiones
optimizadas de sus productos.

   La realidad es que son versiones
recortadas de sus productos, dado que muchos de ellos no cumplian la
normativa europea relacionada con el Windows Media Player, por lo que
en estas versiones no esta incluido de serie.  

   Toda la informacion detallada la teneis en:

http://www.microsoft.com/About/Legal/eudecision/faq.mspx

PD. No se os ocurra decir en voz alta a algun calenturiento de mente como se denomina la nueva version de «Windows XP N».

Mono Summit 2007 en MADRID !!!

Se ha publicado el calendario del proximo Mono Summit 2007, el cual este año se celebrara en Madrid:

Wednesday 28

Thursday 29

Friday 30

Salon
de Actos

Aula
de Workshop

Hacking
Room

Salon
de Actos

Aula
de Workshop

Hacking
Room

Salon
de Actos

Aula
de Workshop

Hacking
Room

9:30

Doors
Open / Coffee

Doors
Open / Coffee

Doors
Open / Coffee

10:00

Opening Keynote
Miguel de Icaza

NUnit
Charlie Poole

Debugging Mono Applications with MDB

Martin Baulig

10:45

Break

Break

11:00

Mono on the Mac
Geoff
Norton

Greengrass
Federico Di Gregorio

Boo – A lean mean DSL Machine
Rodrigo B. de Oliveira

11:45

Break

Break

Break

12:00

C Sharp 3.0 and LINQ
Marek Safar

DB4Objects

Rodrigo B. de Oliveira

Mono on Embedded Devices
Everaldo Canuto

OpenSuse Build Service
Wade
Berrier

Boxerp
Carlos
Ble

13:00

Lunch

Lunch

Lunch

15:00

Birds of a Feather Sessions

Developing Desktop applications with Moonlight
Stephane
Delcroix

Birds of a Feather Sessions

15:45

Break

Break

Break

16:00

Developing Applications with Monodevelop
Lluis Sanchez

Meet The Experts

Mono.Cecil
JB Evain

16:45

Break

Break

17:00

Towards A Virtual Babel: Mono In Second Life
Jim
Purbrick

Using Mono.Addins
Lluis
Sanchez

17:45

Wrap Up

Wrap Up

Wrap Up

 

Pueden registrarse desde ya.

 

Alli nos veremos !!!

 

PD. Llevo plazas libres en el coche ……
 

 

Windows CE 6.0 R2

El proximo 15 de Noviembre tendra lugar el lanzamiento del nuevo
Windows CE 6.0 R2, proxima base para nuestros dispositivos moviles,
sustituyendo al actual Windows CE 5.2.

 No se puede mostrar la imagen “https://mseventsww.microsoft.com/BannerImages/1535bd50-8ca8-49f7-a2d5-8a472354ef9c.jpg” porque contiene errores.

Cuenta con varias novedades interesantes:

  • Mejor integracion con  Vista y Server 2008
  • Nuevos desarrollos y prestaciones usando WSD (Windows Server Deployment)
  • Servicios de Video y Audio a traves de VoIP
  • …….

 

Registrate al evento !!

 

[CLMNET] Windows Server 2008, cuando el cuerno largo se vuelve real.

No se puede mostrar la imagen “https://mseventsww.microsoft.com/BannerImages/418b5849-f9e8-4305-8e4f-fe2ce586b214.jpg” porque contiene errores.

Este Jueves tenemos evento en CLMNET:

 http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032359265&Culture=es-ES

Sesion teorica en la que presentaremos el nuevo sistema operativo para servidores, destando en especial las mas potentes novedades como IIS7, la instalacion sin interfaz grafica, y varias formas de explotar la linea de comandos, tanto contra el Active Directory, como jugando con UNIX.

Agenda:

   – Novedades
   – IIS 7
   – Server Core
   – PowerShell
   – Interoperabilidad con Unix

  http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032359265&Culture=es-ES

 

Os esperamos !!! 

[TIP&TRICK] Insertando videos en CommunityServer

  Por defecto el Community Server no lleva la posibilidad de
insertarle un enlace de youtube o algo similar, basicamente por que no
reconoce las etiquetas de <object> ,  <embed>, …. por lo
tanto si queremos insertar videos solo tenemos que editar el fichero communityserver.config en el directorio raiz.

Buscamos la seccion Markup, e introducimos los tag html que vamos a permitir en los post insertando:

<object width = "true" height = "true">
<param name = "true" value = "true"/>
<embed src = "true" type = "true" wmode = "true" width = "true" height = "true" />
</object>
<embed src="true" type="true" wmode="true" width="true" height="true" />
<param name = "true" value = "true"/>

 

VS Team Fundation Server y sus tripas

   La primera vez que ves un Team Fundation Server funcionando la
verdad que da un poco de respeto, y piensas ¿que coloso llevara esto
por detras? ¿Un inmenso servidor de cientos de megas a traves de
sockets? ¿Un par ratones desarrolladores dandole a una rueda? ….

  
Pues no, la verdad que es un claro ejemplo de un desarrollo bien
planteado, simple y claro, usando la tecnologia del momento sin
recurrir a elementos prehistoricos (alegando que antes funcionaban). Es
algo tan simple como:

 

                              IIS + WebServices + SharePoint Services + SQL Server

 

  • Basicamenta
    cada vez que conectas con el Team Explorer lo que haces es llamar a los
    WebServices que te esperan escuchando desde el puerto 8080.  Eso si,
    para desarrollar ni se os ocurra atacar directamente a los webservices,
    como bien me dijo Luis Fraile,  es preferible usar las SDK,
    dado que Microsoft no te asegura que los webservices no cambiaran, pero
    si en cambio te da soporte y documentacion acerca de estos SDK.

 

  • El Portal Web para la Administracion de los proyectos no es mas
    que un SharePoint Services con un Theme cambiado, y un buen curro por
    detras para poder contactar con esos WebServices.

  • Las bases de datos usadas no son mas que las que aqui se presentan:
Base de datos Descripcion

ReportServer

The Reporting Services database contains the reports and report settings for Reporting Services.

ReportServerTempDB

The
Reporting Services temporary database is used for temporarily storing
information that is used when you run specific reports for Reporting
Services.

STS_Config_TFS

The
SharePoint configuration database contains a listing of all sites
including content databases, site templates, custom Web parts, and
other settings from SharePoint Central Administration.

STS_Content_TFS

The SharePoint content database contains the content for the team’s SharePoint site.

TfsBuild

The build database contains Team Foundation Build data and published test results.

TfsIntegration

The registration database contains Projects, Areas, Iterations, and other registration data.

TfsVersionControl

The Team Foundation source control database.

TFSWarehouse

The Analysis Services database contains the data for building the warehouse used by the Reporting Services.

NoteNote

The
database can be backed up, however the warehouse is not backed up as
the warehouse must be rebuilt from the restored TFSWarehouse database.

TfsWorkItemTracking

The Team Foundation work item tracking database.

TfsWorkItemTrackingAttachments

The Team Foundation work item tracking attachments database.

TfsActivityLogging

The history database contains a log of all Team Foundation Server Web service requests.

NoteNote

This database is not required for Team Foundation Server operation and back up is optional.

 

El rival de SilverLight va viendo la luz

  Ha salido Flex Builder Alpha para GNU/Linux, Flex es la respuesta
por parte de Adobe a aplicaciones interactivas en la web. Podriamos
llegar a decir que es una evolucion de Flash.

 Flex

   Y por que digo que es el rival directo?? basicamente pq la
evolucion natural de un desarrollador con Flash sera mas sencillo
adaptarse a este nuevo entorno basado en la misma filosofia, veremos a
ver si es capaz de aguantar el tiron de SilverLight que le suministra Visual Studio y el soporte libre de MoonLight. Tambien existe uno hipotetico JavaFX, del que se oye hablar pero nada se ve 😉

La version para GNU/Linux la podeis descargar desde aqui, y la version para Win32 que ya esta en Beta 3 desde aqui

 

 

Ofuscate or not ofuscate. Cotilleando codigo ajeno

  Dado el interes de mis nuevos compañeros de trabajo vamos a contar
algunas cosillas de la decompilacion. Antes de hablar de ofuscacion de
codigo seria conveniente el por que del uso de la ofuscacion en .NET 

MSIL

  Es el lenguaje intermedio que usa .NET,
nuestro programas, dll, ….. al compilar no pasan directamente a
codigo maquina, si no que se convierte en este codigo. Y ya puede ser
ejecutado bajo el Framework de .NET,

Reflector

   Herramienta IMPRESIONANTE,
problarla todos aquellos que no la hayais visto trabajar nunca, puedes
abrir cualquier exe, dll, … desarrollado en .NET ( dado que lees es
el MSIL ) y ver el codigo fuente de la aplicacion sin mayor misterio. Y
sin duda que no se os olviden probar los plugins con el que podras
decompilar SilverLight, que nos salgan para PowerShell, ….  <Descargar>
 


DotFuscator

  
Ofuscador de codigo con el podemos codificar el codigo MSIL, asi
podremos evitar que con herramientas como reflector a pelo podamos
meternos hasta la cocina en el codigo del vecino. Viene integrado con
el Visual Studio. Seguro que lo tienes instalado y aun no te habias
dado ni cuenta. 😉

 

  Ejemplo del uso de Reflector y DotFuscator

 

    Problemas ….. los hay, la ofuscacion no es una
solucion definitva de ocultacion de codigo, dado que como podreis ver,
tanto en el video como en vuestras pruebas, el codigo en si queda
bastante ilegible, el gran problema que tienes son los string, en ese
caso es que puedes volver a reconstruirlas. Si en las string tienes las
cadenas de conexion, con login y password, las sentencias SQL, o todo
lo que sabeis que se llegan a meter en este formato, pueden ser
obtenidas y provocar problemas.

 

   No puedes hablar de ofuscacion si nombrar otra gran herramienta:

   Salamander, otro gran decompilador a dia de hoy es capaz de directamente desofucar las cadenas o poder examinar todo string que queramos.

 

 Conclusion

       No creo en la
ofuscacion, dado que lo el codigo que pueda genera cualquier
programador, puedo hacerlo otro con la misma funcionalidad o mejor. Lo
que hay que proteger son los datos en si, que a dia de hoy es lo que
realmente tiene valor, tanto de logins, como urls, como el dato de
cualquier persona.

      La otra opcion a la ofuscacion es el
patentar tu algoritmo, pero en un mundo que convive perfectamente con
el Software Libre, creo que el tema de patentar un bucle for no es algo
de lo que merezca la pena ni pensar.
 

   Y si estais mas interesados en algoritmia de ofuscacion os recomiento este ppt