KAN`ский блог Мысли вслух…
  • Апр
    1

    Установка СУБД Firebird на ОС FreeBSD

    Filed under: Без рубрики;

    Дано: ОС FreeBSD 7.2, на которую необходимо поставить сервер баз данных Firebird.
    Firebird можно поставить из портов, предварительно обновив дерево портов.
    Ставим firebird из обновленных портов:
    cd /usr/ports/databases/firebird-server
    И вот тут есть небольшие грабли — компилировать (make) порт нужно под обычным ПОЛЬЗОВАТЕЛЕМ, а устанавливать (make install) под root.  И еще — в папках с портами firebird-server и firebird-client (ставится вместе с серверной частью) нужно создать папки work (под root) и назначить им соответствующие права для пользователя, под которым будет происходить компиляция.

    Та же проблема, PostgreSQl-8.1.11 и FireBird2.0.3 вместе работать не хотели ….
    Изначально при компиляции необходимо остановить postgre
    #/usr/local/etc/rc.d/postgresql stop

    echo 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.

    Комментарии к записи Установка СУБД Firebird на ОС FreeBSD отключены

Comments are closed.