====== 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|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/"
Options None
AllowOverride None
(É 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/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
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/"
Order allow,deny
Deny from all
Order allow,deny
Allow from all
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.
- Selecione //Avançado// para obter a tela //Opções Avançadas//.
- 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.
- 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.
- Ir para a URL // http:%%//%%localhost/gsdl/cgi-bin/library.exe //
* Nota: você precisa especificar a extensão //.exe// com o PWS e IIS.