# Установка

## Требования к SQL базе даных

Если вы хотите скомпилировать DataparkSearch с одной из поддерживаемых SQL баз данных, вы должны установить эту SQL базу данных до начала установки DataparkSearch.

Начиная с версии 3.2 возможно использовать несколько различных SQL баз данных одновременно.

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

О MySQL: Если вы хотите собрать DataparkSearch с поддержкой MySQL, вам потребуется версия 4.1 или старше. Библиотека `libz` должна быть также установлена для успешной компиляции DataparkSearch с поддержкой MySQL. Пользователи Linux могут установить ее из zlib-devel RPM.

О PostgreSQL: Если вы хотите собрать DataparkSearch с поддержкой PostgreSQL, вам потребуется версия 7.3.x или старше. PostgreSQL 8.1 рекомендуется для лучшей производительности.

Об iODBC: работает с iodbc-2.50.22a.

Об unixODBC: работает с unixODBC-1.7.

Об InterBase:

- Работает с Interbase 4.0.

- Работает с InterBase CS 6.0.

- Работает с FirebirdCS-0.9-4.

О FreeTDS: Работает с версий 0.52 и с MS SQL 7.0.

Об Oracle8: Работает с версией 8.0.5.X.

Об Oracle8i: Работает с версией 8.1.6 R2 EE.

## Поддерживаемые операционные системы

Мы используем GNU Autoconf, что позволяет скомпилировать DataparkSearch почти на всех современных UNIX системах, имеющих копилятор C. Разработка ведётся на FreeBSD 5.x с использованием PostgreSQL 7.4.

На даенный момент известно об успешных установках DataparkSearch на следующих опреационных системах:

- Centos 3.1, Centos 3.3

- FreeBSD 2.2.x, 3.x, 4.x, 5.x

- Linux Red Hat 8.0, 9.0

- Linux Fedora Core-1, Kernel 2.4.22-1.2174

- Solaris 9

- Solaris 10 x86, gcc

- Linux Mandrake 10.2

Пердыдущие версии mnoGoSearch были успешно опробованы на:

- Linux 2.x

- sun4u sparc SunOS 5.6

- Solaris7 x86

- BSDI 4.1

- OpenBSD 2.5

- HP-UX B.10.20 ( требуется GNU "sed")

- Digital Unix V4.0 (aka Compaq Tru64 UNIX)

- SCO UnixWare 7.x

- AIX 4.2

- SGI Irix 6.5

- YellowDog Linux for PPC on Mac G3

- Mac OS X 10.0.0, Mac OS X 10.2(.4)

- Debian Linux for PPC on Mac G3

- Debian Linux for PPC on Mac iBook

- Suse Linux for PPC on Mac iBook

Мы надеемся, что DataparkSearch будет работать и на других Unix платформах. Пожалуйста, сообщайте об успешных установках на других платформах по адресу maxime@sochi.net.ru.

## Инструментарий, необходимый для установки

Для компиляции и установки DataparkSearch из исходников вам потребуется следующий инструментарий:

- `GNU zip` для распаковки дисрибутива.

- `tar` для извлечения дерева исходников из дистрибутива. Рекомендуется GNU tar.

- Компилятор ANSI C. Рекомендуется GNU gcc.

- Программа `make`. GNU make рекомендуется, а зачастую и необходима.

- Потоковый редактор `sed`.

- Интерпретатор языка `perl`, если при инсталяции будет использоваться скрипт `install.pl`.

- Для создания документации из xml-исходников, вам потребуется также установить `jade` или `openjade`.

## Инсталяция DataparkSearch

1. Разархивируйте дистрибутив и перейдите а корневую директорию распакованного дерева исходников.

   `tar -zxf dpsearch-x.x.tar.gz`

2. Для упрощения процесса конфигурирования мы добавили скрипт конфигурации `install.pl`. Запустите `install.pl` и отвечая на вопросы, выберите нужную конфигурацию DataparkSearch После того, как вы выберите все опции, этот скрипт запустит `./configure` с выбранными вами ключами. Он также создаст файл `create install.options` содержащий ваши настройки, и которые будут использованы при следующих запусках этого скрипта. После того, как процес конфигурирования будет завершен, создайте и проинсталируйте DataparkSearch как описано в разделе 3.

   В случае, если вы желаете сконфигурировать DataparkSearch вручную без использования скрипта конфигурирования, проделайте следующие шаги:

   Если нужна поддержка SQL базы данных:

   `sh$ ./configure --with-mysql`

   или

   `sh$ ./configure --with-pgsql`

   или другим ключом, соответствующим выбраной базе данных,

   или с несколькими базами:

   `sh$ ./configure --with-mysql --with-pgsql --with-msql --with-freetds`

   По умолчанию, DataparkSearch устанавливается в директорию `/usr/local/dpsearch` и поддериктории:

   Поддиректория | Содержимое
   bin | `search.cgi`, `storedoc.cgi`, `dps-config`
   lib | `libdpsearch.a(so)`, `libdpcharset.a(so)`
   sbin | `indexer`, `cached`, `run-splitter`, `searchd`, `splitter`, `stored`
   etc | `indexer.conf-dist, search.htm-dist`, `langmap.conf-dist`, `searchd.conf-dist`, `stopwords.conf-dist`, `stored.conf-dist`, `storedoc.htm-dist`
   share | Документация и sql-скрипты

   Если у вас нет прав для создания этой директории, или вы хотите установить DataparkSearch в другую директорию, используйте для `configure` ключ `--prefix`, например,

   `./configure --prefix=/user/home/data --with-mysql`

   Для установки DataparkSearch с поддержкой HTTPS, используйте следующий ключ для `configure`:

   `./configure --with-openssl`

   или, в случае, когда, библиотека OpenSSL установлена не в стандартной пути:

   `./configure --with-openssl=/path/to/library`

   Пожалйста, имейте в виду, что установка библиотеки OpenSSL на вашем компьютере необходима для поддержки HTTPS.

   Вы можете видеть все ключи, запустив `./configure --help`

   Если вы хотите передать для компилятора C некоторые специфицеские ключи (например, `'-O7 -mpentium'` создания оптимизированного кода под процессор Pentium, если используется компилятор egcs/pgcc), это можно сделать при помощи следующей команды

   `sh$ CFLAGS="-O7 -mpentium"`

   до запуска `configure`.

   Для компиляции DataparkSearch под FreeBSD с поддержкой `Solid` в старом aout формате, используйте

   `sh$ CFLAGS="-aout"`

   до запуска `configure`.

   Для компиляции DataparkSearch под FreeBSD с aout InterBase используйте

   `sh$ CFLAGS="-aout -static"`

   до запуска `configure`.

   Вы можете также указать `--enable-pthreads` для компиляции многопоточной версии `indexer`.

   Для включения пооддержки отладчика памяти DMALLOC используйте ключ `--enable-dmalloc`.

   Кодировки euc-kr, big5, gb2312, tscii, gujarati и shift-jis не поддерживаются по умолчанию. Для включения поддержки используйте ключ `--with-extra-charsets`.

   Для включения поддержки всех кодовых страниц, используйте:

   `./configure --with-extra-charsets=all`

   Для включения поддержки только какой-то одной кодовой страницы:

   `./configure --with-extra-charsets=tscii`

   Для включения поддержки симейства кодировок китайского или японского языков:

   `./configure --with-extra-charsets=chinese` или `./configure --with-extra-charsets=japanese`

   Чтобы включить поддержку нескольких нужных кодовых страниц, указывайте их через запятую:

   `./configure --with-extra-charset=chinese,gujarati`

   Если у вас возникли трудности с конфигурированием, пожалуйста, смотрите .

3. Скомпилируйте и установите DataparkSearch.

   `sh$ make`

   `sh$ make install`

   Если у вас возникли трудности с компиляцией, пожалуйста, смотрите .

4. Создайте базу данных `search` (только для SQL баз данных).

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

   MySQL:

   `sh$ mysqladmin create search`

   PostgreSQL:

   `sh$ createdb search`

   Для других баз данных см. документацию на соответсвующую базу данных.

5. Создайте sql-таблицы

   Отредактируйте файл `indexer.conf` указав в команде `DBAddr` используемый SQL-сервер и желаемый dbmode. После этого запустите:

   `sh$ indexer -Ecreate`

   `indexer` автоматически создаст все нужные таблицы по этим параметрам.

6. Установка программы поиска

   Скопируйте `search.cgi` в `cgi-bin` директорию вашего веб-сервера или создайте алиас в Apache на поддиректорию `bin/` DataparkSearch.

## Возможные проблемы установки

- Каждый раз, когда вы запускаете `configure`, вы должны опять запустить `make` для перекомпиляции.

  Во избежание использования информации о предыдущей конфигурации или устаревших объектных файлов, выполните эти команды перед повторным запуском `configure`:

  `sh$ rm config.cache`

  `sh$ make clean`

- Завершение компиляции с ошибками иногда может быть связана с некорректной версией `make`. Работа стандартной команды `make` под Solaris, FreeBSD, OpenBSD немного отличается от GNU make. Попробуйте использовать GNU make вместо стандартной версии, часто она называется `gmake`.

  GNU `make` версии 3.77 проверена и работает.

## Регистрация установки

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