Ver Mensaje Individual
  #1  
Antiguo 02-10-2011
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Reputación: 21
Combat-F2D Va por buen camino
Como hacer funcionar Aplicaciones UniGUI bajo servidor Linux

Voy a intentar relatar como hacer funcionar una aplicación UniGUI bajo un servidor de Linux.

* En mi caso lo haré sobre un Ubuntu Server 10.04 LTS por eso de la caducidad, aunque podría ser similar en cualquier otra distro.

* Es importante saber que para ello necesitamos salvo opción contraria la instalación del Servidor Gráfico X, por ello para no instalar una versión server exclusivamente, he optado por una versión ligera de ello, en este caso Lubuntu (ha sido instalada bajo un P-IV con 512 Mb).El entorno es Lxfce, muy minimalista, pero suficiente, además de tirar poco de equipo. Todo es en 32 bits, pero en 64 es lo mismo, de ello tengo también un Ubuntu 8.04 de 64 corriendo OK.

* También he procedido a instalar nuestro Firebird 2.1.4 (32 bits); no me decanto por la versión de los repositorios, pues esta se instala en otros directorios a los habituales; yo he procedido a descargarlo desde su web (www.ibphoenix.com) en versión SS, aunque bien podría ser CS y SuperClassic; el motivo es que así la instalación se fuerza en el directorio /opt y no como lo hace bajo su repositorios (no me acuerdo donde lo instala); además yo al emplear las UDF FreeAdhocUDF, es necesario para ello la instalación en /opt; imagino que esto será configurable, pero no quiero andar experimentando más de la cuenta. Ojo con la instalación de las librerías libstdc++5, hay que instalarlas por compatibilidad, pues en 10.04 creo que la que monta es la 6; para ello, valga como ejemplo:

http://www.todosconsoftwarelibre.es/...-ubuntu-10-04/

* Dado que las aplicaciones (en este caso Standalone) de UniGUI creadas en Delphi, son ejecutables *.exe, no nos queda más remedio que instalar el emulador wine; en este caso he tirado de repositorios y punto.
Ojo, si la aplicación generada en UniGUI emplea FireBird, tambien deberemos instalar FB (solo el cliente) en wine; vamos a soltar un poco de literatura:

1 - Cuando instalamos wine, en la carpeta del admin (usuario root creado en la instalación del Linux, se crea:

/home/admin/.wine/drive_c/.............

donde es todo similar y de la misma distribución que un WinXP.

2 - con ello podemos descargar una versión de FB para Win y ejecutarla para lograr una instalación como si de win se tratara; ojo, hay que dar permisos de ejecución al exe correspondiente. También podríamos copiar directamente en la carpeta correspondiente el fbclient.dll, pero por si tal lo monte desde el instalador y punto.

3 - por comodidad, he creado la carpeta (directorio) para instalar mis aplicaciones UniGUI tal que:

/home/admin/.wine/drive_c/mis_unigui/.............

* Es importante recordar que dado que las UniGUI tiran de las ExtJS/ExtPascal se deberá de copiar la carpeta de las UniGUI/ext-3.3.0 en

/home/admin/.wine/drive_c/mis_unigui//ext-3.3.0/

de tal forma que nuestras aplicaciones puedan acceder y tirar de ellas. Ojo, no nos olvidemos de los permisos, estamos en linux (chown.......)
Para ello, hay que indicarles a nuestras UniGUI donde estan estas librerías, para ello no debemos de
olvidarnos de las propiedades

TUniServerModule.ServerRoot:=GetCurrentDir;

TUniServerModule.ExtRoot:='.\ext-3.3.0'; // meter aquí el path correspondiente

esto lo podemos hacer en tiempo de diseño o en ejecución en el evento

Código Delphi [-]
  procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject);
  begin
    UniServerModule.ServerRoot:=GetCurrentDir;
    UniServerModule.ExtRoot:='.\ext-3.3.0';
  end;

* Una vez generadas las aplicaciones UniGUI (he usado la versión 0.86) con nuestro Delphi, empleando la opción de compilación como StandAloneServer := true; para generar solamnete la versión WEB, esta la copio en nuestra carpeta

/home/admin/.wine/drive_c/mis_unigui/mi_aplicacion_unigui.exe

no nos olvidemos de darle permisos de ejecución a este exe.
luego no nos queda más que arrancarla con wine (suele estar ya configurada por defecto)

* en caso de que queramos que arranque por defecto al iniciar el sistema linux, deberemos añadirla a las aplicaciones de inicio por el método correspondiente.

en general, creo que esto es todo; seguramente se me queden cosas en el tintero, pero pienso que con estas indicaciones, es posible hacer funcionar el asunto tratado.

dado que por defecto el puerto empleado es el 8077, no nos olvidemos de redirigir nuestro router a la IP correspondiente; modificando el puerto por defecto, podremos cargar varias aplicaciones simultáneas al mismo tiempo.

espero que todo este rollo, si no vale de mucho , por lo menos os ayude a todos los que me habéis enviado privados y esas cosas

por cierto, esto no es php ni nada por el asunto, si quieres rapidez, no es buena solución; eso si, la carga al principio es algo lenta, pero en sucesivas llamadas mejora un montón; será cosa del cache y demás.
__________________
online
Responder Con Cita