След Пред Содержание

## 3. Установка ПО Harvest

## 3.1 Требования к серверам Harvest

### ``Железо''

Хорошая машина для запуска обычного сервера Harvest должна иметь достаточно быстрый процессор, 1-2 GB свободного дискового пространства и 128 MB RAM. Медленный процессор будет работать, но будет сильно тормозить сервер Harvest. Однако, размер памяти важнее чем скорость процессора. Harvest использует много процессов, некоторые из которых предоставляют необходимую ``связь'' (т.е., например, `search.cgi` связывает пользователя с брокером), а некоторые улучшают производительность (например, процесс `glimpseserver` ). Если у вас недостаточно памяти, ваша система будет слишком много записываться на диск и значительно уменьшит производительность. Другой фактор, влияющий на использование RAM, заключается в том, сколько вы пытаетесь проиндексировать брокером Harvest. Чем больше данных, тем больше будет выполняться операций ввода/вывода за время запроса, и тем больше памяти будет занято, чтобы предоставить дисковый буфер разумного размера.

Количество места на диске, которое вам понадобится зависит от того, сколько данных вы хотите проиндексировать одним брокером. (Можно распределить ваш индекс на несколько брокеров, если одного диска становится недостаточно.) Опыт показывает, что вам понадобится места на диске около 10% от общего размера данных, подлежащих индексированию, для содержания Gatherer'а и Broker'а. Реальные размеры будут зависеть от типа данных, которые вы индексируете. Например, PostScript достигает значительно большего уменьшения индексного пространства, чем HTML, потому что очень много информации в PostScript (такой как информация о расстановке страниц) отбрасывается при построении индекса.

### Платформы

Для того, чтобы запустить сервер Harvest, вам нужна UNIX-подобная операционная система.

### ПО

Для использования Harvest вам необходимы следующие программные пакеты:

- Все сервера Harvest требуют: Perl v5.0 или выше.
- Harvest Broker и Gatherer требуют: GNU `gzip` v1.2.4 или выше.
- Harvest Broker требует: HTTP сервер.

Для того, чтобы собрать Harvest из дистрибутива с исходниками, вам может понадобиться установить один или больше из следующих программных пакетов:

- Для компилирования Harvest необходимо: GNU `gcc` v2.5.8 или выше.
- Для компилирования брокера Harvest необходимо: `flex` v2.4.7 или выше и `bison` v1.22 или выше.

Исходники `gcc`, `gzip`, `flex` и `bison` можно взять на GNU FTP сервере.

## 3.2 Требования к пользователям Harvest

Любой, у кого есть веб-броузер (например, Internet Explorer, Lynx, Mozilla, Netscape, Opera и др.), может использовать сервера Harvest.

## 3.3 Получение и установка ПО Harvest

### Типы дистрибутивов

Сейчас мы предлагаем только один дистрибутив с исходниками Harvest. Дистрибутив с исходниками содержит весь исходный код для ПО Harvest. Нет бинарных дистрибутивов Harvest'а.

Вы можете получить дистрибутивы с исходниками Harvest на странице загрузки Harvest prdownloads.sourceforge.net/harvest/.

### Компоненты Harvest

Компоненты Harvest находятся в каталоге components. Чтобы использовать компонент, следуйте инструкциям, находящимся в каталоге соответствующего компонента.

### Программное обеспечение, созданное пользователями

Существует коллекция неподдерживаемого ПО, созданного пользователями в каталоге contrib. Если вы хотите внести свой вклад и предоставить ваше ПО, отправьте, пожалуйста, письмо на lee@arco.de.

## 3.4 Компилирование исходников

Дистрибутив с исходниками можно извлечь в любой каталог. Следующая команда извлечет архив gnu-zip с исходниками:

> `

>             % gzip -dc harvest-x.y.z.tar.gz | tar xf -

> `

Для архивов, сжатых при помощи bzip2, используйте:

> `

>             % bzip2 -dc harvest-x.y.z.tar.bz2 | tar xf -

> `

Harvest использует пакеты GNU autoconf для предоставления необходимой конфигурации в процессе установки. Если вы хотите заменить место установки по умолчанию /usr/local/harvest, измените переменную ``prefix'' при запуске ``configure''. При желании можете отредактировать src/common/include/config.h перед компиляцией, чтобы изменить различные переменные и ограничения времени компиляции Harvest'а. Чтобы скомпилировать дерево исходников, наберите `make`.

Например, чтобы построить и установить полную систему Harvest в каталог /usr/local/harvest , наберите:

> `

>             % ./configure
>             % make
>             % make install

> `

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

Построение полного дистрибутива Harvest займет несколько минут на достаточно быстрой машине. Скомпилированное дерево исходников занимает примерно 25 мегабайт дискового пространства.

Потом, после того, как заработает установленное ПО, вы можете удалить скомпилированный код (файлы ".o") и прочие промежуточные файлы, набрав `make clean`. Если вы хотите удалить файлы, созданные configure (Makefiles), наберите `make distclean`.

## 3.5 Дополнительная установка для Harvest Broker

### Проверка установки на возможность HTTP доступа

Broker взаимодействует с вашим сервером HTTP различными способами. Следует убедиться, что сервер HTTP имеет необходимый доступ к нужным ему файлам. Часто сервер HTTP запускается пользователем, не являющимся владельцем файлов Harvest.

Во-первых, убедитесь, что userid сервера HTTP может прочитать файлы query.html в каталогах каждого брокера. Во-вторых, убедитесь, что userid сервера HTTP имеет доступ и может запустить программы CGI в $HARVEST_HOME/cgi-bin/. Скрипт `search.cgi` читает файлы из каталога $HARVEST_HOME/cgi-bin/lib/, так что проверьте его тоже. Наконец, проверьте файлы в $HARVEST_HOME/lib/. Некторые скрипты Perl CGI требуют файлы ``include'' в этом каталоге.

The Broker interacts with your HTTP server in a number of ways. You should make sure that the HTTP server can properly access the files it needs. In many cases, the HTTP server will run under a different userid than the owner of the Harvest files.

### Необходимые изменения вашего сервера HTTP

Harvest Broker требует, чтобы был запущен сервер HTTP, и чтобы сервер HTTP ``знал'' о файлах Broker'а. Ниже приведено несколько примеров того, как настроить различные сервера HTTP для работы с Harvest Broker.

### Apache httpd

Требует ScriptAlias и Alias записи в httpd.conf, например:

> `

>             ScriptAlias /Harvest/cgi-bin/ Your-HARVEST_HOME/cgi-bin/
>             Alias /Harvest/ Your-HARVEST_HOME/

> `

ВНИМАНИЕ: Запись ScriptAlias должна появиться перед записью Alias.

Дополнительно может оказаться необходимым настроить Apache httpd, чтобы он следовал по символическим сылкам. Чтобы сделать это, добавьте следующее в ваш httpd.conf:

> `

>             <Directory Your-HARVEST_HOME>
>                     Options FollowSymLinks
>             </Directory>

> `

### Другие сервера HTTP

Установите сервер HTTP и измените его конфигурационный файл так, чтобы каталог /Harvest указывал на $HARVEST_HOME. Вам также понадобится настроить ваш сервер HTTP так, чтобы он знал, что каталог /Harvest/cgi-bin содержит программы CGI. Если по умолчанию ваш сервер не следует по символическим ссылкам, вам нужно настроить его так, чтобы он следовал по символическим ссылкам в каталоге /Harvest.

## 3.6 Модернизация ПО Harvest

### Переход от версии 1.6 до версии 1.8

Нельзя устанавливать версию 1.8 поверх версии 1.6. Например, изменения версии 1.8 по сравнению с 1.6 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.8 поверх версии 1.6 приведет в некоторых случаях к использованию старых исполняемых файлов.

Для перехода Harvest'а с версии 1.6 до 1.8:

1. Переместите старую установку во временный каталог.
2. Установите новую версию, руководствуясь инструкцией, поставляемой с Harvest'ом.
3. Потом, для каждого Gatherer'а и Broker'а, которые вы запускали в старой инсталляции, переместите сервер на новую инсталляцию.
   Gatherer'ы:

     необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.

   Broker'ы:

     переделайте ваш Broker, используя `CreateBroker`, и сделайте все настройки, которые были у вашего старого Broker'а.

### Переход от версии 1.5 до версии 1.6

Нет никаких известных несовместимостей между версиями 1.5 и 1.6.

### Переход от версии 1.4 до версии 1.5

Нельзя устанавливать версию 1.5 поверх версии 1.4. Например, изменения версии 1.5 по сравнению с 1.4 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.5 поверх версии 1.4 приведет в некоторых случаях к использованию старых исполняемых файлов.

Для перехода Harvest'а с версии 1.4 до 1.5:

1. Переместите старую установку во временный каталог.
2. Установите новую версию, руководствуясь инструкцией, поставляемой с Harvest'ом.
3. Потом, для каждого Gatherer'а и Broker'а, которые вы запускали в старой инсталляции, переместите сервер на новую инсталляцию.
   Gatherer'ы:

     необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.

   Broker'ы:

     необходимо переместить каталог Broker'а в $HARVEST_HOME/brokers. Удалите все файлы .glimpse_* из каталога вашего Broker'а и используйте интерфейс admin.html для полного индексирования. Возможно, вы захотите перестроить ваш Broker, используя `CreateBroker`, после чего вы сможете использовать новый query.html и связанные с ним файлы.

### Переход от версии 1.3 до версии 1.4

Нет никаких известных несовместимостей между версиями 1.3 и 1.4.

### Переход от версии 1.2 до версии 1.3

Версия 1.3 почти полностью обратно совместима с 1.2 со следующим исключением:

Harvest 1.3 использует 3.0. Файлы .glimpse_* в каталоге брокера, созданные при помощи Harvest 1.2 (Glimpse 2.0),

1. Закрыть все запущенные брокеры.
2. Выполнить `rm .glimpse_*` в каталогах каждого брокера.
3. Перезапустить ваши брокеры командой `RunBroker`.
4. Выполните полное индексирование при помощи интерфейса admin.html.

### Переход от версии 1.1 до версии 1.2

Есть несколько несовместимостей между версиями Harvest 1.1 и 1.2.

- У Gatherer'а есть улучшенная поддержка возрастающего сбора, которая несовместима с версией 1.1. Для обновления вашего существующего Gatherer'а зайдите в каталог данных Gatherer'а (обычно подкаталог data) и запустите следующую команду:

  > `

  >             % set path = ($HARVEST_HOME/lib/gatherer $path)
  >             % cd data
  >             % rm -f INDEX.gdbm
  >             % mkindex

  > `

  Должны создаться файлы INDEX.gdbm и MD5.gdbm в текущем каталоге.
- У Broker'а есть новый формат логов для файла admin/LOG, который несовместим с версией 1.1.

### Переход к версии 1.1 с версии 1.0 или более ранних версий

Если у вас уже установлена более рання версия Harvest, и вы хотите ее обновить, то нельзя распаковывать новый дистрибутив поверх старого. Например, изменения версии 1.1 по сравнению с 1.0 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.1 поверх версии 1.0 приведет в некоторых случаях к использованию старых исполняемых файлов.

С другой стороны, возможно вы не захотите устанавливать с нуля новую версию, так как вы уже собрали и проиндексировали большое число данных. Вместо этого, для перехода с версии Harvest 1.0 до 1.1 проделайте следующее:

1. Переместите старую установку во временный каталог.
2. Установите новую версию, руководствуясь инструкцией, поставляемой с Harvest'ом.
3. Потом, для каждого Gatherer'а и Broker'а, которые вы запускали в старой инсталляции, переместите сервер на новую инсталляцию.
   Gatherer'ы:

     необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.

   Broker'ы:

     необходимо переместить каталог Broker'а в $HARVEST_HOME/brokers. Возможно, вы захотите перестроить ваш брокер, используя `CreateBroker`, чтобы можно было использовать обновленный query.html и связанные с ним файлы.

## 3.7 Запуск системы: команда RunHarvest и связанные с ней команды

Простейший способ запуска системы Harvest - использовать команду `RunHarvest`. `RunHarvest` предлагает пользователю ответить на небольшой список вопросов о том, какие данные индексировать и проч., и затем создает и запускает Gatherer и Broker со стандартным (не настроенным) набором механизмов извлечения содержимого и индексирования. Имеется несколько более простых команд для запуска отдельных Gatherer'ов и Broker'ов (например, если вы хотите распределить процесс собирания). Команды запуска Harvest'а:

RunHarvest

  Проверяет, корректно ли установлено ПО Harvest, спрашивает у пользователя основную конфигурационную информацию и затем создает и запускает Gatherer и Broker. Если у вас установлена переменная $HARVEST_HOME, тогда команда использует ее; в противном случае она попытается определить $HARVEST_HOME автоматически. Находится в каталоге $HARVEST_HOME.

RunBroker

  Запускает Broker. Находится в каталоге Broker'а.

RunGatherer

  Запускает Gatherer. Находится в каталоге Gatherer'а.

CreateBroker

  Создает отдельный Broker, который будет собирать свою информацию от других существующих Broker'ов или Gatherer'ов. Используется `RunHarvest`, или может быть запущена пользователем для создания нового брокера. Использует $HARVEST_HOME и по умолчанию /usr/local/harvest. находится в каталоге $HARVEST_HOME/bin.

Не существует команды `CreateGatherer`, но команда `RunHarvest` может создать Gatherer, или вы можете создать Gatherer вручную (смотрите раздел Настройка распознавания типов, выбора кандидатов, представление разбора и суммирование или раздел Примеры Gatherer'ов). Расположение каталогов и программ установлнного Harvest'а обсуждается в разделе Программы и размещение установленного ПО Harvest.

Среди всего прочего, команда `RunHarvest` спрашивает пользователя, какие порты использовать для Gatherer'а и Broker'а. По умолчанию Gatherer будет использовать 8500, а Broker -- порт Gatherer'а плюс 1. Выбор порта зависит от конкретной машины -- вам нужно выбрать порты, которые не используются другими серверами на вашей машине. Вы можете посмотреть в своем файле /etc/services, какие порты используются (хотя в этом файле показано только несколько серверов; некоторые сервера используют порты, нигде не регистрируя этой информации). Обычно указанные выше порты не используются другими процессами. По-видимому, самый простой способ -- просто попытаться использовать порты, предлагаемые по умолчанию, и посмотреть, все ли работает.

Остальная часть этого руководства предоставляет информацию для пользователей, которые хотят подстроить Harvest или сделать его использование более изощренным, чем при простом запуске `RunHarvest`.

## 3.8 Контактная информация команды разработчиков Harvest

Если у вас есть вопросы о системе Harvest или проблемы с ПО, оставьте сообщение новостной группе USENET comp.infosystems.harvest. Пожалуйста, укажите тип вашего компьютера, операционную систему и версию Harvest в вашем письме.

Если у вас есть исправления ошибок, порты к новым платформам или другие улучшения ПО, пожалуйста, отправьте email разработчику Harvest lee@arco.de.

След Пред Содержание