Aplicações remotas: um exemplo com o Octave

Muita gente esquece que é possível executar remotamente qualquer programa instalado em um servidor web. Como exemplo, vou mostrar como criar um formulário e um script para rodar como um CGI do Apache o Octave, que é um aplicativo GNU para cálculos e gráficos matemáticos.

[ Hits: 39.559 ]

Por: Paulo Buarque Guimaraes em 31/03/2005


Interligando com o Apache



Antes de prosseguir, verifique se o Apache (httpd) está sendo executado em seu servidor e se você tem acesso ao local de armazenagem das páginas html. Essa pasta é geralmente /var/www, mas verifique no arquivo /etc/apache/httpd.conf (aproveite para conferir se o módulo PHP está habilitado, porque vamos precisar).

Para interligar o Octave com o Apache, vamos criar um script que:
  1. Receba os comandos via web;
  2. Crie um arquivo temporário com eles;
  3. Execute o Octave e;
  4. Devolva o resultado.

A princípio, um simples script shell resolveria esse problema. No entanto, vamos precisar usar caracteres não alfanuméricos para representar as expressões matemáticas. O protocolo HTTP requer que símbolos sejam transmitidos em notação hexadecimal e para não ter que convertê-los, vamos usar o PHP, que faz essa conversão de graça. Crie na pasta das páginas web um arquivo octave.php com os seguintes comandos:

<?php
//Executa um script octave - etapa 1
$workdir = "/tmp/";
$script = $workdir."xxx.m"; // cria um arquivo xxx.m
$f = fopen ($script,"w");
fwrite ($f,$_SERVER['QUERY_STRING']); // grava a expressão que veio
fclose($f);
header ("Content-type: text/plain"); // cabeçalho da resposta
passthru ("octave -q $script"); // executa o Octave
unlink($script); // apaga o arquivo
?>

Para testar, digite o seguinte endereço em seu navegador (use o endereço de seu servidor em vez de localhost se for o caso):

http://localhost/octave.php?1+1

Veja a resposta e tente usar qualquer outra expressão mais interessante depois do "?", que corresponde à 'QUERY-STRING' do programa PHP acima.

Página anterior     Próxima página

Páginas do artigo
   1. Usando o Octave
   2. Vetores e gráficos
   3. Arquivos de comandos
   4. Interligando com o Apache
   5. Exibindo os gráficos
   6. Criando uma interface web para o Octave
   7. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Wireless no Slackware com ndiswrapper (placa PCMCIA SMC)

Atualizando Flash Player no Firefox em Antergos (Arch Linux)

Sarg + Relatórios Automáticos + Domínio Autenticado + Desbloqueio na Página do Squid

Instalação do Apache 2 no OpenSuSE 10.2

Desenvolvimento para deficientes visuais na plataforma Linux

  
Comentários
[1] Comentário enviado por jeffestanislau em 31/03/2005 - 11:02h

Parabéns!!!
Ótimo artigo, muito bem estruturado!!!

[]´s

[2] Comentário enviado por franklinbr em 31/03/2005 - 11:49h

Pow ficou legal esse artigo !!

Acho que falta artigos sobre programas cientificos, mesmo achando que a maioria dos fresquentadores do recinto nao tenham uma ligacao com a area de pesquisa. Mas eu acho que podia ter colocado mais exemplos para praticar ehehehe

parabens !

[3] Comentário enviado por Anjinhoo em 31/03/2005 - 23:52h

excelente artigo.
:>

[4] Comentário enviado por marcelogpl em 02/04/2005 - 23:45h

Parabéns !!!

Realmente é impressionante o poder e o conhecimento que o software livre permite. Este artigo está muito bom e esclarecedor, sugiro que traga mais informações avançadas sobre esta assunto.


Mito bom !!!

[5] Comentário enviado por rtb1023 em 04/04/2007 - 00:51h

f


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts