Skip to content

Servidor GIL e Cadsus Simplificado em Linux

qua, 2013/04/10

Distribuição Linux

Escolhi a distribuição Linux CentOS 6 i386 por ser fornecida de graça e dar suporte a pacotes rpm, sendo também 100% compatível com a distribuição RHEL. Instale o Linux com esquema de particionamento e detalhes que lhe for mais conveniente, mas não esqueça de configurar a rede antes de dar continuidade, principalmente o nome do host no arquivo /etc/sysconfig/network, pois o Firebird precisa que isto esteja bem definido. Tenha certeza de que o nome correto do host aparece em seu prompt.

Configuração do Netfilter e do SELinux

Se você for usar um servidor Linux já operante e o mesmo for um Firewall, você terá que resolver seus problemas de segurança sozinho. Mas para quem criar um novo servidor só para o GIL (e quem sabe também o Cadsus Simplificado), podemos simplesmente desabilitar esses serviços:

echo 'SELINUX=disabled' > /etc/sysconfig/selinux
setenforce 0
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop

Firebird 1.5

Antes de instalar o Firebird é necessário instalar algumas dependências:

yum -y install compat-libstdc++-33 compat-libstdc++-296

Instale o Firebird 1.5.6 Superserver for Linux com o comando abaixo:

rpm -Uvh http://downloads.sourceforge.net/project/firebird/firebird-linux-i386/1.5.6-Release/FirebirdSS-1.5.6.5026-0.i686.rpm

Habilite o serviço do Firebird na inicialização do sistema operaconal:

chkconfig firebird on

Dê uma olhada no arquivo /opt/firebird/SYSDBA.password. Nele contém a senha em texto puro do usuário master do Firebird, o usuário sysdba. Basta ver a linha que começa com ISC_PASSWD= e logo após o sinal de igual vem a senha. Mais inseguro ainda seria se este arquivo tivesse permissão de leitura para todo mundo. Ainda bem que só o root pode lê-lo:

ls -lh /opt/firebird/SYSDBA.password
-r--------. 1 root root 466 Ago 17 18:03 /opt/firebird/SYSDBA.password
cat /opt/firebird/SYSDBA.password
# Firebird generated password for user SYSDBA is:
ISC_USER=sysdba
ISC_PASSWD=XUT30Eo3
# generated on gil.saude.ce.gov.br at time Sex Ago 17 17:56:58 BRT 2012
# Your password can be changed to a more suitable one using the
# /opt/firebird/bin/changeDBAPassword.sh script
# For superserver you will also want to check the password in the
# daemon init routine in the file /etc/rc.d/init.d/firebird

Você pode alterar a senha do usuário sysdba usando o script /opt/firebird/bin/changeDBAPassword.sh, o qual solicitará a senha atual e depois a nova senha. Mas não se engane, este script irá colocar a nova senha no arquivo /opt/firebird/SYSDBA.password. Se você tiver interesse que este servidor também venha a servir o banco de dados do Cadsus Simplificado, você deve alterar a senha do usuário sysdba para masterkey, que é a senha padrão utilizada pelo Cadsus Simplificado:

/opt/firebird/bin/changeDBAPassword.sh
Please enter current password for SYSDBA user: XUT30Eo3
Please enter new password for SYSDBA user: masterkey
GSEC> Warning - maximum 8 significant bytes of password used
GSEC>
Running ex to modify /etc/rc.d/init.d/firebird

Pegando Arquivos do Windows

Para continuar precisamos ter uma instalação do GIL servidor em um PC com Windows. Copie estes arquivos para o seu servidor Linux. Recomendo o uso do WinSCP:

C:\Arquivos de programas\datasus\firebird1_5\security.fdb
C:\Arquivos de programas\datasus\gil\banco\BDGIL.FDB

De volta ao Linux, faça um backup do arquivo security.fdb original, mova o arquivo security.fdb que copiamos da máquina Windows para o diretório do Firebird e mude as permissões conforme o arquivo original:

mv /opt/firebird/security.fdb /opt/firebird/security.fdb.bkp
mv security.fdb /opt/firebird/
chown firebird:firebird /opt/firebird/security.fdb
chmod 600 /opt/firebird/security.fdb

Crie um diretório para armazenar o banco de dados do GIL, mova o arquivo BDGIL.FDB para este diretório, renomeando-o com letras minúsculas, e mude as permissões necessárias:

mkdir -p /var/lib/firebird/gil
mv BDGIL.FDB /var/lib/firebird/gil/bdgil.fdb
chown -R firebird:firebird /var/lib/firebird
chmod -R 700 /var/lib/firebird

Se você tiver interesse que este servidor também venha a servir o banco de dados do Cadsus Simplificado, você precisará que seu PC com Windows também tenha uma instalação do Cadsus Centralizador Simplificado. Copie o arquivo abaixo para o seu servidor Linux:

C:\Arquivos de programas\Cadsus Centralizador Simplificado\BANCO\DB_CNS.GDB

No servidor Linux, você terá que criar um diretório para armazenar o banco de dados do Cadsus, só que este diretório vai depender da versão do GIL que você vai usar. Para GIL a partir da versão 4.0.30, basta criar um diretório qualquer, mover o arquivo DB_CNS.GDB para este diretório e mudar as permissões necessárias:

mkdir -p /var/lib/firebird/cadsus
mv DB_CNS.GDB /var/lib/firebird/cadsus/DB_CNS.GDB
chown -R firebird:firebird /var/lib/firebird
chmod -R 700 /var/lib/firebird

Já para GIL anterior à versão 4.0.30 o caminho para o arquivo DB_CNS.GDB tem que conter um sub-diretório chamado banco e dentro dele é que fica o arquivo do banco de dados do Cadsus. Da mesma forma temos que mudar as permissões necessárias:

mkdir -p /var/lib/firebird/cadsus/banco
mv DB_CNS.GDB /var/lib/firebird/cadsus/banco/DB_CNS.GDB
chown -R firebird:firebird /var/lib/firebird
chmod -R 700 /var/lib/firebird

Configurando os Clientes

Primeiro temos que editar o arquivo de configuração do GIL, o Gil.ini. Para o GIL, devemos mudar a linha que começa com Diretorio=, a qual deve conter o IP do servidor Linux, seguido de um caractere : (dois pontos) e seguido do diretório no servidor Linux onde se encontra o banco de dados do GIL, sem o uso de uma barra no final da linha:

Diretorio=192.168.1.55:/var/lib/firebird/gil

Se o seu GIL realiza a importação de dados de usuários (pacientes, clientes) a partir do banco de dados do Cadsus Simplificado (Leia mais sobre isso no post Importando Usuários do Cadsus Para o GIL), devemos mudar também a linha que começa com Caminho=, logo após a linha [CADSUS]. Da mesma forma, a linha tem que conter o IP do servidor Linux, seguido de um caractere : (dois pontos) e seguido do diretório no servidor Linux onde se encontra o banco de dados do Cadsus Simplificado. Porém vai haver uma diferença de configuração entre versões do GIL. Para versões a partir da 4.0.30 é essencial o uso de um caractere / (barra normal) no final da linha:

Caminho=192.168.1.55:/var/lib/firebird/cadsus/

Já para versões do GIL anteriores à 4.0.30 temos que ignorar o sub-diretório banco no caminho e remover qualquer barra no final:

Caminho=192.168.1.55:/var/lib/firebird/cadsus

No fim das contas, o arquivo de configuração Gil.ini para versões do GIL a partir da 4.0.30 deve ficar assim:

Memo1
[SISTEMA]
DataInst=08/03/2006
Diretorio=192.168.1.55:/var/lib/firebird/gil
DirCliente=C:\arquivos de programas\datasus\gil
Dirtabwin=c:\tabwin
Aparencia=C:\arquivos de programas\datasus\gil\skins\(Default).SKN
AbrevAparencia=(Default).SKN
VersaoImportador=20325;
DIRMAPA=C:\arquivos de programas\datasus\gil\MAPA
VersaoExportador=20325:
VersaoHigienizador=20325:

[US]
nomeUS=''

[CADSUS]
Caminho=192.168.1.55:/var/lib/firebird/cadsus/

Já para versões do GIL anteriores à 4.0.30 fica com apenas a diferença da ausência da barra no fim da linha de configuração do banco de dados do Cadsus Simplificado, ficando assim:

Memo1
[SISTEMA]
DataInst=08/03/2006
Diretorio=192.168.1.55:/var/lib/firebird/gil
DirCliente=C:\arquivos de programas\datasus\gil
Dirtabwin=c:\tabwin
Aparencia=C:\arquivos de programas\datasus\gil\skins\(Default).SKN
AbrevAparencia=(Default).SKN
VersaoImportador=20325;
DIRMAPA=C:\arquivos de programas\datasus\gil\MAPA
VersaoExportador=20325:
VersaoHigienizador=20325:

[US]
nomeUS=''

[CADSUS]
Caminho=192.168.1.55:/var/lib/firebird/cadsus

A segunda parte da configuração de nossos clientes GIL que acessarão este servidor GIL Linux é hackear o executável do GIL, o GIL.exe. Para isto teremos que usar um pouco da técnica de engenharia reversa. Como a explicação do procedimento, apesar de simples, é um pouco longa, fiz um outro post só sobre isso:

Hackeando o GIL para Linux

Observações Finais

É muito importante que no aplicativo GIL o ítem Configuração do menu Manutenção seja desativado para todos os usuários (operadores). Neste ítem é feita a configuração do acesso do GIL ao banco de dados do Cadsus Simplificado, para que o mesmo consiga importar dados de usuários (pacientes, clientes). Acontece que o GIL foi desenvolvido visando a plataforma Windows, onde nomes de diretórios e de arquivos é indiferente à letras maiúsculas ou minúsculas. Se você ao menos clicar neste ítem, sem modificar nada, no mesmo instante o GIL irá editar o seu arquivo de configuração (Gil.ini) modificando o caminho configurando para o banco de dados do Cadsus Simplificado, colocando o mesmo caminho, mas com todas as letras maiúsculas. O GIL iria mudar a configuração de:

[CADSUS]
Caminho=192.168.1.55:/var/lib/firebird/cadsus/

Para:

[CADSUS]
Caminho=192.168.1.55:/VAR/LIB/FIREBIRD/CADSUS/

E para nosso servidor Linux, existe um diretório /var/lib/firebird/cadsus, mas não existe /VAR/LIB/FIREBIRD/CADSUS, já que para Linux há distinção entre letras maiúsculas e minúsculas em nomes de diretórios e arquivos.

Outra mudança é a Cópia de Segurança, ítem do mesmo menu Manutenção, que não irá mais funcionar. Então, crie um script para backup do banco de dados do GIL e do Cadsus Simplificado. Também fiz um post sobre isso:

Scripts de Backup do GIL e do Cadsus Simplificado no Linux

Anúncios

From → CentOS 6, GIL

4 Comentários
  1. Cristhiano permalink

    E o cliente? Tem como ser Linux?

    • Tem, mas é necessário o uso do Wine. É um procedimento muito mais complicado e eu ainda estou tentando fazer funcionar direito. Infelizmente não tenho previsão para terminar.

Trackbacks & Pingbacks

  1. A Muito Tempo Atrás, Num Post Distante… | MUBLIX
  2. Scripts de Backup do GIL e do Cadsus Simplificado no Linux | MUBLIX

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: