Настройка сетевого сервера

В этой части описан процесс настройки сетевого сервера для работы с Greenstone. Все то, что будет описано ниже, имеет отношение только к Интернет-библиотеке, и вы можете пропустить эту часть, если у вас установлена локальная библиотека.

Мы будем рассматривать сетевой сервер Apache, который работает как в Windows, так и в Unix (смотрите Приложение appendix_associated_software для получения большей информации),Microsoft's Personal Web Server (Р\Л/8)(СетевЙ сервер Microsoft) и сетевой сервер Internet Information Services (US). PWS является стандартным сетевым продуктом Microsoft под Windows 95/98; US создан под Windows 2000 и Windows XP; Windows NT также может использовать этот сервер. Apache работает как с версией сетевой библиотеки для Windows, так и для Unix (но мы будем употреблять терминологию Windows); часть, касающаяся PWI/IIS, приведена только для пользователей Windows.

После установки сетевого сервера необходимо установить сам Greenstone. Если в процессе установки будете нажимать кнопки, выбранные по умолчанию, то программа будет установлена в директорию C:\Program Files\gsdl вместе со всеми дополнительными файлами.

Все сетевые серверы используют специальный URL адрес "localhost" для обозначения компьютера, на котором работает сетевой сервер. Таким образом, после того, как вы установите сетевой сервер, вы можете получить доступ к вашим HTML-документам, введя URL http://localhost в окне браузера. Если на вашем компьютере установлено название домена, то он используется вместо localhost для обозначения вашего компьютера в сети. Таким образом, для компьютера сервера New Zealand Digital Library адреса http://nzdl.org и http://locahost одинаковы. Если вы введете http://nzdl.org в вашем компьютере, вы соединитесь с сервером New Zealand Digital Library, в то время как если вы введете http://localhost, вы выйдете на ваш сетевой сервер.

Сетевой сервер Apache

Обычно этот сервер установлен в C:\Program Files\Apache Group\Apache и настроен так, чтобы директория cgi-bin находилась в поддиректории \cgi-bin и корнем документа (document root) являлась поддиректория \htdocs. Настройки можно изменить путем редактирования конфигурационного файла C:\Program Files\Apache Group\conf\httpd.conf. Он является текстовым файлом и легко читаем.

В зависимости от того, как на вашем компьютере настроено сетевое программное обеспечение, вам нужно будет добавить строку в конфигурационный файл Apache, httpd.conf:

ServerName localhost

Если эта строка не включена, то система попытается найти название вашего сервера. Тем не менее, в некоторых версиях Windows существуют ошибки, которые не позволяют системе определить его название. В этом случае после запуска Apache немедленно закроется. Появляется окно с сообщением об ошибке, но оно моментально исчезает, и вы скорее всего его не увидите вообще.

Настройка Greenstone директории cgi-bin

С директории Cgi-bin сетевой сервер обращается с документами, как с выполняемыми программами (executable programs). Директива ScriptAlias используется для создания директории cgi-bin. Заметьте, что эта директива способна превратить любую директорию в cgi-исполнимую директорию -не обязательно, чтобы директория называлась cgi-bin! И наоборот, директория cgi-bin не является особенной до того момента, как к ней не применить ScriptAlias.

После инсталляции Apache имеет директорию cgi-bin в C:\Program Files\Apache Group\Apache\cgi-bin. Это означает, что если ввести адрес URL  http://localhost/cgi-bin/hello , то сетевой сервер попробует запустить файл, называющийся hello, из директории.

Есть программа Greenstone, называемая libmry.exe, которую нужно запустить с помощью сетевого сервера; в свою очередь она считывает файл, называемый конфигурационный файл местоположения Greenstone, или " gsdlsite.cfg ", который должен находится в той же директории.

Лучший способ, чтобы выполнить это, необходимо использовать директиву ScriptAlias для создания новой директории cgi-bin. Вот часть из конфигурационного файла Apache httpd.conf, которая добавляет C:\Program Files\gsdl\cgi-bin в качестве дополнительной cgi-bin директории:

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

(Интересный факт состоит в том, что конфигурационный файл Apache использует/вместо стандартных для Windows\).

Это означает, что любой URLадрес вроде http://localhost/gsdl/cgi-bin…будет находиться в директории C:\Program Files\gsdl\cgi-bin и запущен сетевым сервером. Например, при встрече с URL http://localhost/gsdl/cgi-bin/hello сетевой сервер попытается извлечь файл C:\Program Files\gsdl\cgi-bin\hello и запустить его. Тем не менее, URL http://localhost/cgi-bin/hello будет искать в обычной директории cgi-bin Apache файл C:\Program Files\Apache Group\Apache\cgi-bin\hello и пытаться запустить его, так же, как и прежде.

Корневая директория документа

Корневая директория документа является корнем структуры вашей директории. После установки Apache создает корневой документ в C:\Program Files\Apache Group\Apache\htdocs. Это означает, что если в сетевой сервер ввести URL http://localhost/hello.html, то он попытается извлечь файл, называемый hello.html, из той директории.

Несколько файлов в Greenstone должны быть считываемы с помощью сетевого сервера. Самый простой способ выполнить эту задачу это использовать директиву Alias, которая почти такая же, как ScriptAlias, за исключением того, что она работает с простыми WWW-страницами, а не со скриптами cgi. Введите эти строки в конфигурационный файл Apache после директивы ScriptAlias, что сделает C:\Program Files\gsdl дополнительным местом поиска документов.

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

Это означает, что любые URL, которые совпадают с первым аргументом Alias (gsdl), будут разыскиваться в роли файлов, которые соответствуют второму аргументу. Другими словами, URL видов http://localhost/gsdl…будут разыскиваться, как файлы из директории C:\Program Files\gsdl. Например, при встрече с URL http://localhost/gsdl/hello.html, сервер попытается извлечь файл C:\Program Files\gsdl\hello.html. Тем не менее, URL http://localhost/ hello.html ищет файл в простой htdocs директорииC:\Program Files\Apache Group\Apache\htdocs\hello.html также, как и прежде.

Не забудьте добавить директиву Alias после директивы ScriptAlias. При указании Apache для alias /gsdl до того, как /gsdl/cgi-bin совпадет с URL /gsdl/cgi-bin/library, до директивы Alias нежели ScriptAlias, он будет распознан, как запрос к документу, чем для запуска программы. В итоге бинарный программный файл должен быть "выведен, показан" в окне Интернет-браузера вместо того, чтобы его запустить.

Безопасность

Вы должны знать, что если Интернет-библиотека будет установлена так, как описано выше, то каждый сможет загружать любой файл из структуры директории gsdl. Это включает индексные файлы, исходные документы любой готовой коллекции, пользовательская база данных, используемые регистрационные файлы (logs) и т.д.

Если данная информация важна, вы можете изменить настройки конфигурационного файла сервера для ужесточения безопасности. В конфигурационном файле сетевого сервера Apache введите следующие строки вместо вышепоказанных

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>

Это означает, что только те файлы, чье разрешение совпадает с regular expression в строке FilesMatch, могут быть загружены.

Сетевые серверы PWS, MS

Хотя ни PWS ни MS по умолчанию не установлены в системах Windows, их можно легко установить, пользуясь меню панели управления "Удалить/ Добавить программы". Если их нет на компакт-диске, то их можно загрузить с сайта Microsoft (www.mircosoft.com) Процесс инсталяции для обеих программ одинаков.

Запустите Personal Web Manager и совершите следующие действия:

  1. Выберите Advanced (расширенный) для вывода окна Advanced Options (Расширенные возможности).
  2. Выберите Ноте(Начало) и нажмите АсИ(Добавить). Заполните поля следующим образом:
    • В поле директория: C:\Program Files\gsdl
    • В поле Alias: gsdl
    • В поле Access permissions (разрешенный доступ): Read (чтение)
    • В поле Application permissions: None
    • Нажмите OK
    • С этими установками файлы Greenstone будут доступны для сервера.
  3. Вернитесь в Advanced Options, выберите^/ и кликните Add Заполните следующие поля:
    • Directory field:.C:\Program Files\gsdl\cgi-bin
    • Alias field: cgi-bin
    • Access permissions: None
    • Application permissions: Execute
    • Нажмите OK
    • После этого программа Greenstone library.exe to be executed by the Webserver.
  4. Введите адрес URL  http://localhost/gsdl/cgi-bin/library.exe
    • Примечание: вам нужно дописывать расширение .ехе при использовании PWS, MS.