dynamic art - web design e alojamento
M A N U A L   D E   U T I L I Z A Ç Ã O
S E C Ç Ã O   4






[ Manual ]

[ 0 - Questões Técnicas ]
[ 1 - Informações Básicas ]
[ 2 - Informações Avançadas ]
[ 3 - Painel de Controlo via-Web ]
[ 4 - CGI's - Informações ]
[ 5 - CGI's - Scripts Instalados ]
[ 6 - Informações Extra ]


Página 4 - CGI's - Informações

Common Gateway Interface (CGI)
Instalação de Scripts CGI
Server Side Include
Permissões para os Scripts CGI instalados
Recursos CGI
Paths
Configuração das Permissões
Problemas mais Comuns nos Scripts em CGI




Common Gateway Interface

Common Gateway Interface ou CGI, como normalmente se designa, é um programa que corre no servidor sempre que é solicitado pelo Browser. Isto significa que o browser não necessita de ter requisitos específicos nem plug-ins para correr essas aplicações. Os Scripts em CGI que disponibilizamos aos nossos Clientes são aplicações simples e robustas. O processos mais complicado para utilizadores menos experientes é a atribuição dos paths e das permissões dos ficheiros. Por isso aconselhamos os nossos Clientes menos experientes que pretendam instalar Scripts próprios a lerem a documentação disponível para o efeito e que se pode encontrar na Internet.

voltar ao topo da página

Instalação de Scripts CGI

Nós fornecemos aos nossos Clientes alguns scripts já instalados e prontos a funcionar no entanto, não damos suporte a scripts instalados pelo cliente.
Tal como referimos anteriormente aconselhamos os nossos Clientes a procurar documentação sobre esse assunto para depois poderem proceder à instalação dos mesmos com sucesso.

voltar ao topo da página

Server Side Include

Através desta facilidade, pode embeber instruções, programas, ficheiros ou scrips numa página em html.
Algumas notas a ter em conta:
- Para que as páginas possam incluir instruções SSI, os documentos de html têm que ter a extensão .shtml em vez de .html
- Os paths que normalmente se colocam nos documentos com instruções SSI são relativos em vez da URL total Esta facilidade que oferecemos aos nossos clientes está limitada ao comando designado “ExecCGi”. A forma de embeber um comando ou instrução SSI é efectuado da seguinte forma:
<!--#exec cgi="/cgi-bin/nome_do_programa.cgi"-->
Para que possa compreender melhor os paths, damos alguns exemplos:

“Full Path” - /www/user/cgi-bin/nome_do_programa.cgi
“Relative Path” - /cgi-bin/nome_do_programa.cgi
Esta é basicamente a diferença entre ambas, ou seja, “Relative Path” não é mais dos que os directórios onde o scripts se encontra a partir da sua “web root”.

voltar ao topo da página

Permissões para os Scripts CGI instalados

Todos os scripts instalados no seu domínio são previamente configurados e estão prontos a funcionar. Como mencionamos anteriormente, uma das maios difíceis tarefas na instalação de scripts CGI é as permissões dos ficheiros e das directorias.
No quadro resumo encontra as permissões dos scripts que estão instalados no seu domínio.

Permissões para o “wwwboard”

bbs – chmod 755
bbs/messages – chmod 755
bbs/index.sht – chmod 666
bbs/data – chmod 666
cgi-bin/wwwboard.pl – chmod 755

Permissões para o “GuestBook”

guestbook – chmod 755
guestbook/guestbook.cgi – chmod 755
guestbook/guestbook.setup – chmod 666
guestbook/guestbook.html – chmod 666

Permissões para “Free-for-All Links”

links – chmod 755
links/links.htm – chmod 666
cgi-bin/links.pl – chmod 666

Permissões para “Grafic Counter”

counter – chmod 755
counter/logs – chmod 777
counter/*.* - chmod 666
cgi-bin/counter – chmod 755

Permissões para o “Text Counter”

cgi-bin/counter – chmod 755

Permissões para “Random Text”

random – chmod 755
random/random.txt – chmod 666

Para os clientes que dispõem de acesso a Servidor Seguro, é permitido fazer transmissões de informação entre o cliente e o servidor em modo seguro. Desta forma, pode criar formulário para efectuar a transmissão de dados do Cliente através do Servidor Seguro utilizando o seguinte URL:

https://servidor.safe-order.net/seunome/script.cgi

servidor – substitua este nome pelo nome da máquina onde está alojado o seu domínio
seunome – substitua este nome pelo nome do seu domínio
script.cgi – substitua este nome pelo nome do seu script

voltar ao topo da página

Recursos CGI

Existem muitos resursos disponíveis na Internet, no entanto damos-lhe alguns exemplos e alguns URLs para que se possa iniciar.

http://www.cgi-resources.com
http://www.scriptsearch.com
http://www.worldwidemart.com

voltar ao topo da página

Paths

Paths não são mais do que os caminhos ou directórios onde estão instalados vários programas.
No caso dos scripts em cgi, é comum ser necessário indicar o caminho deste programas.
Estes são os caminhos :

Sendmail : /usr/sbin/sendmail
Perl 5.003 : /usr/bin/perl
Perl 5.004 : /usr/bin/perl5.004 - Não estão disponíveis todas as livrarias
Date : /bin/date
Java : /usr/bin/java
Pyton : /usr/bin/pyton
Domínio : /www/dominio
Cgi-Bin : /www/dominio/cgi-bin

voltar ao topo da página

Configuração das Permissões

Vamos descrever de uma forma simples o metodo de configurar as permissões dos scripts através de Telnet. Para tal vamos saber primeiro quais as permissões actuais do ficheiro.

$: ls –l ficheiro.cgi

Executando este comando irá ver quais as permissões desse ficheiro.

Exemplos:

- Tipos de Permissão

R = Permissão de Leitura
X = Permissão de Execução
W = Permissão de Escrita

- Tipos de Utilizadores

U = O autor do ficheiro
G = O grupo
O = Outros
A = O autor, o grupo e outros

Para alterar as pemissões de um ficheiro.cgi preceda da seguinte forma :

CHMOD u=rwx,g=rx,o=rx ficheiro.cgi

Este ficheiro ficou então com a seguinte permissão :

Leitura, Execução e Escrita ao Autor
Leitura e Execução ao Grupo
Leitura e Execução a Outros

Para além desta forma pode utilizar um sistema numérico.
Se necessitar de alterar as permissões de um ficheiro para 775 significa:

R = 4 ; W = 2 ; X = 1 ;portanto RWX = 7

O primeiro 7 aplica-se ao Autor, o segundo 7 ao Grupo e por fim o 5 ( rx ) a Outros.
Desta forma obtém-se o CHMOD 775 para um ficheiro através de um sistema numérico, no entanto estes exemplos são unicamente para que compreenda o significado das permissões num ficheiro.
Em muitos casos quando o Cliente quer instalar um script em perl, esta é a tarefa mais difícil porque se as permissões não estiverem correctas simplesmente o script não funciona. Para que fique mais descansado, todo este processo pode ser efectuado por um cliente de FTP como o CuteFTP ou o WS-FTP, daí o nosso concelho na utilização de um destes programas.

voltar ao topo da página

Problemas mais Comuns nos Scripts em CGI

Vamos alguns exemplos dos problemas mais comuns que podem surgir na instalação de um script em perl. Estes exemplos são apresentados no formato FAQ (traduzindo directamente, Frequently Asked Questions -> Perguntas Mais Frequentes).

P: Instalei o meu script mas agora quando tento aceder aparece-me uma página que diz “Internal Server Error”
R: Aqui podem existir dois problemas … ou má configuração do script ou permissão errada.
Tente aceder ao servidor através de Telnet e coloque-se na directoria do script e execute
:
perl ficheiro.cgi ou então só o ficheiro.cgi
No primeiro caso consegue saber se existe algum erro interno no programa e no segundo se a linha de chamada está a indicar o caminho correcto para o interpretador de perl.

P: Quando tento aceder ao meu ficheiro.cgi dá-me o erro de “File Not Found” ou “No Such File or Directory".
R: Faça o upload do ficheiro em modo ASCII.

P: Tentei executar o meu programa localmente ( Telnet ) e dá-me o seguinte erro : "Literal @domain now requires backslash at myscript.pl line 3, within string. Execution of script.cgi aborted due to compilation errors."
R: Este erro é causado pelo sinal “@”.
Este sinal tem um significado especial para o interpretador de Perl pois identifica uma tabela de elementos. Neste caso coloque o sinal backslash “\” antes do sinal “@”.
Ex: vendas\@dynart.com

P: Quando acedo ao programa aparece uma mensagem a dizer que não tenho permissão.
R: Nota importante … todos os programas em perl tem que ser enviados em ASCII. E quando o gravar não se esqueça o gravar em modo texto.

P: Quando acedo à minha Home Page dá-me um erro de Acesso Proibido.
R: A página principal tem que começar por index.htm, index.html ou index.shtml

voltar ao topo da página