Instalación del servidor Web

En esta sección explicaremos cómo instalar su servidor Web para que funcione con Greenstone. Cabe señalar que estas explicaciones son innecesarias cuando se utiliza la Biblioteca Local Windows, ya que este programa está concebido para funcionar de entrada sin servidor Web.

Nos referiremos al servidor Web Apache, que se puede conseguir libremente para Windows y Unix (véase el Apéndice appendix_associated_software para más detalles), el Personal Web Server (PWS) y el servidor Web Internet Information Services (IIS) de Microsoft. El PWS es el servidor Microsoft estándar para Windows 95/98; el IIS es el de las versiones 2000 y XP de Windows; Windows NT puede utilizar cualquiera de los dos. Las explicaciones relativas a Apache se aplican igualmente a la biblioteca Web Windows y a las versiones de Unix (aunque utilizamos la terminología y los nombres de las rutas de acceso propios de Windows); la sección relativa a PWS/IIS sólo se aplica a la biblioteca Web Windows.

Una vez instalado el servidor Web, el siguiente paso es instalar Greenstone. Supondremos que durante el procedimiento de instalación usted ha escogido la opción por defecto en cada fase pulsando el botón Next (siguiente). El resultado es la creación del directorio C:\Program Files\gsdl, donde se instala el binario de la biblioteca Web, junto con algunos archivos auxiliares.

Todos los servidores Web utilizan la URL especial “localhost” que representa la computadora en que está funcionando el servidor Web. Así, cuando se instala un servidor Web, se puede acceder a los documentos HTML tecleando la URL  http://localhost  en un navegador. Si su computadora tiene instalado un nombre de dominio, éste se utiliza en lugar del  localhost  para poder identificar su computadora desde sitios remotos. En la computadora de la Biblioteca Digital de Nueva Zelanda, por ejemplo, las URL  http://nzdl.org  y  http://localhost  son equivalentes. Si usted teclea  http://nzdl.org  en su computadora obtendrá el servidor Web de la Biblioteca Digital de Nueva Zelanda, mientras que si teclea  http://localhost  obtendrá el servidor Web de su propia computadora.

El servidor Web Apache

El servidor Web Apache suele instalarse en C:\Program Files\Apache Group\Apache y se configura de tal modo que el directorio cgi-bin esté en el subdirectorio \cgi-bin y la raíz de documentos es el subdirectorio \htdocs. Se vuelve a configurar modificando el archivo de configuración en C:\Program Files\Apache Group\Apache\conf\httpd.conf. Se trata de un archivo de texto: es muy fácil leerlo para ver cómo se ha efectuado la configuración.

Según cómo esté configurado el programa de conexión en red de su computadora, podrá ser necesario añadir la siguiente línea en su archivo de configuración httpd.conf de Apache:

ServerName  localhost

Si esta línea no figura, el sistema intenta encontrar el nombre de su servidor. Sin embargo, en algunas versiones de Windows hay algunos errores que impiden esta operación. En tal caso, Apache se cierra inmediatamente después de arrancarlo. Aparece un mensaje de error, pero éste se borra de inmediato y es muy probable que usted no lo alcance a leer.

Instalación del directorio <i>cgi-bin</i> de Greenstone

cgi-bin es un directorio desde el cual el servidor Web trata documentos como programas ejecutables. La directiva ScriptAlias de Apache se utiliza para crear un directorio cgi-bin. Cabe señalar que esta directiva puede hacer de cualquier directorio un directorio CGI ejecutable, ¡sin que se llame forzosamente “cgi-bin”! A la inversa, un directorio llamado “cgi-bin” no tiene nada especial si no se le ha aplicado la directiva ScriptAlias.

Una vez instalado, Apache tiene un directorio cgi-bin en C:\Program Files\Apache Group\Apache\cgi-bin. Esto significa que si se le presenta la URL http://localhost/cgi-bin/hello , el servidor Web intentará ejecutar un archivo llamado hello en el directorio antes mencionado.

Hay un programa Greenstone, llamado “library.exe ”, que tiene que ser ejecutado por el servidor Web y que a su vez lee un archivo llamado el archivo de configuración de sitio de Greenstone, o “gsdlsite.cfg ”, que debe estar situado en el mismo directorio.

La mejor manera de obtener este resultado es utilizar la directiva ScriptAlias de Apache para crear un nuevo directorio cgi-bin. Este es el pasaje del archivo de configuración httpd.conf de Apache que añade C:\Program Files\gsdl\cgi-bin como un directorio cgi-bin suplementario:

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

(Curiosamente, los archivos de configuración de Apache utilizan barras oblicuas hacia adelante en lugar de las barras oblicuas hacia atrás que se suelen utilizar en Windows.)

Esto significa que el servidor Web buscará en el directorio C:\Program Files\gsdl\cgi-bin cualquier URL que tenga la forma  http://localhost/gsdl/cgi-bin … y la ejecutará. Por ejemplo, si se le presenta la URL  http://localhost/gsdl/cgi-bin/hello , el servidor Web intentará recuperar el archivo C:\Program Files\gsdl\cgi-bin\hello y ejecutarlo. Sin embargo, la URL  http://localhost/cgi-bin/hello  busca en el directorio cgi-bin normal de Apache el archivo C:\Program Files\Apache Group\Apache\cgi-bin\hello y lo ejecuta, tal como lo hizo antes.

El directorio raíz de los documentos

El directorio raíz de los documentos es la raíz de la estructura de directorios de su servidor Web. Una vez instalado, Apache dispone como raíz de documentos de C:\Program Files\Apache Group\Apache\htdocs. Esto significa que si se le presenta la URL  http://localhost/hello.html , el servidor Web intentará recuperar un archivo llamado hello.html desde dentro del directorio antes mencionado.

Greenstone contiene varios archivos que el servidor Web tiene que leer. La manera más sencilla de proceder es utilizando la directiva Alias, que es como ScriptAlias salvo que se aplica a las páginas Web ordinarias, no a los guiones CGI. Inserte las siguientes líneas en su archivo de configuración Apache, después de la directiva ScriptAlias, a fin de añadir C:\Program Files\gsdl como lugar suplementario donde buscar 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>

Esto significa que cualquier URL que se ajuste al primer argumento de la directiva Alias (gsdl) se busca como archivo en el lugar correspondiente al segundo argumento. Dicho de otro modo, las URL con la forma  http://localhost/gsdl/…  se buscarán como archivos en el directorio C:\Program Files\gsdl. Por ejemplo, si se le presenta la URL  http://localhost/gsdl/hello.html , el servidor Web intentará recuperar el archivo C:\Program Files\gsdl\hello.html. Sin embargo, la URL  http://localhost/hello.html  busca el archivo C:\Program Files\Apache Group\Apache\htdocs\hello.html en el directorio htdocs normal, tal como lo hizo antes.

Asegúrese de añadir la directiva Alias después de la directiva ScriptAlias. Si se le da la instrucción a Apache de añadir el alias /gsdl antes de /gsdl/cgi-bin se haría corresponder la URL /gsdl/cgi-bin/library con la directiva Alias y no con la directiva ScriptAlias, lo cual se interpretaría como una solicitud de un documento y no como el resultado de la ejecución de un programa. La consecuencia sería que se “visualizaría” el archivo del programa binario como una página en el servidor Web, en vez de ejecutarlo.

Seguridad

Debe usted saber que si la versión de biblioteca Web de Greenstone se instala como se indica más arriba, cualquier persona podrá descargar cualquier archivo en la estructura de directorios gsdl. Esto comprende los archivos de índice y los documentos fuente de cualquiera de las colecciones que haya usted creado, la base de datos del usuario, los registros de utilización, etc.

Para evitar esto, puede usted reforzar fácilmente las medidas de seguridad modificando la configuración de su servidor Web. En el caso del servidor Web Apache, sustituya las líneas en el archivo de configuración indicadas en el apartado anterior por las siguientes:

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>

Esto significa que sólo se podrán descargar los archivos cuyas extensiones se ajustan a la expresión regular indicada en la línea FilesMatch.

Los servidores Web PWS e IIS

Aunque ni el PWS ni el IIS están instalados por defecto en los actuales sistemas Windows, éstos se pueden instalar fácilmente usando el icono “Agregar o quitar programas” del panel de control. Si no están ya en su CD-ROM de Windows, tendrá que descargarlos del sitio Web de Microsoft ( www.microsoft.com ).

El procedimiento de instalación de Greenstone es idéntico para el PWS y el IIS. Abra el Administrador Personal de Web y sigas las instrucciones siguientes:

  1. Seleccione Avanzadas para llegar a la pantalla Opciones avanzadas
  2. Seleccione Inicio y pulse AñadirRellene los campos del modo siguiente:
    • Campo Directorio :                                               C:\Program Files\gsdl
    • Campo Alias :                                                        gsdl
    • Permisos de acceso:                                            Read
    • Permisos de aplicaciones:                   None
    • Pulse OK
    • Esto hace que los archivos Greenstone sean accesibles para el servidor Web.
  3. Regrese a Opciones avanzadas, seleccione gsdl y pulse AñadirRellene los campos del modo siguiente:
    • Campo Directorio:                                                C:\Program Files\gsdl\cgi-bin
    • Campo Alias:                                                        cgi-bin
    • Permisos de acceso:                                            None
    • Permisos de aplicaciones:                   Execute
    • Pulse OK
    • Esto permite que el servidor Web ejecute el programa de Greenstone library.exe
  4. Vaya a la URL http://localhost/cgi-bin/library.exe.
    • Nota: con el PWS y el IIS se debe especificar la extensión de archivo .exe