Вы находитесь на странице: 1из 11

Linux - Instalando Firebird

Eae pessoal, blz?


Ento, esta semana precisei instalar o Firebird em um sevidor Linux para o rodar o software
LALUR em rede. Vou descrever abaixo os passos que executei e que podem ajudar quem
esteja a procura desta soluo.
Usei a verso do Linux CentOs 6.2 x64 e a verso 2.5.1 do Firebird que peguei no
site http://www.firebirdsql.org/
Vamos considerar que o Firewall Iptables e o Selinux estejam desabilitados.
Quando voc for fazer o download do Firebird, alm das verses x86 e x64 ter que decidir se
instalar o pacote Super Server ou Classic Server.
As diferenas entre as duas verses voc pode conferir neste documento criado pela equipe
da comunidade firebird.
http://www.comunidade-firebird.org/cflp/downloads/CFLP_T017.PDF
Para a instalao utilizaremos o comando RPM, se quiser uma lista dos parmetros que podem
ser utilizados com o RPM acesse o link abaixo do Viva o Linux:
http://www.vivaolinux.com.br/artigo/Trabalhando-com-RPM
Ento vamos l, primeiro vou instalar a verso FirebirdCS-2.5.1.26351-0.amd64.rpm
Para instalar o pacote: rpm -ivh FirebirdCS-2.5.1.26351-0.amd64.rpm

Como podem ver j tivemos nosso primeiro problema, est faltando instalar essas libs.

Para instalar as libs, vou utilizar o comand "yum install nome_da_lib", veja nas imagens:

Beleza, agora com as libs instaladas, vamos tentar instalar o pacote: rpm -ivh FirebirdCS2.5.1.26351-0.amd64.rpm

Agora instalou, veja a imagem:

Se voc der o comando "more /etc/services |grep 3050" ver que foi criado uma entrada no
arquivo "services" com a porta que ser utilizada para conexo com o firebird.

A verso Classic Server do Firebird no cria um executvel para que voc possa iniciar e/ou
parar o servio, ele vincula o Firebird ao servio "xinetd".

No caso ainda no tenho o " xinetd" instalado. Para instalar o pacote do xinetd: "yum install
xinetd.x86_64"

Aps instalar o pacote, reinicie o servidor.


Agora d o comando "chkconfig --list", voc ver que ali onde diz "servios baseados no xinetd"
est o "firebird" setado como "sim", significa que sempre que o "xinetd" for iniciado, o firebird
tambm ser.

Para parar e/ou iniciar o xinetd use o comando: /etc/init.d/xinetd start/stop/restart


Agora precisamos alterar a senha padro do usurio SYSDBA do firebird.
Para isto vamos at /opt/firebird e de o comando "more SYSDBA.password".
Veja a linha ISC_PASSWD=1rqBa2eW est a senha atual.

Para alterar a senha, entra no diretrio /opt/firebird/bin e de o comando


"./changeDBAPassword.sh"
Ele pedir para voc informar a senha atual e depois pedir a nova senha.
Neste caso eu fiz a instalao do firebird para rodar o software LALUR, este software precisa
que a senha do SYSDBA esteja como "masterkey", caso contrrio ele no consegue conectar
no banco de dados.

Agora falta apenas testarmos:


Vamos criar uma base "teste.gdb" e acessa-la localmente.
Acesse /opt/firebird/bin e de o comando "./isql"
Vai abrir um prompt "SQL>"
Ento execute o comando: CREATE DATABASE '/tmp/teste.gdb' USER 'sysdba' PASSWORD
'masterkey' PAGE_SIZE 1024;
Depois: "quit;"
Veja que em /tmp foi criado um arquivo chamado "teste.gdb".
Para garantir o acesso a base, de o comando "chmod 777 teste.gdb" (Ao configurar um acesso
externo, se o arquivo no estiver com permisso adequada, o acesso ser negado)

Vamos agora criar um "Link", que ser o Nome da base.


V at /opt/firebird/bin e digite o comando "./createAliasDB.sh nome_da_base
caminho_do_arquivo.gdb"

Para conectarmos na base vamos fazer o seguinte:

Em /opt/firebird/bin execute o comando "./isql /tmp/teste.gdb -u sysdba -p masterkey"


Agora execute "SHOW DATABASE;"
Vai aparecer os dados da nossa base de teste.

Ento pessoal, instalamos a verso Classic Server do Firebird 2.5.1, criamos uma base teste e
nos conectamos nesta base. Agora para fazer um teste de outra maquina, voc pode baixar um
gerenciador de banco de dados firebird e informar os parmetros para conectar no servidor.
Um gerenciador que baixei aqui foi o DBManager, tem varios na internet, s pesquisar no
Google.
Para fazer a instalao do Super Server, a nica coisa que muda que o Super Server cria o
executvel "firebird" dentro de /etc/init.d ao invs de vincula-lo ao "xinetd".
Para iniciar, parar ou reiniciar o servio basta executar o comando "/etc/init.d/firebird
start/stop/restart"
Para o firebird iniciar automaticamente ao ligar o servidor basta digitar o comando "chkconfig
firebird on".
Outras observaes:
Aqui um manual em portugus feito pela equipe do FirebirdSql para trabalhar com a base de
dados Firebird:
http://www.firebirdsql.org/pdfmanual/Firebird-Commandline-Brazilian-Portuguese.pdf
Caso voc tente instalar uma verso mais antiga do firebird (ex: 2.0) no CentOs 6.2, pode
aparecer a mensagem de erro:

/opt/firebird/bin/gsec: error while loading shared libraries: libstdc++.so.5: cannot open shared
object file: No such file or directory

Essa mensagem aparece porque a verso atual do CentOs 6.2 tem alguma incompatibilidade
com as Lib's que as verses mais antigas do Firebird utilizam.
Isto aconteceu comigo e ento instalei a verso 2.5.1 do firebird que funcionou normal.
Outro problema que tive, que como ja havia instalado a verso 2.0 do firebird, ao tentar
instalar a 2.5.1 ele estava dando conflito de arquivos, dizendo que ja havia uma verso
instalada.
Resolvi isto usando o comando rpm -Uvh Nome_do_Pacote2.5.1.
A opo -U atualiza o pacote que j est instalado para a verso que voc est querendo
instalar.
isso a pessoal!
Vlw