====== Как установить на LINUX второй экземпляр Firebird ====== ===== Версии сервера ===== ^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.0.3 ^ 2.0.4 ^ 2.1 ^ 2.5 ^ 3.0 ^ | - | - | - | - | - | - | - | - | - | Да | Да | ===== Описание ===== 1. Скачиваем [[http://web.firebirdsql.org/download/snapshot_builds/linux/|linux-снапшот]] 2. Распаковываем его на сервере, например, сюда: /opt/fb25_26387 3. Входим как root, идём в каталог /etc/xinet.d 4. Копируем файл: cp firebird fb25_26387. Открываем файл firebird25_26387 редактором, вносим следующие исправления: service gds_db1 { disable = no flags = REUSE socket_type = stream wait = no user = firebird server = /opt/fb25_26387/bin/fb_inet_server } 5. Открываем файл /etc/services, добавляем туда строку: gds_db1 3051/tcp #3051 = номер порта, на котором будет нас "слушать" второй ФБ 6. Выполняем перезапуск xinetd: [root@firebirdG etc]# service xinetd reload Reloading xinetd: [ OK ] 7. Проверяем системный лог: в последних его строках должно быть примерно следующее: [root@firebirdG log]# tail -10 /var/log/messages Nov 5 01:02:27 firebirdG xinetd[13055]: Exiting... Nov 5 01:02:27 firebirdG xinetd[13222]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in. Nov 5 01:02:27 firebirdG xinetd[13222]: Started working: 2 available services 8. Проверяем наши права на Главный тестовый файл - таблицу /opt/fb25_26387/examples/empnuild/employee.fdb: ls -la ./examples/empnuild/employee.fdb В случае получения прав только на чтение суперпользователем: -r--r--r-- 1 root root 1105920 Nov 5 00:51 ./examples/empbuild/employee.fdb -- немедленно выправляем ситуацию: chown firebird ./examples/empbuild/employee.fdb chmod u+w ./examples/empbuild/employee.fdb 9. Выходим из-под root'a (logout). Работая далее как `firebird`, переходим в папку нового инстанса и пробуем коннект: [firebird@firebirdG fb25_26387]$ ./bin/isql localhost/3051:/opt/fb25_26387/examples/empbuild/employee.fdb -user sysdba -pas ******* Database: localhost/3051:/opt/fb25_26387/examples/empbuild/employee.fdb SQL> select count(*) from employee; COUNT ============ 42 SQL> exit; ЗЫ-1. __ОСОБОЕ__ внимание хочу обратить на граблю с правами на employee.fdb: с некоторого недавнего времени они при сборке закладываются внутрь .tgz именно такими: -r--r--r--. Если после скачивания снапшота устанавливать его "официальным скриптом" install.sh, то на все файлы будет применена нужная маска прав. Но этому скрипту нельзя указать "свою" папку и "свой порт". Поэтому я его не запускал. За что и поплатился (см выше "no permission for read-write access to database"). ЗЫ-2. **НЕ трогаем файл firebird.conf** - его параметры RemoteServiceName и RemoteServicePort никакой роли не играют. ===== Источник ===== [[http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=892598&msg=11552600]|Таблоид, SQL.RU]]