-
Апр1
Установка СУБД Firebird на ОС FreeBSD
Filed under: Без рубрики;Дано: ОС FreeBSD 7.2, на которую необходимо поставить сервер баз данных Firebird.
Та же проблема, PostgreSQl-8.1.11 и FireBird2.0.3 вместе работать не хотели ….
Firebird можно поставить из портов, предварительно обновив дерево портов.
Ставим firebird из обновленных портов:
cd /usr/ports/databases/firebird-server
И вот тут есть небольшие грабли — компилировать (make) порт нужно под обычным ПОЛЬЗОВАТЕЛЕМ, а устанавливать (make install) под root. И еще — в папках с портами firebird-server и firebird-client (ставится вместе с серверной частью) нужно создать папки work (под root) и назначить им соответствующие права для пользователя, под которым будет происходить компиляция.
Изначально при компиляции необходимо остановить postgre
#/usr/local/etc/rc.d/postgresql stopecho kern.ipc.semmns=100 >> /boot/loader.conf
make (пользователь)
make install (root)
Все, firebird установлен, приступаем к настройке перед запуском сервера fb_init_server
Добавляем строку (через tab) в /etc/inetd.conf:
gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server
(путь к fb_inet_server может отличаться)
Прописываем строку в /etc/services:
gds_db 3050/tcp #Database remote control
Прописываем запуск Firebird в стартовом сценарии:
echo firebird_enable=»YES» >> /etc/rc.conf
Перегружаем систему или демон inetd, подав ему сигнал HUP (kill -HUP inetd(номер процесса) )
Если демон inetd не запущен, то следует прописать его запуск в стартовом сценарии /etc/rc.conf путем внесения строки:
echo inetd_enable=»YES» >> /etc/rc.conf
inetd_flags=»-wW -C 1024 -R 4096″
Перегружаемся.
С удаленной машины пробуем приконнектится телнетом на порт 3050 сервера:
telnet $server_ip_address$ 3050
Если коннект отваливается — следует копать настройки inetd
Кладем базы (*.GDB, *.FDB), делаем владельцем файла firebird, группу firebird. Даем пользователю и группе права на чтение и запись:
chown -R firebird:firebird /…/databases
chmod -R 770 /…/databases
Вот вроде и все. Пробуем прицепиться к базе с помощью IBExpert.Из исходников
на «чистой» FreeBSD 7.2 (установка User)
1. установить и обновить порты (portsnap www.freebsd.org/doc/ru/books/handbook/portsnap.html)
2. ставим autoconf262 (/usr/ports/devel/autoconf262) и autoconf-archive (/usr/ports/devel/autoconf-archive), они за собой много чего потянут установить — соглашаемся
3. скачиваем текущую версию исходников
cvs -d:pserver:anonymous@firebird.cvs.sourceforge.net:/cvsroot/firebird co -r B2_1_Release -P firebird2 (или релиз)
4. запускаем ./autogen.sh (например ./autogen.sh —without-editline —disable-raw-devices)
5. gmake, gmake install
6. необходимо скопировать библиотеки из подкаталога gen/firebird/lib (скачать лучше все файлы) в /usr/local/firebird/lib (в текущих версиях установочных скриптов не копируются libicuuc.so.30.0 libicudata.so.30.0 libicui18n.so.30.0 )
7. запустить/перезапустить inetd (установщик добавит нужную сроку запуска для в файл конфигурации inetd.conf)
чтобы не было ошибки вида CHARACTER SET WIN1251 is not defined
необходимо проверить наличие файла fbintl.conf в каталоге с fbintl (/usr/local/firebird/intl)
если при сборке из исходников fbintl.conf не появился (а он не появляется) — создаем его рукочками
vi fbintl.conf
и в него пишем приблизительно следующее (подсмотрено в fbintl.conf из виндовой установки)
<intl_module fbintl>
filename /usr/local/firebird/intl/fbintl
</intl_module>
<charset WIN1251>
intl_module fbintl
collation WIN1251
</charset>Не забываем перезапустить inetd
# /etc/rc.d/inetd restart
Stopping inetd.
Starting inetd.