Que passos devo seguir para executar um script Hello World CGI?

7

Suponha que eu terminei de instalar uma versão moderna do Ubuntu, e tenha o seguinte script.

#!/bin/sh
echo "Content-type: text/html\n"
echo "<html><body>Hello world</body></html>"

Como faço para instalar e configurar o Apache para servir uma página da web "Hello world" do link usando este script?

    
por Jjed 11.12.2011 / 00:08

1 resposta

9

A maneira rápida

Instale o servidor web Apache

Na linha de comando (Terminal):

sudo apt-get install apache2

Torne seu script executável pelo Apache

Para este exemplo, assumimos que o script CGI é denominado test.sh e é salvo em sua pasta pessoal. Para o Apache usar test.sh , o script primeiro precisa ter permissões executáveis:

chmod 755 $HOME/test.sh

Ele também precisa ser movido para a pasta CGI designada pelo Apache. Para o Ubuntu (e outros sistemas operacionais baseados no Debian), isso é /usr/lib/cgi-bin/ , enquanto HTML e outros conteúdos são armazenados em /var/www .

sudo mv $HOME/test.sh /usr/lib/cgi-bin/

Visite a saída no seu servidor local

O Apache veiculará o HTML test.sh gerado no link . Se o Apache estiver localizado em algum lugar além da sua própria máquina, substitua 'localhost' pela URL ou endereço IP do servidor.

Armazenando scripts CGI em / var / www / test-cgi em vez de / usr / lib / cgi-bin /

Você precisa modificar a configuração do Apache para armazenar scripts CGI em outra pasta.

sudoedit /etc/apache2/sites-enabled/000-default

Adicione o seguinte dentro da diretiva <VirtualHost> :

ScriptAlias /test-cgi/ /var/www/test-cgi/
<Directory "/var/www/test-cgi">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

Então, na linha de comando:

sudo mkdir /var/www/test-cgi
sudoedit /var/www/test-cgi/test.sh

Em seguida, na linha de comando, reinicie o Apache:

sudo apachectl restart

Assim como A maneira rápida , a saída do CGI deve ser veiculada no link (substituir "localhost" com o domínio do servidor, se você estiver desenvolvendo remotamente).

Solução de problemas

Se você tiver problemas, consulte a documentação oficial do Apache .

    
por Barbarrosa 11.12.2011 / 01:37