Recentemente precisei instalar o Firebird num servidor rodando Debian Buster, mas esbarrei em alguns problemas: a aplicação da empresa exige o Firebird 2.5, mas apenas a versão 3.0 está disponível no repositório do Debian Buster. Por isso, um simples apt install firebird não seria possível.
Vamos ver como instalar esta versão no Buster. Pra começar, instalei o servidor do zero usando os passos que descrevi aqui.
Antes de continuar, tenha à mão as credenciais de uma conta que tenha permissão de sudo e conexão à internet.
Download
O site oficial do Firebird ainda tem o pacote do release 2.5.x para baixar nesta página. Escolha a plataforma desejada e o tipo de servidor que precisa. No meu caso usei Linux AMD64 e o pacote SuperServer. Entre a opções de formato, a ideal é Superserver, compressed tarball. Copie o endereço deste arquivo de download (no meu caso foi https://github.com/FirebirdSQL/firebird/releases/download/R2_5_9/FirebirdSS-2.5.9.27139-0.amd64.tar.gz)
Abra uma conexão SSH à maquina Debian e faça login. Uma vez conectado, use o comando wget seguido do link para o download do arquivo que você copiou.
Por exemplo, para SuperServer AMD64:
wget https://github.com/FirebirdSQL/firebird/releases/download/R2_5_9/FirebirdSS-2.5.9.27139-0.amd64.tar.gz
Instalação
Em seguida extraia o conteúdo do tarball (pacote de arquivos), lembrando de usar o nome correto do arquivo para seu download:
tar -xvf FirebirdSS-2.5.9.27139-0.amd64.tar.gz
Vamos instalar o pacote libncurses5 que é requerido pelo Firebird:
sudo apt install libncurses5 -y
E agora podemos extrair e instalar o Firebird:
sudo ~/Firebird*/install.sh
Digite ENTER para confirmar o início da instalação. Você pode ver mensagens de alerta durante a instalação., como as abaixo. Elas podem ser ignoradas.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start runlevel arguments (2 3 5) do not match firebird Default-Start values (2 3 4 5)
Quando aparecer o prompt abaixo, informe a senha que deseja utilizar para o usuário SYSDBA:
Starting Firebird server: Please enter new password for SYSDBA user:
Se tudo deu certo você verá a mensagem:
Install completed
Vamos criar e permissionar a pasta onde vamos armazenar o banco de dados em si. No Debian recomenda-se armazenar arquivos de servidores na pasta /srv
sudo mkdir -p /srv/firebird
sudo chown firebird:firebird /srv/firebird/
Lembre-se de usar a pasta /srv/firebird para armazenar seus bancos de dados!
Não podemos esquecer de abrir a porta TCP 3050 para que o servidor Firebird esteja acessível às conexões remotas de clientes. No meu caso uso o firewall ufw, então o comando correspondente é:
sudo ufw allow 3050/tcp
Para finalizar vamos remover os arquivos de instalação:
rm -rf ~/Firebird*
Vamos verificar se o Firebird está rodando em memória:
ps -ef |grep firebird
Se o processo estiver ativo você deverá ver dois processos ativos, o fbguard e o fbserver:
firebird 22981 1 0 17:17 ? 00:00:00 /opt/firebird/bin/fbguard -pidfile /var/run/firebird/firebird.pid -daemon -forever firebird 22983 22981 0 17:17 ? 00:00:00 /opt/firebird/bin/fbserver
Para garantir que o Firebird esteja ativo para iniciar automaticamente após o boot, digite:
sudo systemctl enable firebird
Por último, vamos restringir as pastas que o servidor Firebird tem acesso para que só possa ler /srv/firebird:
sudo nano /opt/firebird/firebird.conf
Procure a linha DatabaseAccess = full e mude para:
DatabaseAccess = Restrict /srv/firebird
Você poderá adicionar aliases para seus bancos de dados editando o arquivo /opt/firebird/aliases.conf
Vamos reiniciar o firebird para aplicar as mudanças:
sudo /opt/firebird/bin/fbmgr.bin -shut sudo /opt/firebird/bin/fbmgr.bin -start
Prontinho! você poderá conectar ao Firebird localmente usando a aplicação isql e comandos SQL:
/opt/firebird/bin/isql
Ou poderá usar uma ferramenta como o DBeaver se conectar remotamente.