Xampp, apache + Harbour como CGI.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Apenas repassando.

Código: Selecionar todos

Hi Roberto, Andy

In <drive:>\xampp\apache\conf\httpd.conf make sure the line <AddHandler> contains .prg. So it might look like this:
AddHandler cgi-script .cgi .pl .asp .prg

Then create within xampp\cgi-bin folder DEMO.PRG
Next create folder within xampp: 'hscript' + folder 'bin' in hscript
Within hscript/bin copy HBRUN.EXE + harbour-32.dll from HARBOUR

- start XAMPP

http://localhost/cgi-bin/demo.prg    start in your browser



DEMO.PRG
 
#!"<drive:>:/xampp/hscript/bin/hbrun.exe"
fwrite( 1, "Content-Type: text/html" + chr(10 ) + chr(10) )
fwrite( 1, "<h1>World countries</h1>" + chr(10) )
fwrite( 1, "<body>"  + chr(10) )
fwrite( 1, "<table>" + chr(10) )
USE  <drive:>:\TEST\LANDEN    // CHANGE THIS
GO TOP
DO WHILE .NOT. EOF()  
   fwrite( 1, "<tr>" + chr(10) )
   fwrite( 1, "<td>" + LANDEN->LAND_ISO + "</td>" + chr(10) )            // CHANGE THIS
   fwrite( 1, "<td>" + LANDEN->LAND_CD  + "</td>" + chr(10) )            // CHANGE THIS    
   fwrite( 1, "<td>" + LANDEN->LAND_NR  + "</td>" + chr(10) )            // CHANGE THIS
   fwrite( 1, "<td>" + ALLTRIM(LANDEN->LAND_OMS) + "</td>" + chr(10) )        // CHANGE THIS
   fwrite( 1, "</tr>" + chr(10) )
   SKIP
ENDDO
fwrite( 1, "</table>" + chr(10) )
fwrite( 1, "</body>"  + chr(10) )
fwrite( 1, "</html>"  + chr(10) )
CLOSE ALL
 
RETURN

  


DECLARE ALL VARS AS LOCAL !!!


<drive:>  is C, D, E or where your XAMPP is located

It also works with NETIO and you will have to use HTML5 + CSS

 Serge
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Li, comentário que ficou mais rápido do que PHP.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Xampp, apache + Harbour como CGI.

Mensagem por fladimir »

Desculpem mas não entendo direito seria pra criar tipo um sistema Web?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Ola!
Sim. É isso mesmo nossa opção xBase(dialeto) para trabalhar na WEB, igual a linguagens como PHP e ASP.
Ainda tem mais uma dica do Andi que roda HRB, que é o PRG compilado. Pois não convém deixar os PRG´s nos clientes, para alguns programadores.
Mas assim é mais fácil aprender só com PRG depois passamos para o "advanced" !

Já fiz vários testes quando usava Linux+Harbour, muito mais complicado de fazer e rodava sem problemas, agora está mais fácil para aprender.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Xampp, apache + Harbour como CGI.

Mensagem por rochinha »

Amiguinhos,

X:) "...I Feel Gooooooood..." X:)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Xampp, apache + Harbour como CGI.

Mensagem por fladimir »

Entendi o q é, agora não entendi muito bem como testar... como não manjo de inglês fiquei em dúvida com relação a esta parte
Then create within xampp\cgi-bin folder DEMO.PRG
Next create folder within xampp: 'hscript' + folder 'bin' in hscript
Within hscript/bin copy HBRUN.EXE + harbour-32.dll from HARBOUR
Alguém q entende melhor pode explicar?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Xampp, apache + Harbour como CGI.

Mensagem por rochinha »

Amiguinhos,

fladimir
Depois de instalar o XAMPP e ter certeza que todos os componentes estão rodando a contento você poderá testar os scripts colocando-os na pasta CGI-BIN que é uma pasta especialmente preparada para executar CGI que são todos os tipos de arquivos de execução como os .PRGs e até executáveis.

Então dentro da pasta XAMPP crie a pasta CGI-BIN e jogue nela o DEMO.PRG
dentro da pasta XAMPP crie a pasta HSCRIPT e dentro desta pasta crie a pasta BIN
Jogue o HBRUN.EXE e a HARBOUR-32.DLL dentro da pasta HSCRIPT/BIN

Acho ser isto.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Xampp, apache + Harbour como CGI.

Mensagem por asimoes »

Pessoal,

Onde eu baixo o XAMPP ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Xampp, apache + Harbour como CGI.

Mensagem por rochinha »

OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Ola!
O básico:
O que é o XAMPP?
XAMPP é o ambiente de desenvolvimento PHP mais popular

O XAMPP é completamente gratuito, de fácil de instalar a distribuição Apache, contendo MySQL, PHP e Perl. O pacote de código aberto do XAMPP foi criado para ser extremamente fácil de instalar e de usar.
Fonte:
https://www.apachefriends.org/pt_br/index.html
Apache Friends é um projeto sem fins lucrativos para promover o servidor web Apache e abriga o projeto XAMPP. O XAMPP é uma distribuição Apache de fácil instalação, contendo PHP, MySQL e Perl...
Ps. Parece que agora não é mais o MySQL e sim o MariaDb.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
wmanesco
Usuário Nível 3
Usuário Nível 3
Mensagens: 116
Registrado em: 09 Set 2016 13:18
Localização: ITAJAI - SC

Xampp, apache + Harbour como CGI.

Mensagem por wmanesco »

Itamar M. Lins Jr. escreveu:Ps. Parece que agora não é mais o MySQL e sim o MariaDb.
Itamar, não sei como está agora mas até a uns 3 meses atrás quando baixei o XAMPP ainda era mysql rs...

Mas enfim, tenho uma dúvida:

Será que seria muito dificil configurar e utilizar o cgi-bin em produção? Quero dizer em um servidor mais robusto, pois XAMPP é indicado apenas para testes...
Digo isso por que vi em um tópico no FiveTech que é dificil hospedar servidor web com a arquitetura cgi-bin, sabem de alguma coisa?


Outra coisa, através do .prg, como é feito para pegar dados? Tipo query_string, cookies, etc, é possível?
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Ola!
pois XAMPP é indicado apenas para testes...
Desconheço essa informação.
XAmmp é apenas o nome do pacote. É só para facilitar a instalação do conjunto. APACHE é para testes ? MySQL é para testes ? CGI-BIN é amadorismo ?
Acredito que eles fazem referência para quando nós utilizamos a extenção ".EXE" na pasta CGI-BIN por causa da vulnerabilidade... questões de segurança... No mais vc encontra livros e livros sobe CGI(common getway interface) com as mais diversas ferramentas.
Quanto as outras coisas que vc pergunta, só testando para ver como é, mas com certeza tem e deve ser da mesma forma que usamos com PHP ou ASP.
Senão, não tem como interagir. São as variáveis de ambiente do APACHE.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Xampp, apache + Harbour como CGI.

Mensagem por fladimir »

Itamar, vc sabe algum link com mais informações para fazermos testes?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
wmanesco
Usuário Nível 3
Usuário Nível 3
Mensagens: 116
Registrado em: 09 Set 2016 13:18
Localização: ITAJAI - SC

Xampp, apache + Harbour como CGI.

Mensagem por wmanesco »

Itamar,

Quando me referi a testes, quis dizer ao programa XAMPP em si, nunca vi rodando isso em servidor de produção. Geralmente é instalado tudo separado, apache, mysql, etc. É o que eu ouvi um programador WEB falar, não sei como funciona na realidade.

Andei testando e consegui fazer uso das variaveis de ambiente do apache...
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xampp, apache + Harbour como CGI.

Mensagem por Itamar M. Lins Jr. »

Ola!
Itamar, vc sabe algum link com mais informações para fazermos testes?
Na verdade, verdadeira mesmo rsrsrs, só precisa do apache, como eu tenho aqui ele instalado foi só ajustar isso aqui:

Código: Selecionar todos

C:\Users\Itamar>cd "\Program Files\Apache Software Foundation\Apache2.2\conf"
C:\Program Files\Apache Software Foundation\Apache2.2\conf>notepad httpd.conf
>Achar essa linha e colocar o tal "ponto pê, érri, gê"!
       	 AddHandler cgi-script .exe .prg
Só isso ai. Reiniciar o APACHE!

Fiz esse programinha aqui para testar, coloque dentro da pasta cgi-bin com o nome que desejar.

Código: Selecionar todos

#!C:\hb34\bin\hbrun.exe
Function main
local cHbVer := hb_Version()
outstd( "Content-Type: text/html" + hb_eol() + hb_eol() )
outstd( "<h1>" + cHbVer + "</h1>" + hb_eol() )
outstd( ""  + hb_eol() )
outstd( "<pre>" + hb_eol() )
outstd( "SERVER_SOFTWARE="   + hb_GetEnv("SERVER_SOFTWARE") + hb_eol() )
outstd( "GETEWAY_INTERFACE=" + hb_GetEnv("GETEWAY_INTERFACE") + hb_eol()  )
outstd( "SERVER_NAME="       + hb_GetEnv("SERVER_NAME")  + hb_eol() )
outstd( "SERVER_PORT="       + hb_GetEnv("SERVER_PORT") + hb_eol()  )
outstd( "SERVER_PROTOCOL="   + hb_GetEnv("SERVER_PROTOCOL")  + hb_eol() )
outstd( "REQUEST_METHOD="    + hb_GetEnv("REQUEST_METHOD")  + hb_eol() )
outstd( "PATH_INFO="         + hb_GetEnv("PATH_INFO")       + hb_eol() )
outstd( "PATH_TRANSLATED="   + hb_GetEnv("PATH_TRANSLATED") + hb_eol() )
outstd( "SCRIPT_NAME="       + hb_GetEnv("SCRIPT_NAME")     + hb_eol() )
outstd( "QUERY_STRING="      + hb_GetEnv("QUERY_STRING")    + hb_eol() )
outstd( "CONTENT_TYPE="      + hb_GetEnv("CONTENT_TYPE")  + hb_eol() )
outstd( "CONTENT_LENGHT="    + hb_GetEnv("CONTENT_LENGHT")  + hb_eol() )
outstd( "REMOTE_ADDR="       + hb_GetEnv("REMOTE_ADDR")  + hb_eol() )
outstd( "REMOTE_HOST	="       + hb_GetEnv("REMOTE_HOST")  + hb_eol() )
outstd( "REMOTE_USER="       + hb_GetEnv("REMOTE_USER")  + hb_eol() )
outstd( "HTTP_ACCEPT="       + hb_GetEnv("HTTP_ACCEPT")  + hb_eol() )
outstd( "HTTP_COOKIE="       + hb_GetEnv("HTTP_COOKIE")  + hb_eol() )
outstd( "HTTP_KEEP_ALIVE="   + hb_GetEnv("HTTP_KEEP_ALIVE")  + hb_eol() )
outstd( "HTTP_USER_AGENT="   + hb_GetEnv("HTTP_USER_AGENT")  + hb_eol() )
outstd( "HTTP_REFERER="      + hb_GetEnv("HTTP_REFERER")  + hb_eol() )
outstd( hb_dtoc(date())      + hb_eol() )
outstd( "</pre>"  + chr(10) )

return nil
Funcionou sem problema."ATENÇÃO PARA O LUGAR ONDE ESTÁ O HBRUN!!!!!" na linha 1, no meu note está em c:\hb34\bin\hbrun.exe

E respondendo sobre o xampp, ser inseguro, não vejo dessa forma o xampp pelo que entendo é o nome do pacotão com tudo junto e já configurado para o pessoal não ficar perdendo tempo em configurar o apache e mysql + php.
Se baixarmos um por um é preciso editar os .conf da vida desses três grandes programas. O xampp facilita isso.

Saudações,
Itamar M. Lins Jr.
Anexos
apache.png
Saudações,
Itamar M. Lins Jr.
Responder