Tuvimos que realizar la puesta en producción de una aplicación ASP realizada con Genexus 7.5 y generador VB en un servidor con sistema operativo Windows 2003 Server Standard Edition e Internet Information Server (IIS 6.0) .
Estos son algunos de los items que aprendimos de la ayuda de GX y son verdaremente importantes para lograr la puesta en producción:
1) Compilación
Compilar la aplicación desde VB (no desde Genexus).
2) Setup
Armar el programa de Setup mediante Genexus Setup Wizard e instalar en el servidor desde este.
3) Configuración del DCOMCNFG
El diálogo de configuración de los permisos de DCOM en Windows XP o 2003 no es igual
que en el resto de los sistemas operativos.
A continuación se detallan los pasos a seguir:
- Ejecutar DCOMCNFG desde el Run de Windows
- Abrir Component Services/Computers/My Computer y darle boton derecho a My Computer y Properties.
- Ahí están las opciones que aparecían en el DCOMCNFG viejo. En particular hay que ir a COM Security y allí en la sección Access Permissions darle al botón Edit Default.
Los usuarios que deben tener permisos deben ser: Everyone (esto habilita permisos a todo el mundo para largar procesos COM para todas las aplicaciones) y el usuario anónimo (IUSR_) que es el que ejecuta los Web Panels.
Alternativamente se puede hacer algo más seguro:
- Ejecutar un archivo de extensión .reg con la siguiente información:
REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}] @="VB ASP Debugging"
[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32] @="vb6.exe" [HKEY_CLASSES_ROOT\AppID\vb6.exe] "AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"
- Resetear la máquina y después correr dcomcnfg.
- Ir a Component Services\Computers\My Computer\DCOM Config y ahí buscar "VB ASP Debugging" y darle botón derecho/Properties. - Ahí ir a Security y en la parte de Launch Permissions elegir Cutomize y Edit y agregar a Everyone.
Nota: Es necesario configurar el DCOM porque si no los objetos web generados con visual basic presentan el error Access is denied
4) Controlar que se tengan las siguientes dlls:
MSVBVM60.DLL
MSWCRUN.DLL
Si no las tenés se pueden copiar a mano al windows/system (o similar según el sistema operativo) y registrarlas o incliuirlas en el Setup de instalación de la app.
5) Configuración IIS
Cuando se trabaja con aplicaciones Web VB, y se utiliza un servidor Windows 2003 para poner en producción las aplicaciones, se tiene que tener en cuenta que algunas configuraciones varían con respecto a los demás sistemas operativos.
Configuración del Application Protection En Windows 2003
la configuración del Application Protection, que hasta el momento se configuraba en cada directorio virtual, seleccionando uno de los valores: Low (IIS Process) Medium (Pooled) High (Isolated) en Windows 2003 se debe configurar en:
- Presionar boton derecho del mouse sobre la opcion Web Sites (Sitios Web)
- Seleccionar el Tab Service (Servicio)
- La primer opcion de ese Tab es Isolation Mode
- Marcar el Check Run WWW service in IIS 5.0 Isolation Mode (Ejecutar el Servicio WWW en el modo aislado de IIS 5.0).
Errores que se pueden dar al ejecutar la aplicación
- HTTP Error 404- File or Directory not found Esto es porque por defecto las aplicaciones Web no vienen habilitadas en el IIS de Windows 2003 Server, para poder habilitar las aplicaciones seguir los pasos que se mencionan en el siguiente artículo de MS: http://support.microsoft.com/default.aspx?scid=kb;en-us;315122
6) Problemas al ejecutar Web Panels VB usando usuario anonimo
Por más que el usuario anónimo tenga todos los permisos necesarios para ejecutar los Web Panels, se dan estos errores.
Es un error que los Web Panels no funcionen con el usuario anónimo definido por el IIS, pero para solucionar el problema se tienen la siguiente SOLUCION ALTERNATIVA:
Cambiar el usuario que ejecuta los Web Panels por otro usuario con todos los permisos necesarios para poder ejecutar Web Panels, pero que no sea el anónimo. De esa forma todo funciona bien y los errores arriba mencionados no se dan.
7) Importante
Al hacer cambios en el IIS, en los permisos de usuario o en alguna dll o .asp y si el problema persiste, reiniciar el servidor.
Es todo por ahora.
No hay comentarios.:
Publicar un comentario