Olá Pessoal,
O objetivo deste artigo é listar a simples instalação e configuração do Firebird em Servidores Linux. O Firebird é um popular Banco de Dados derivado do código do Borland InterBase 6.0. Trata-se de uma ferramenta open-source e gratuita que está disponível para as mais diversas plataformas, seja Linux, Windows, Mac OS, FreeBSD ou Solaris. Como ele possui código aberto e não tem licença, é possível utilizá-lo em qualquer tipo de aplicação sem pagar nada por isso, mesmo em aplicações comerciais. A ferramenta é considerada madura porque sua tecnologia de base tem mais de 20 anos.
Assim como nos artigos anteriores que escrevi sobre Linux, estou considerando que o servidor está devidamente instalado com a distribuição Debian GNU/Linux (ou seus derivados, como o Ubuntu). A primeira etapa consiste na instalação do pacote denominado firebird2.5-superclassic para que o Linux possa ser posteriormente configurado como servidor de banco de dados para aplicações clientes. Essa tarefa é simples e rápida através do APT:
root@Linux:/# apt-get update
root@Linux:/# apt-get install firebird2.5-superclassic
Obs.: O Firebird está disponível nas arquiteturas SuperClassic (firebird2.5-superclassic) e Classic (firebird2.5-classic). Vamos utilizar a arquitetura SuperClassic porque ela é mais indicada para uso em máquinas SMP (múltiplos núcleos de processamento).
Durante a instalação do Firebird será aberto um diálogo para definir uma nova senha para o usuário padrão SYSDBA, sendo que frequentemente essa senha é masterkey. Essa senha pode ser redefinida a qualquer momento através do comando abaixo:
root@Linux:/# dpkg-reconfigure firebird2.5-superclassic
Feito isso, o Firebird já deve estar devidamente instalado e em execução no servidor, embora ainda não esteja permitindo acessos remotos através da rede. Para verificar se o serviço está em execução, basta utilizar o comando abaixo. Caso o administrador queira parar ou iniciar o serviço manualmente, esse mesmo comando pode ser utilizado alterando o parâmetro status por start (iniciar) ou stop (parar).
root@Linux:/# service firebird2.5-superclassic status
Apenas a título de observação, outra forma de verificar se o serviço está no ar é localizar manualmente os processos em execução no servidor, particularmente observando os processos denominados fb_smp_server e fbguard. O processo fbguard é um monitorador que protege a execução do servidor (fb_smp_server), de forma que o guardião automaticamente executa uma nova instância do processo servidor em caso de falha.
root@Linux:/# ps aux | grep fb
(...) Exemplo de Saída do Comando
firebird 1064 (...) /usr/sbin/fbguard (...)
firebird 1065 (...) /usr/sbin/fb_smp_server
root 1226 (...) tty1 (...) grep fb
Depois de instalado, o arquivo de configuração do Firebird fica localizado em /etc/firebird/2.5/firebird.conf, sendo bem documentado e organizado em diferentes seções para facilitar sua configuração. Por padrão o servidor Firebird somente permite acesso a partir da máquina local (localhost) e é executado na porta 3050/TCP. Para permitir o acesso remoto ao servidor através de outras máquinas na rede, é necessário localizar e comentar a seguinte linha no arquivo de configuração do firebird:
###--- em /etc/firebird/2.5/firebird.conf
#RemoteBindAddress = localhost
Obs.: O acesso através da rede não irá funcionar se existir algum firewall no servidor ou mesmo no meio do caminho que esteja bloqueando comunicação na porta 3050/TCP.
Uma vez que o Firebird esteja devidamente instalado e em execução, é possível criar novas bases de dados ou mesmo instalar o pacote com exemplos para testar a conexão remota. Através do comando abaixo utilizaremos o APT para instalar o pacote com exemplos prontos do Firebird. Na sequência podemos acessar o diretório /usr/share/doc/firebird2.5-examples/examples/empbuild para descompactar o banco de exemplo denominado employee.fdb.gz. Depois de descomprimir o banco de exemplo é necessário alterar o proprietário para firebird:firebird e, por fim, vamos mover o arquivo para o diretório /var/lib/firebird/2.5/data/ onde normalmente ficam armazenadas as bases de dados do firebird em servidores Linux.
root@Linux:/# apt-get install firebird2.5-examples firebird2.5-dev
root@Linux:/(...)# cd /usr/share/doc/firebird2.5-examples/examples/empbuild/
root@Linux:/(...)# gunzip employee.fdb.gz
root@Linux:/(...)# chown firebird.firebird employee.fdb
root@Linux:/(...)# mv employee.fdb /var/lib/firebird/2.5/data/
Agora, além do servidor instalado e em execução, temos também um banco de dados (.fdb) localmente armazenado no servidor que pode ser acessado remotamente. Para testar se o banco de dados está funcionando através da rede, em qualquer estação cliente é possível instalar o gerenciador gráfico FlameRobin (http://www.flamerobin.org/). Seguindo o mesmo espírito do próprio Firebird, o FlameRobin é uma ferramenta open-source e gratuita, bastante leve e disponível para as mais diversas plataformas, seja Linux, Windows, Mac OS, FreeBSD ou Solaris.
Façam seus testes...
Samuel.
Valeu muito obrigado o detalhe do #RemoteBindAddress = localhost
ResponderExcluirfez toda diferença para funcionar
obrigado
Nota 10 pelo artigo. Ajudou-me muito.
ResponderExcluirmeu banco esta rodando mas não consigo acesso via windows pelo ibexpert da erro de usuário e senha alguém pode auxiliar
ResponderExcluirCara final de 2019 e essa dica ajudando pessoas em que ja esta saindo a versão 4.0 desse banco. Agradeço do S2.
ResponderExcluirE se eu quiser colocar o arquivo fdb na minha pasta home, por exemplo, quais permissões preciso aplicar para que consiga acessar o banco pelo gerenciador flamerobin?
ResponderExcluirEu dei permissão 777 no diretório bd (criei na pasta home) e não consigo de modo algum acessar, sempre com a mensagem de permissão negada.
Muito bom, salvou a minha semana. Obrigado!
ResponderExcluirapt-get install firebird2.5-superclassic
ResponderExcluirLendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
E: Impossível encontrar o pacote firebird2.5-superclassic
E: Couldn't find any package by glob 'firebird2.5-superclassic'
E: Não foi possível encontrar o pacote através da expressão regular 'firebird2.5-superclassic'
root@deposito:/home/usuario#