Configurando o Servidor Web

Nesta seção é descrito como configurar o seu servidor web para trabalhar com o Greenstone. Note que isto não é necessário quando a Biblioteca Local do Windows é utilizada, pois o software funciona “fora da caixa” e não necessariamente requer um servidor web.

Nós explicaremos sobre ambos o servidor web Apache, que está gratuitamente disponível em software livre nas plataformas Windows e Unix ( verifique o Apêndice appendix_associated_software para detalhes), o Microsoft Personal Web Server (PWS) e o servidor Internet Information Services (IIS). O PWS é o servidor Microsoft padrão para Windows 95/98; o IIS é o servidor padrão para o Windows 2000 e Windows XP ; o Windows NT pode utilizar ambos. A descrição do Apache se aplica igualmente para a Biblioteca Web das versões Windows e Unix (embora seja mostrado aqui com as variáveis e terminologias do ambiente Windows); a seção PWS/IIS se aplica somente para a Biblioteca Web do Windows.

Uma vez instalado o servidor web, o próximo passo é a instalação do Greenstone. Assumiremos que durante o processo de instalação você realizou a ação default em todas as etapas, clicando no botão próximo. O resultado é a criação do diretório C:\Program Files\gsdl com o armazenamento dos arquivos binários, além de alguns arquivos de suporte.

Todos os servidores web utilizam a URL especial “localhost” para denotar o computador em que o servidor web está sendo executado. Portanto, quando você instala um servidor web, você pode verificar seus documentos html digitando a URL http://localhost no seu navegador, após a sua instalação. Se o seu computador tem um domínio configurado, ele é utilizado para identificação do computador e sites remotos em vez do localhost. Então no computador da Biblioteca Digital da Nova Zelândia, http://nzdl.org e http://localhost são equivalentes. Se você digitar http://nzdl.org no seu computador você acessará o servidor web da Biblioteca Digital da Nova Zelândia, enquanto se você digitar http://localhost lhe direcionará ao servidor web de seu computador.

O Servidor Web Apache

O servidor web Apache é normalmente instalado em C:\Program Files\Apache Group\Apache e é configurado para ter o diretório cgi-bin no subdiretório \cgi-bin e o documento root no subdiretório \htdocs. É possível reconfigurá-lo através da edição do arquivo de configuração C:\Program Files\Apache Group\Apache\conf\httpd.conf. É um arquivo texto: é fácil de ler e verificar como as coisas estão configuradas.

Dependendo de como o software de rede de seu computador esteja configurado, você pode precisar adicionar esta linha ao arquivo httpd.conf do Apache:

ServerName localhost

Se esta linha não está incluída, o sistema tentará encontrar o nome do seu servidor. Entretanto esta ação pode não ser executada devido a bugs em versões do windows. Neste caso, o Apache finalizará automaticamente quando iniciado. Uma mensagem de erro será exibida, porém apagada imediatamente, e você provavelmente não conseguirá lê-la.

Configurando o diretório cgi-bin do Greenstone

O diretório cgi-bin é considerado pelo servidor web como um diretório de programas executáveis. A diretiva ScriptAlias do Apache é utilizada para criar um diretório cgi-bin. Note que esta diretiva pode tornar qualquer diretório um diretório cgi-bin executável - não é necessário ter o nome “cgi-bin”! Da mesma maneira um diretório nomeado “cgi-bin” não é especial até que a diretiva ScriptAlias seja aplicada a ele.

Quando instalado, o Apache tem um diretório cgi-bin C:\Program Files\Apache Group\Apache\cgi-bin. Isso significa que se a URL http://localhost/cgi-bin/hello for digitada, o servidor web irá tentar executar um arquivo chamado hello localizado dentro do diretório mencionado acima.

Há um programa Greenstone chamado “library.exe” que precisa ser executado pelo servidor web; ele por sua vez lê um arquivo chamado configuração do site Greenstone, “gsdlsite.cfg”, que precisa estar localizado no mesmo diretório.

A melhor maneira de configurar isso é utilizar a diretiva Apache ScriptAlias para criar um novo diretório cgi-bin. É mostrado a seguir a parte do arquivo de configuração httpd.conf do Apache que adiciona C:\Program Files\gsdl\cgi-bin como um diretório cgi-bin adicional:

ScriptAlias /gsdl/cgi-bin/ "C:/Program Files/gsdl/cgi-bin/"
<Directory C:/Program Files/gsdl/cgi-bin>
  Options None
  AllowOverride None
</Directory>

(É um fato curioso que os arquivos de configuração do Apache utilizam a barra (/) ao invés da barra invertida (\) que é o padrão do ambiente Windows.)

Isso significa que qualquer URL da forma http://localhost/gsdl/cgi-bin … será buscada no diretório C:\Program Files\gsdl\cgi-bin, e executada pelo servidor web. Se for apresentada com a URL http://localhost/gsdl/cgi-bin/hello por exemplo, o servidor web tentará recuperar o arquivo C:\Program Files\gsdl\cgi-bin\hello e executá-lo. Entretanto a URL http://localhost/cgi-bin/hello procura no diretório regular cgi-bin do Apache pelo arquivo C:\Program Files\Apache Group\Apache\ cgi-bin\hello e o executa, da mesma forma que ele fez anteriormente.

O documento diretório raiz

O documento diretório root é a raiz da estrutura de diretórios do seu servidor web. Quando instalado, o Apache tem um documento raiz of C:\Program Files\Apache Group\Apache\htdocs. Isso significa que quando apresentado com a URL http://localhost/hello.html , o servidor web tentará recuperar um arquivo chamado hello.html do diretório mencionado.

Vários arquivos do Greenstone têm que ser lidos pelo servidor web. O modo mais fácil de fazer esta tarefa é utilizar a diretiva Alias, que é semelhante ao ScriptAlias, exceto pelo fato de que se aplica a páginas web simples, e não a scripts cgi. Adicione estas linhas no arquivo de configuração do Apache, depois da diretiva ScriptAlias, para ter o diretório C:\Program Files\gsdl como um local adicional para a procura de documentos.

Alias /gsdl/ "C:/Program Files/gsdl/"
<Directory C:/Program Files/gsdl>
 Options Indexes MultiViews FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from all
</Directory>

Isto significa que quaisquer URLs, que têm o formato procurado pelo primeiro argumento do Alias (gsdl), são encontradas como arquivos no lugar correspondente ao segundo argumento. Em outras palavras, URLs da forma http://localhost/gsdl/ … serão buscadas como arquivos no diretório C:\Program Files\gsdl. Por exemplo, se for apresentada a URL http://localhost/gsdl/hello.html , o servidor web tentará recuperar o arquivo C:\Program Files\gsdl\hello.html. Entretanto, a URL http://localhost/hello.html procura no diretório regular htdocs pelo arquivo C:\Program Files\Apache Group\Apache\htdocs\hello.html, exatamente como antes.

Assegure-se de adicionar a diretiva Alias depois da diretiva ScriptAlias. Se você direcionar o Apache para o alias /gsdl antes de /gsdl/cgi-bin você terá a URL /gsdl/cgi-bin/library utilizando a diretiva Alias ao invés do ScriptAlias, o que seria interpretado como uma requisição de um documento, em vez do resultado da execução de um programa. A saída seria “visualizar” o arquivo do programa binário como uma página do navegador Web, em vez de executá-lo.

Segurança

Você deveria estar a par de que caso a versão da biblioteca web do Greenstone esteja configurada seguindo as instruções acima, qualquer pessoa terá permissão para realizar o download de arquivos no diretório gsdl. Isso inclui os arquivos de índices e arquivos fontes de qualquer coleção que você crie, banco de dados, logs de utilização, etc.

Se isso é um problema para você, modifique a configuração do seu web server para melhorar a segurança. Para o servidor Apache, utilize as seguintes linhas no arquivo de configuração ao invés daquelas listadas na seção anterior:

Alias /gsdl/ "C:/Program Files/gsdl/"
<Directory "C:/Program Files/gsdl">
   Order allow,deny
   Deny from all
   <FilesMatch
"\.(gif|jpe?g|png|css|mov|mpeg|ps|pdf|doc|rtf|jar|class)$">
         Order allow,deny
         Allow from all
   </FilesMatch>
</Directory>

Isto significa que somente os arquivos cujas extensões tiverem o mesmo critério da expressão regular na linha FilesMatch poderão ser baixados.

Os Web servers PWS e IIS

Embora nem o PWS ou o IIS sejam instalados por default em atuais ambientes Windows, é possível instalá-los com facilidade através do painel de controle, utilizando a opção “Add/Remove programs”. Se eles ainda não estiverem no seu CD-ROM da distribuição Windows, você terá que baixá-los no site web da Microsoft ( www.microsoft.com ).

O procedimento de configuração do Greenstone é idêntico para o PWS e IIS. Execute o Personal Web Manager, realizando as seguintes ações.

  1. Selecione Avançado para obter a tela Opções Avançadas.
  2. Selecione Home e cllique em Adicionar. Preencha os campos como é mostrado a seguir:
    • Campo Directory : C:\Program Files\gsdl
    • Campo Alias: gsdl
    • Permissões de Acesso: Ler
    • Permissões de Aplicação: Nenhuma
    • Clique OK
    • Isto tornará os arquivos do Greenstone acessíveis ao servidor web.
  3. Retorne a opção Opções Avançadas, selecione gsdl e clique Adicionar. Preencha os campos como é mostrado a seguir:
    • Campo Diretório: C:\Program Files\gsdl\cgi-bin
    • Campo Alias : cgi-bin
    • Permissões de Acesso: Nenhuma
    • Permissões da Aplicação: Executar
    • Clique em OK
    • Isto permite que o programa library.exe do Greenstone seja executado pelo servidor web.
  4. Ir para a URL http://localhost/gsdl/cgi-bin/library.exe
    • Nota: você precisa especificar a extensão .exe com o PWS e IIS.