The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Установка mnoGoSearch с SQLite/MySQL/PostgreSQL/Firebird (search cgi web sql)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: search, cgi, web, sql,  (найти похожие документы)
From: Mark Silinio <silinio(at)mail.ru> Date: Mon, 2 May 2005 18:21:07 +0000 (UTC) Subject: Установка mnoGoSearch с SQLite/MySQL/PostgreSQL/Firebird Оригинал: http://silinio.webhost.ru/mnogosearch-3db.html Установка mnoGoSearch с SQLite/MySQL/PostgreSQL/Firebird Mark Silinio <silinio(at)mail.ru> последнее обновление 16/04/05 Что это Бэрримор? В данной заметке рассказывается про установку и настройку поикового движка mnoGoSearch (http://www.mnogosearch.org) с разными базами данных, - SQLite, MySQL(в т.ч. через ODBC), PostgreSQL, Firebird. Изложены пошаговые действия для каждого из случаев. Здесь не разбираются подробности использования вышеперечисленных баз, также как и тонкости работы с поисковым движком. Предполагается что вы работаете как пользователь root. Использовал дистрибутив Gentoo Linux, и были установлены следующие программы(вместе с зависимостями разумеется): * SQLite 2.8.16 (http://www.sqlite.org/) * MySQL 4.0.24 (http://www.mysql.com/) * PostgreSQL 8.0.1 (http://www.postgresql.org/) * Firebird 1.5.2 (http://firebird.sourceforge.net/) * unixODBC-2.2.8 (http://www.unixodbc.org/) * MyODBC-3.51.06 (http://www.mysql.com/products/myodbc/) * mnoGoSearch 3.2.32 (http://www.mnogosearch.org/ установка из исходников) mnoGoSearch на данный момент отсутствует в portage, так что бегом на http://www.mnogosearch.org/download.html - Download sources, скачиваем последнюю версию в tar.gz архиве... Далее по курсу: * Установка mnoGoSearch * Настройка с SQLite * Настройка с MySQL * Настройка с MySQL через ODBC драйвер * Настройка с PostgreSQL * Настройка с Firebird * Возможные проблемы * Ссылки * Благодарности Установка mnoGoSearch Распаковываем: # tar zxf mnogosearch-3.2.32.tar.gz -C /usr/src Конфигурируем: # cd /usr/src/mnogosearch-3.2.32/ # ./configure Ключи configure для разных БД: --with-sqlite=/usr SQLite --with-mysql MySQL --with-pgsql PostgreSQL --with-unixODBC unixODBC --with-ibase=/opt/firebird Firebird Помните что БД нужно устанавливать до mnoGoSearch, иначе mnoGoSearch просто не сможет скомпилироваться с поддержкой нужной БД. У меня, компиляция завершалась ошибкой при одновременном использовании --with-unixODBC и --with-ibase=/opt/firebird. Не удавалось также скомпилировать mnoGoSearch с SQLite 3.x.x По умолчанию mnoGoSearch ставится в каталог /usr/local/mnogosearch Компилируем-устанавливаем: # make && make install Идём к mnoGoSearch: # cd /usr/local/mnogosearch/etc/ Мудрим с конфигами(по-умолчанию): # cp indexer.conf-dist indexer.conf # cp stopwords.conf-dist stopwords.conf # cp langmap.conf-dist langmap.conf # cp search.htm-dist search.htm Копируем поиковик в cgi-bin директорию вашего сервера: # cp /usr/local/mnogosearch/bin/search.cgi /var/www/localhost/cgi-bin/ Добавить пару строк в indexer.conf: LocalCharset koi8-r # в какой кодировке хранить данные в БД Server http://yourhost/ # чаво индексировать про остальные параметры в indexer.conf см. соответствующую документацию (или комментарии) http://linux.yaroslavl.ru/docs/conf/mnogosearch/index-ru.html Пара строк search.htm: LocalCharset koi8-r BrowserCharset koi8-r можете скачать переведённый мною файл search.htm (http://silinio.webhost.ru/search.htm) Ну, почти всё готово, но до того как вы пропишите /usr/local/mnogosearch/sbin/indexer в cron-задачах, следует добавить в indexer.conf и search.htm строки соединения с БД(начинаются с DBAddr)... которые даны в конце каждой следующей подглавы. Настройка с SQLite Ставим: # emerge =dev-db/sqlite-2.8.16 Создание каталога для базы данных SQLite: # mkdir /var/lib/sqlite Создание базы данных для mnoGoSearch: # sqlite /var/lib/sqlite/searchdb.sqlite <\ /usr/src/mnogosearch-3.2.32/create/sqlite/create.multi.sql Строка для indexer.conf/search.htm (путь к файлу): DBAddr sqlite:///var/lib/sqlite/searchdb.sqlite/?dbmode=multi Настройка с MySQL Ставим: # emerge =dev-db/mysql-4.0.24 Конфигурируем: # ebuild /usr/portage/dev-db/mysql/mysql-4.0.24.ebuild config Выставляем пароль для root-пользователя mysql: # /usr/bin/mysqladmin -u root password 'ПАРОЛЬ_root' Запускаем MySQL: # /etc/init.d/mysql start Создаем базу данных для mnoGoSearch(при этом будет запрошен root пароль mysql): # mysqladmin -p create searchdb Даём права на эту базу данных mysql-пользователю searcher: # mysql -p <вводим пароль root-пользователя mysql> mysql> GRANT ALL PRIVILEGES ON searchdb.* TO searcher@localhost -> IDENTIFIED BY 'ПАРОЛЬ_searcher'; Создание необходимых mnoGoSearch таблиц в этой базе: # mysql -p searchdb < /usr/src/mnogosearch-3.2.32/create/mysql/create.multi.sql Строка для indexer.conf/search.htm: DBAddr mysql://searcher:<ПАРОЛЬ_searcher>@localhost/searchdb/?dbmode=multi Возможно также соединение через локальный socket: DBAddr mysql://searcher:<ПАРОЛЬ_searcher>@ / localhost/searchdb/?dbmode=multi/?socket=/var/run/mysqld/mysqld.sock Настройка с MySQL через ODBC драйвер Эта глава дана больше как пример использования ODBC в mnoGoSearch. Предполагается также что вы уже выполнили все пункты "Установка с MySQL". Ставим: # emerge =dev-db/unixODBC-2.2.8 =dev-db/myodbc-3.51.06 Редактируем /etc/unixODBC/odbc.ini: [searchodbc] DSN = mnoGoSearch DB DESCRIPTION = MySQL ODBC 3.51 Driver DSN DRIVER = /usr/lib/libmyodbc3.so SERVER = localhost DATABASE = searchdb PORT = 3306 Строка для indexer.conf/search.htm: DBAddr odbc-mysql://searcher:<ПАРОЛЬ_searcher>@localhost/searchodbc/?dbmode=multi Настройка с PostgreSQL Ставим: # emerge =dev-db/postgresql-8.0.1 Конфигурируем: # ebuild /usr/portage/dev-db/postgresql/postgresql-8.0.1.ebuild config Запускаем: # /etc/init.d/postgresql start Создаём пользователя и базу данных для mnoGoSearch: # /bin/su - postgres $ createuser searcher -W -Разрешить новому пользователю создавать базы данных? (y/n) <отвечаем n> -Разрешить новому пользователю создавать пользователей? (y/n) <отвечаем n> -Пароль: <вводим пароль для этого пользователя> $ createdb -O searcher searchdb Создание необходимых mnoGoSearch таблиц в этой базе: $ psql -W -U searcher searchdb < /usr/src/mnogosearch-3.2.32/create/pgsql/create.multi.sql Строка для indexer.conf/search.htm: DBAddr pgsql://searcher:<ПАРОЛЬ_searcher>@localhost/searchdb/?dbmode=multi Возможно также соединение через локальный socket (просто уберите hostname): DBAddr pgsql://searcher:<ПАРОЛЬ_searcher>@/searchdb/?dbmode=multi Настройка с Firebird Ставим: # emerge =dev-db/firebird-1.5.2 Конфигурируем: # ebuild /usr/portage/dev-db/firebird/firebird-1.5.2.ebuild config чуть советов безопастности Позволяем Firebird слухать только locahost адрес,- /etc/firebird/firebird.conf: ... RemoteBindAddress = 127.0.0.1 Перезапускаем Firebird: # /etc/init.d/firebird restart Рекомендуется также сменить пароль по-умолчанию для SYSDBA: # /opt/firebird/bin/changeDBAPassword.sh Please enter current password for SYSDBA user: masterke Please enter new password for SYSDBA user: <ПАРОЛЬ_SYSDBA> Пишем новый пароль в /etc/conf.d/firebird: ISC_USER=SYSDBA ISC_PASSWORD=<ПАРОЛЬ_SYSDBA> FIREBIRD=/opt/firebird FBRunUser=firebird Запускаем: # /etc/init.d/firebird start Создаём пользователя для работы с базой данных mnoGoSearch: # /opt/firebird/bin/gsec GSEC> add searcher -pw <ПАРОЛЬ_searcher> Создание каталога для баз данных Firebird: mkdir /var/lib/firebird chown firebird.firebird /var/lib/firebird Создание базы данных для mnoGoSearch: # /opt/firebird/bin/isql SQL> create database "/var/lib/firebird/searchdb.fdb" user "searcher" password "<ПАРОЛЬ_searcher>"; Создание необходимых mnoGoSearch таблиц в этой базе: /opt/firebird/bin/isql "/var/lib/firebird/searchdb.fdb" -i / /usr/src/mnogosearch-3.2.32/create/ibase/create.multi.sql -u searcher \ -p <ПАРОЛЬ_searcher> Строка для indexer.conf/search.htm (обратите внимание на полный путь к файлу базы): DBAddr ibase://searcher:<ПАРОЛЬ_searcher>@localhost/var/lib/firebird/searchdb.fdb/?dbmode=multi Возможные проблемы если при запуске indexer'а выскакивает ошибка типа: # /usr/local/mnogosearch/sbin/indexer {sql.c:533} Query: SELECT rec_id, url FROM server WHERE rec_id='1807751754' Log has not been opened DB err: ERROR: permission denied for relation server - /usr/local/mnogosearch/etc/indexer.conf:925: No appropriate storage support compiled ...то по-видимому таблицы в вашей базе данных были созданы пользователем отличным от того который указан в DBAddr. Будте внимательнее. Если вы не можете найти файлы типа create.multi.sql, то сделайте следующее: # cd /usr/src/mnogosearch-3.2.32/create/ # make Ссылки * mnoGoSearch 3.2.15 Руководство на http://linux.yaroslavl.ru http://linux.yaroslavl.ru/docs/conf/mnogosearch/index-ru.html * SQLite Wiki http://www.sqlite.ru/ * Статьи для разработчика Interbase/Firebird на http://www.ibase.ru http://www.ibase.ru/develop.htm * Справочное руководство по MySQL версии 5.0.0-alpha на http://linux.yaroslavl.ru http://linux.yaroslavl.ru/docs/www/mysql/man/manual.ru_toc.html * PostgreSQL документация на http://www.linuxshare.ru http://www.linuxshare.ru/postgresql/docs.shtml Благодарности * Eldar'у с группы новостей kraft.os.linux.info http://www.sama.ru/~nrg_ent/samaranews/group-kraft.os.linux.info.html

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру