CGI/Perl no IIS
Para você que utiliza o servidor IIS e deseja executar arquivos CGI PERL, atente-se a este tutorial.
Primeiramente você deve ter instalado o interpretador Perl em seu servidor. Para isso:
- Baixe o Interpretador Perl
- Instalando o ActivePerl
- Configurando o IIS para ler .CGI
O processo de instalação do ActivePerl não é complicado. Lembre-se de instalar os PPMs 2 e 3.
Selecione todas as opções da sessão ‘Choose optional setup actions‘.
Avance até o fim do processo de instalação.
Até então, o IIS já roda arquivos com extensão .PL
Agora, para adicionar a extensão .CGI faça o seguinte:
Pelo XP, clique com o botão direito em Meu computador > Gerenciar > Serviços e aplicativos > Internet Information Services > Sites da Web > Clique com o botão direito em Site da Web Padrão e vá em Propriedades.
No guia Diretório Base, vá em Configuração > Mapeamentos > Adicionar
Adicione os seguintes dados:
Executável: C:perlbinperl.exe “%s” %s
Extensão: .cgi
Verbos > Limitar a: GET, HEAD, POST
Pronto! Basta clicar em OK. Agora seu IIS está configurado para rodar tanto ASP como CGI.
Obs.: Para fazer o IIS interpretar arquivos ‘.pl’, basta repetir a etapa nº 3, alterando apenas a extensão para “.pl”
Você já pode adicionar seus arquivos em C:Inetpubwwwroot e rodá-los como no Apache.
Obs.: O IIS deverá ser instalado através do CD do Windows.
Oi,
Estou tentando executar scripts muito simples, que executem comandos do sistema operacional, mas não funcionam de jeito nenhum. Por exemplo, um script simples abaixo ele nao carrega a variável $saca:
#!c:\perl\bin
use warnings;
use strict;
use CGI qw ( :standard);
print header(),
start_html(“TESTE”),
h1(‘Teste’);
print “Sera que vai dar certo????????\n”;
my $saca =`hostname`;
$saca = exec(“hostname”);
print $saca, “\n”;
print end_html();
O que fazer para que seja executado um comando de sistema operacional dentro de um script cgi-perl no IIS??
Obrigado!!
Olá Cesar!
O IIS por padrão bloqueia a execução direta de comandos.
Você pode tentar alterar isto em :
Painel de Controle > Ferramentas Administrativas > IIS
Clique com botão direito em ‘Site da Web Padrão’ > Propriedades
Em Diretório base, altere permissões de execução para Scripts e Executáveis
Se não funcionou, acho bom você ler este artigo que é bem específico:
http://www.iis-aid.com/articles/trouble_shooting/warning_exec_function_exec_unable_to_fork
Abraços