Установка СУБД Firebird 2.5 в Ubuntu 22.04

В комплекте с DataExpress идут встроенные серверы баз данных Firebird 2.5 и 5. Они позволяют работать с базой данных одному пользователю. Но если планируется совместная работа с базой данных множества пользователей, то вам необходимо установить дополнительное программное обеспечение — СУБД Firebird.

Обычно СУБД Firebird устанавливают на отдельный компьютер, выполняющий роль сервера. Это не обязательно должен быть мощный сервер, достаточно бюджетного офисного ПК.

В данном руководстве мы будем устанавливать Firebird на виртуальный сервер VDS под управлением операционной системы Ubuntu 22.04. Это обеспечит нам доступ к базе данных через интернет, где бы мы ни находились.

Устанавливать будем Firebird версии 2.5 с архитектурой Classic Server. Данную версию следует устанавливать, если у вас база данных в старом формате FDB.

Предполагается, что вы только что установили систему. Первым делом обновим систему:

# apt update
# apt upgrade

Установим несколько пакетов, без которых Firebird работать не будет.

# apt install software-properties-common
# add-apt-repository universe
# apt install libncurses5
# apt install openbsd-inetd

Скачаем и установим Firebird в каталог /opt/firebird:

# cd /opt
# wget https://github.com/FirebirdSQL/firebird/releases/download/R2_5_9/FirebirdCS-2.5.9.27139-0.amd64.tar.gz
# tar -xzf FirebirdCS-2.5.9.27139-0.amd64.tar.gz
# cd FirebirdCS-2.5.9.27139-0.amd64
# ./install.sh

В процессе установки вам будет предложено установить пароль SYSDBA. Если вы только пробуете работать с удаленной базой, лучше задать стандартный пароль masterkey. В этом случае настраивать подключение к базе данных в DataExpress будет чуть проще, т. к. программа знает про стандартный пароль. В дальнейшем, для безопасности, пароль стоить поменять (об этом чуть позже).

Загрузка базы данных на сервер

Загрузите базу данных на сервер любым удобным способом. Это можно сделать с помощью программ FileZilla, WinSCP или через панель управления вашего сервера (если установлена).

Например, создайте каталог /opt/bases и загрузите в него базу. В нашем примере это будет демобаза DEMO_DB.FDB.

Чтобы СУБД Firebird могла получить доступ к файлу, назначьте владельцем файла пользователя firebird:

# cd /opt/bases
# chown firebird DEMO_DB.FDB

Может быть такое, что Firebird все равно не может работать с базой. При попытке подключения к базе программа сообщает об ошибке: Permission denied. В этом случае проверьте, чтобы у всех каталогов в пути были права на выполнение. Если этих прав нет, то установите их:

# chmod 755 /opt/bases

Подключение к базе данных

Теперь настроим подключение к базе данных в программе DataExpress. Запускаем программу и открываем менеджер подключений: меню Файл — Подключиться (или клавиша F6). Создание нового подключения

IP-адрес и путь к базе данных, разумеется, нужно ввести свои. Сохраняем и пробуем подключиться.

Обратите внимание как задается строка подключения. Краткий формат строки подключения: IP-адрес:ПолныйПутьКБазеДанных или ИмяДомена:ПолныйПутьКБазеДанных. Более подробно об этом здесь.

Настройка алиасов

В целях безопасности и удобства вы можете задать алиас (псевдоним) базы данных. Тогда вместо пути к базе данных вам достаточно будет указать алиас. Алиасы прописываются в файле aliases.conf:

# cd /opt/firebird
# mcedit aliases.conf

Добавим в конец файла строку:

demodb = /opt/bases/DEMO_DB.FDB

Теперь в строке подключения достаточно будет ввести: 18.43.8.70:demodb

Алиас в настройках подключения

Меняем порт сервера Firebird

Также в целях безопасности рекомендуют изменить стандартный порт Firebird 3050 на какой-нибудь другой. Для примера пусть будет порт 3090. Для этого нужно отредактировать файл inetd.conf:

# mcedit /etc/inetd.conf

Находим строчку, которая начинается с gds_db и меняем слово gds_db на 3090. Получится примерно так: Настройка inetd

Сохраняем файл и перезапускаем службу inetd:

# systemctl restart inetd.

Теперь, когда мы поменяли порт, строка подключения немного изменится. После IP-адреса или имени хоста через слэш указывается порт:

18.43.8.70/3090:demodb

Изменение пароля SYSDBA

Введите в терминале следующие команды:

# cd /opt/firebird/bin
# ./gsec -user SYSDBA -password masterkey -modify SYSDBA -pw <ваш новый пароль>

Обратите внимание, что в Firebird максимальная длина пароля 8 символов, остальные символы будут проигнорированы.

Не забудьте в параметрах подключения указать новый пароль SYSDBA, иначе получите ошибку при подключении.

Ввод пароля SYSDBA в настройках подключения