como desplegar gambas web y que se debe saber

154 views
Skip to first unread message

PICCORO McKAY Lenz

unread,
Mar 27, 2017, 12:36:21 AM3/27/17
to vegnuli, venenuxsarisari, venenuxmassenkoh

Sea como sea, un programa gambas para web tiene gran futuro, porque sigue la sintaxis JSP/VB, pero usa la filosofia JAva, lo mejor de los dos mundos actuales.. si el creador de gambas tuviera mas vision este seria el futuro de la tecnologia GNU!


Esto es un esbozo, que ampliare con el tiempo, a que estoy liado muchisimo en el trabajo... lo publicoporque asi otros no estaran liados en su trabajo como lo estoy.. 

0) Introduction/Introduccion:

Leer antes: http://qgqlochekone.blogspot.com/2017/03/gambas-web-la-filosofia-web-vs-la.html


El programa generado gambas (el ejecutable que por lo general tiene extesion gambas) es en si un "escupidor de html", este es el que se invoca en el request y este emitira el response.


a) Interpretado: Al igual que JAva, puedes crear un JSP (en gambas un GBS) que solo tiene tags y dentro de estos se interpreta por el gambas ejecutor, pero gambas al quebrarse o tener un error, escupe el codigo fuente

b) Compilado: Al igual que Java, puedes precompilar un Servlet (en gabmas un Ejectuable .gambas) que sea el render como tal y que maneje la logica y los archivos que presentara al navegador.


De las de arriba tiene su pro y contras, ejemplo a diferencia de java, no se requiere una cantidad exajerada de recursos para los compilados, sin embargo para los sscripts la seguridad es tan inservible que escupe todo el codigo en un error y aun asi este reueire que el cgi le pase el control al interprete gambas..


1) setup web server


open console

gin root privilegies: su

run command: apt-get install


Requerimientos

paquete

valor inicial y ruta ejecutora

modulo

apache

apache2.2-bin

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AddHandler cgi-script .cgi .sh .pl

a2enmod cgi

lighttpd

lighttpd

$HTTP["url"] =~ "^/cgi-bin/" {

cgi.assign = ( "" => "" ) }

lighty-enable-mod cgi

hiawata

hiawatha

cgi

cgi


2) Global server configure cgi


configuration by default let only /usr/lib/cgi to permits and as place for cgi scripts...  keep reading to enalbe others or per user

Configuracion

apache2

lighttpd

explicacion

Solo los ejecutables

Options +ExecCGI

cgi.execute-x-only = "enable"

permite en donde lo coloques que cualquier cgi se ejecute, por defecto solo el directoro /cgi-bin/ los ejecuta y el htdocs /var/www/html

Solo algunas extensiones

AddHandler cgi-script cgi gba

cgi.assign = ("gba" => "gba")

Cgi.assign += ("cgi" => "cgi")

Si por alguna razon no funciona, cambia la extension a “cgi” o “gba” y con esta option los “separas” explicitamente a ejecutar


3) User server configure cgi:



Configuracionapache2lighttpdexplicacion

Para el directorio web por usuarios

( ~user)

Options ExecCGI

    SetHandler cgi-scri

$HTTP["url"] =~ "^(/~[^/]+)?/cgi-bin/" {

    cgi.assign = ("" => "")

}


permite en donde lo coloques que cualquier cgi se ejecute, por defecto solo el directoro /cgi-bin/ los ejecuta
Solo interpretar scriptsAddHandler cgi-script gba
cgi.assign = ("gba" => "gbx3 -H")

Solo interpretar los script no compilados, y que los ejecute el compilador/interprete gambas con el http server embebido, esto solo se hace para los archivos no compilados.

NOTA: no es seguro, si el script falla, el codigo es escupido al navegador!



CONTINUARA....


Actualiaciones aqui:



Lenz McKAY Gerardo (PICCORO)

PICCORO McKAY Lenz

unread,
Apr 1, 2017, 11:48:25 AM4/1/17
to vegnuli, venenuxsarisari, venenuxmassenkoh

Continuando con la informacion para la publicacion y desarrollo de gambas web:

SOFTWARE REQUIREMENTS:

se requiere un servidor web con capacidad CGI nativa, un ide de desarrollo , un compilador gambas y un interprete gambas, este ultimo solo necesario si se realizaran scripts, pero si todo ira renderizado por el mismo programa cgi, solo el compilador y el runtime es suficiente:


Requerimiento

Disponibles

recomendado e install comando

Explicaciones

Webserver

apache2

lighttpd

hiawatha

apt-get install lighttpd apache2.2-utils

provee el manejo de los cgi, la interfaz web que recibira las peticiones "request" para dejarselas al cgi y este interprete y escupa el "response" del cual el servidor web entregara, nginx no proveee cgi nativo y hiawata no es eficiente en demanda de largos archivos este ultimo se recomienda solo como proxy reverso

Compiler

gambas3-ide

gambas3-runtime

apt-get instal gambas3-runtime gambas3-web gambas3-util-web gambas3-xml gambas3-xml-rcp

permite compilar el programa para colocarlo en el servidor web como cgi, produce el programa como tal, el componente ide se muestra aqui porque instala la mayoria de lo necesario, sin embargo no se debe instalar en un servidor a menos este detras de un reverso proxy. Cada capacidad dependera de lo que el cgi realize, ejemplo pdf necesita el gambas-pdf

Scripter

gambas3-scripter

apt-get install gambas3-scripter

permite interpretar scripts no compilados que renderian html o solo hacen cierta ligica, el script puede actuar y actualizarse al vuelo, no es recomendado para logicas complejas o manejo de datos sensibles pues cuando falla escupe el codigo fuente al webserver para depuracion sencilla



Lenz McKAY Gerardo (PICCORO)

Misa3l Own3d

unread,
Apr 1, 2017, 12:39:07 PM4/1/17
to vegnuli

Requisitos del pc "Servidor"? Capacidad ? Limites ?

--
Forum: https://groups.google.com/forum/m/#!forum/vegnuli
---
Has recibido este mensaje porque estás suscrito al grupo "vegnuli" de Grupos de Google.
Para publicar en este grupo, envía un correo electrónico a veg...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/vegnuli/CALci%2BFTwS4FC58kyxY%3DxHHC0WpNXaB-SkmoAYuRNrqMVxVfWTw%40mail.gmail.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

PICCORO McKAY Lenz

unread,
Apr 1, 2017, 1:04:02 PM4/1/17
to vegnuli
El 1 de abril de 2017, 12:39, Misa3l Own3d<blacks...@gmail.com> escribió:

Requisitos del pc "Servidor"? Capacidad ? Limites ?


con calma, con calma, aun estoy experimentando con esta nueva tecnologia, ni en el wiki de gambas tienen la documentacion lista, de ehcho estoy justo ahora haciendola.. http://gambaswiki.org/wiki/howto/getstartedwebgambas

para rematar nadie solo benoit sabe manejar sesiones en gambas, ademas tengo que entregar manana un kinder digital.. por ende con calma...

lo que si aseguro que por muy dificil que sea (ralmente symphony o codeigniter som panzas) es mas facil hacer esto:

if pepe then print "es pepe"

que esto:

if ( $pepe === TRUE)  echo "es pepe";

pues notese no hay puntos comas despeus de cada linea, no hay dolares (que estan caros) y la comparacion es implicita, PORQUE SABEN QUE CUALQEUIR COSA QUE NO ES CERO ES TRUE EN PHP es decir pepe == false no es lo mismo que pepe === FALSE comprenden

en donde trabajo se demostro que este tipo de programacion RAD permite tener resultados rapidos a bajo coste (pago un estudiante y mi sueldo sigue siendo mayor) un modelo de negocio aplicado por google hoy dia
 

Venenux sarisarinama Mail list

unread,
Apr 1, 2017, 1:19:56 PM4/1/17
to vegnuli, venenuxsarisari, venenuxmassenkoh
este sitio fue 100% fabricado con gambas: http://www.gambasforge.org/ el codigo fuente esta en sourgeforce el principio que usaron es el detonador del componente XML y RCP de gambas con el cual se pueden integrar servicios web un pilar imprescindible en los negocios hoy dia y la integracion de sistemas app y web

es importante entender mas los conceptos de cgi y web que saber reuisitos de ram y prestaciones, ya que por mas que se diga que no consume nada, si se programa mal las paginas de nada sirve esto..

NOTA el Just in time compiler no afecta el cgi program hasta los momento no lo he visto correr mas rapido...
NOTA2: hasta los momentos cuando se usa la dupla profesional, las cabeceras enviadas con HTTP 1.0 y para HTTP 2 se requiere alteracion del framework

PICCORO McKAY Lenz

unread,
Apr 1, 2017, 3:24:38 PM4/1/17
to Venenux sarisarinama Mail list, vegnuli, venenuxmassenkoh

2) producciendo el programa que sera el cgi:

  • en el IDE gambas ir a menu->project
  • Create-> executable
  • si usa la configuracion de "por usuarios" debe escoger el directorio de salida "WWWhtml" en el home de las ultimas venenux
  • el nombre automaticamente lo pone en default "programname.gambas" el IDE
  • si el servidor web solo permite programs cgi con extension ".cgi" colocar en el input de abajo: mv $(FILE) $(FILE).cgi
  • ahora el programa web cgi puede ser invocado de la url http://localhost/~username/cgi-bin/programname.gambas.cgi
no molestarse mucho con nginx y hiawata, en largos entornos de produccion no responden bien, esto porque la manera en que sirven cgi es usando wrappers (se les debe indicar quien maneja el cgi ademas que entre cada response la seguridad mata), lo que si recomiendo es tener hiawatta en el frente como proxxy reverso y detras el apache en otra maquina

Lenz McKAY Gerardo (PICCORO)
Reply all
Reply to author
Forward
0 new messages