Установка firebird на Linux
Ubuntu
Установка
#sudo apt-get install firebird2.5-classic
Если вам нужен супер сервер то последнее заменяется на firebird2.5-super нужная версия соответсвенно тоже подбирается с нуждами.
В некоторых версиях еще требуется создать симлинк с /usr/lib/libfbclient.so.что-то_там на /usr/lib/libfbclient.so
RedHat, Mandriva, Debian
С официального сайта http://www.firebirdsql.org/en/downloads/ ставим подходящую сборку сервера FireBird
Устанавливаем сервер Apache и поддержку PHP (как вариант для Mandriva Linux разумно провести установку пакета urpmi task-lamp подробнее см. http://wiki.mandriva.com/ru/Linux-Apache-MySQL-PHP)
После установки серверов FireBird, Apache и PHP подключаем поддержку FireBird через PHP.
Для этого, устанавливаем пакет php-interbase. Если таковой отсутствует в репозитории, нужный пакет можно скачать с RPM-Finder http://rpmfind.net/linux/rpm2html/search.php.
Для этого в строке поиска набрать 'php-interbase', в поле System -ввести операционную систему, например 'Mandriva'
Выбрать и установить нужный пакет
Debian 7 wheezy
Заходим под root
#su
Обновим систему
#apt-get update && apt-get upgrade -y
Установка firebird
#apt-get install firebird2.5-classic
Нажмите «yes». Необходимые пакеты будут загружены и установлены на целевую систему. Также будет создан новый пользователь “firebird” для запуска сервера, но сервер пока не будет запускаться автоматически. Для запуска сервера Firebird автоматически при старте системы, запустите настройку dpkg-reconfigure на данном пакете и нажмите “Да” при соответствующем вопросе. Затем вам будет предложено ввести пароль SYSDBA:
#dpkg-reconfigure firebird2.5-classic
После ввода пароля и нажатия «ок» сервер FireBird будет запущен. Теперь скачиваем библиотеку UDF rfunc, заходим на сайт
https://www.assembla.com/spaces/audfl_rfunc/documents
На этом сайте скачиваем архив rfunc.linux_amd64.tar.gz
Скачиваем программу WinSCP и устанавливаем, затем архив перекидываем на linux. Распаковываем его
#tar xvfz rfunc.linux_amd64.tar.gz
Копируем в папку UDF
#cp rfunc.so /usr/lib/firebird/2.5/UDF/
На этом установка завершена.
Обсуждение
Если коннект локальный есть а внешнего нет, то проверяем следующее
файл /etc/inetd.conf
строку localhost:gds_db stream tcp nowait firebird /usr/sbin/tcpd /usr/sbin/fb_inet_server
меняем на 0.0.0.0:gds_db stream tcp nowait firebird /usr/sbin/tcpd /usr/sbin/fb_inet_server
Так же возможна ситуация когда клиент не может подключиться, хотя до этого подключался. Возможно мы достигли предел на количество подключений к серверу inetd
укажем серверу количество подключений (пример)
gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server
после nowait установим количество сессий nowait/100
gds_db stream tcp nowait/100 firebird /usr/local/bin/fb_inet_server fb_inet_server
Описание синтаксиса {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
* Максимальное число порожденных даемонов, которых может создать inetd, может быть задано параметром max-child. Если нужно ограничение в десять экземпляров некоторого даемона, то после параметра nowait нужно задать /10. При задании /0 ограничения на количество экземпляров снимаются.
* Кроме max-child, могут быть задействованы два других параметра, ограничивающих максимальное число соединений от одного источника. max-connections-per-ip-per-minute ограничивает количество соединений от одного IP-адреса в течение минуты, так что значение, равное десяти, будет ограничивать любой заданный IP-адрес на выполнение десяти попыток подключения к некоторому сервису в минуту. Параметр max-child-per-ip ограничивает количество дочерних процессов, которые могут быть одновременно задействованы на обслуживание одного IP-адреса. Эти опции полезны для предотвращения намеренного или ненамеренного расходования ресурсов и атак типа Denial of Service (DoS) на машину.
* В этом поле одно из значений wait или nowait обязательны. max-child, max-connections-per-ip-per-minute и max-child-per-ip опциональны.
* Многопоточный даемон типа stream без ограничений max-child, max-connections-per-ip-per-minute или max-child-per-ip будет определен просто как nowait.
* Тот же самый даемон с ограничением в максимум десять даемонов будет определен так: nowait/10.
* Та же конфигурация с ограничением в двадцать соединений на IP-адрес в минуту и общим ограничением в максимум десять порожденных даемонов выглядит так: nowait/10/20.
* Наконец, пример, описывающий ограничение на 100 даемонов в целом, при этом не более чем по 5 на один IP-адрес, будет выглядеть так: nowait/100/0/5.
Пишет ?
1