GNU Health/Instalação

Requisitos

editar

A versão mais recente e estável do GNU Health tem os seguintes requisitos:

  1. Sistema operacional: GNU Health é independente de sistema operacional, embora recomendamos o uso de um sistema operacional gratuito (como o GNU/Linux ou FreeBSD)
  2. Base de dados: PostgreSQL
  3. Python: >=2,7 <3,0
  4. Tryton: = 3.8
  5. BASH Shell
  6. Versão PIP para Python 2, verificar, através de:
 pip --version

Você deve ver a descrição python2.7, como em:
pip x.x.x no diretório /usr/local/lib/python2.7/site-packages (Python 2.7)
Se você ver python3.x em seguida, pare e obtenha o pip para python 2.

Instalando GNU Health no GNU/Linux e FreeBSD

editar

Requisitos do sistema operacional

editar

A tabela a seguir contém as instruções para configurar o seu sistema operacional para uma instalação padrão do GNU Health. Os sistemas operacionais e sua versão mostrados na lista foram testados utilizando as instruções para cada sistema operacional.

As instruções de instalação para os diferentes sistemas operacionais e distribuições têm sido feitos sobre instalação do zero. Quando for possível e, para simplificar, apenas o ambiente do servidor foi instalado, sem desktop. Sem firewall configurado (vamos cobrir isso na seção de segurança), e o servidor SSH foi instalado.

As instruções - descritas aqui - têm sido aplicadas e verificadas com os seguintes sistemas operacionais, como mostrado abaixo
.

  Por favor, verifique se você estiver usando a versão do sistema operacional documentada na tabela a seguir
Sistema operacional Versão Ligação Notas
Arch Linux 2015/06/01 configuração no Arch Linux
Debian 7.8 e 8.5 configuração no Debian
CentOS 7.1 configuração no CentOS
FreeBSD 10.01 configuração no FreeBSD
openSUSE Leap 42.1 configuração no openSUSE
Red Hat 7.1 configuração no Red Hat
Ubuntu 14.04 configuração no Ubuntu
Trisquel 7.0 configuração no Trisquel

Configurando o Network Time Protocol (NTP)

editar

A fim de executar corretamente GNU Health, você precisa ter certeza de que a hora, tanto no servidor (banco de dados e a instância central) e os clientes estão configurados corretamente e em sincronia. A melhor maneira de fazer isso é manter o seu relógio sincronizado com um NTP Server.

Este é um passo fundamental, não só para o bom funcionamento do GNU Health, mas também porque muitos documentos terão um registro de hora associado que pode ter valor jurídico.

Criação do usuário do sistema operacional

editar

Os passos seguintes irão criar o usuário do sistema operacional GNU Health. Por favor note que muitos sistemas operacionais lhe dão a opção de criar um usuário regular no momento da instalação. Se você já criou o usuário "gnuhealth" no sistema operacional, você pode pular esta seção, caso contrário, crie-o agora.

Execute o seguinte comando como root:

adduser  gnuhealth

Nota: Se seu Sistema Operacional não incluir o comando adduser, você pode usar o comando useradd

useradd -m gnuhealth

Verifique método de autenticação PostgreSQL

editar

Nota: Você pode pular esta seção se você fez uma instalação padrão em FreeBSD ou Arch Linux

PostgreSQL utiliza diferentes métodos de autenticação (MD5, ident, trust, etc.). Dependendo do sistema operacional, o método de autenticação do servidor PostgreSQL irá variar.
A instalação padrão do GNU Health usa a método de autenticação trust, então você precisa verificar a configuração do arquivo de autenticação postgreSQL.

Localize o arquivo pg_hba.conf e verifique se o método trust está definido. A localização deste arquivo de configuração varia entre os sistemas operacionais; em UNIX/Linux, o caminho completo do arquivo pode ser obtido com o seguinte comando, a ser executado como root:

 su - postgres -c "psql -t -P format=unaligned -c 'show hba_file'"

Você pode precisar iniciar o servidor postgres pelo menos uma vez para que este arquivo possa ser criado durante a primeira inicialização. Normalmente, este arquivo está localizado em /etc/postgresql/9.x/main ou /var/lib/pgsql/data

O arquivo deverá estar configurado com o método de autenticação trust conforme é mostrado abaixo. Qualquer outra forma de autenticação (MD5, ident, peer, etc.) precisará de outra abordagem e não funcionará:

Autoriza conexões locais diretas por meio de sockets Unix "localhost"

local   all             all                                     trust

Restringe os IP's por host, podendo ou não receber conexão remota. Nesse caso somente autorizado "localhost" protocolo IPv4

host    all             all             127.0.0.1/32            trust

Restringe os IP's por host, podendo ou não receber conexão remota. Nesse caso somente autorizado "localhost" protocolo IPv6

host    all             all             ::1/128                 trust

Sempre edite os arquivos de configuração como usuário postgres, pois caso o fizer como root o postgres poderá ter problemas de leitura do arquivo alterado. Depois de quaisquer alterações no arquivo o servidor PostgreSQL precisa ser reiniciado.

Muitos erros de autenticação (por exemplo, erros de conexão com o banco de dados) surgem por causa de não ter configurado corretamente este arquivo. Claro que você poderá usar outros métodos de autenticação, como também poderá adaptar o arquivo de configuração tryton/GNU Health para cada um deles. Por uma questão de simplicidade, a documentação e os arquivos de exemplo neste livro foram baseados especificamente no método de confiança.

Certifique-se de reiniciar o servidor PostgreSQL:

sudo service postgresql restart


Criando credencial do usuário no banco de dados

editar

O seguinte comando executa como usuário administrativo postgres a criação do usuário gnuhealth no banco de dados, dando-lhe permissão para criar as tabelas do sistema conforme necessidade:

Execute como usuário root:

su - postgres -c "createuser --createdb --no-createrole --no-superuser gnuhealth"


Baixando e Instalando o GNU Health

editar

  Faça os passos seguintes com seu novo usuário gnuhealth criado. NÃO use o root!


Executando o Instalador do GNU Health

editar


Torne-se usuário gnuhealth:

su - gnuhealth 
cd $HOME


Faça o download do GNU Health em GNU.org

wget https://ftp.gnu.org/gnu/health/gnuhealth-latest.tar.gz


  Esta seção se aplica à versão 3.0 do GNU Health.


Para a versão igual ou superior a 3.0, baixe a versão mais recente do script de instalação gnuhealth-setup e copie para dentro do diretório de instalação gnuhealth-3.x.x. Não execute fora do diretório que erros inesperados acontecerão e a instalação será abortada. Se o script estiver fora do diretório, ao concluir a instalação, este não consegue encontrar alguns arquivos que estão dentro do diretório.

wget https://ftp.gnu.org/gnu/health/gnuhealth-setup-latest.tar.gz


Nota: você deve verificar a assinatura do arquivo. Infelizmente, o pacote mais recente não tem assinatura. Nesse caso você precisa baixar o arquivo de assinatura da versão mais recente manualmente a partir deste link.

$ wget https://ftp.gnu.org/gnu/health/gnuhealth-3.0.3.tar.gz.sig


Nota: Se você nunca tiver utilizado o GNUPG precisará chamar o comando pela primeira vez para gerar a base de dados de assinaturas. Se já tiver essa base, então será mostradas as assinaturas nela gravadas.

$ gpg --list-key


Primeiro obtenha a chave de assinatura se você não tiver feito isso:

$ gpg --recv-key 0xEADA01E3E44B8011


A chave é emitida por Luis Falcon (meanmicio no GNU) <falcon@gnu.org> e sua impressão digital é 14C7 FD13 6274 9706 D602 FBE2 EADA 01E3 E44B 8011. Esta informação pode observada da seguinte forma:

$ gpg --with-fingerprint --list-keys 0xEADA01E3E44B8011


Em seguida, verifique a assinatura:

$ gpg --verify gnuhealth-3.0.3.tar.gz.sig gnuhealth-latest.tar.gz


Se o arquivo for validado corretamente, a saída deve ser algo como:

   gpg: Signature made Sun Jan 31 09:00:14 2016 ART
   gpg:                using DSA key 0xEADA01E3E44B8011
   gpg: Good signature from "Luis Falcon (meanmicio at GNU) <falcon@gnu.org>" [unknown]
   gpg:                 aka "Luis Falcon <lfalcon@ibersis.com>" [unknown]
   gpg:                 aka "Luis Falcon <lfalcon@thymbra.com>" [unknown]
   gpg:                 aka "Luis Falcon <luis.falcon@thymbra.com>" [unknown]
   gpg:                 aka "Luis Falcon (meanmicio) <lfalcon@gnusolidario.org>" [unknown]
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: 14C7 FD13 6274 9706 D602  FBE2 EADA 01E3 E44B 8011

A parte importante é o Good signature from "Luis Falcon ....". A advertência significa que o arquivo e assinatura estão OK e validados corretamente. Se você não tiver confiança na chave, poderá ler mais sobre isso em O Manual GNU de Privacidade, Capítulo 3. Gerenciamento de Chaves.

Descompacte o arquivo:

$ tar xzf gnuhealth-latest.tar.gz


  Para a versão inferior a 3.0, utilize o arquivo que já está no diretório de instalação gnuhealth-[versão]:

$ cd gnuhealth-[versão]


Execute o programa de instalação gnuhealth-setup

$ ./gnuhealth-setup install


Finalmente, habilite o ambiente BASH para o usuário gnuhealth.

$ source "$HOME"/.gnuhealthrc


Arquivos de configuração do Tryton

editar

Os arquivos de configuração do Tryton para esta instalação deverá estar em /home/gnuhealth/gnuhealth/tryton/server/config. Os arquivos são trytond.conf e gnuhealth_log.conf.

Ativar dispositivos de rede para o protocolo JSON-RPC

editar

O servidor Tryton GNU Health escuta o localhost na porta 8000, não permitindo conexões diretas de outras estações de trabalho.

No arquivo de configuração trytond.conf você pode editar o parâmetro listen na seção [JSON-RPC], ativando o dispositivo de rede para que estações de trabalho possam se conectar. O asterisco ("*") significa que o servidor Tryton irá escutar qualquer IP na porta 8000, conforme bloco abaixo:

[JSON-RPC]
listen = *:8000

Configurando um Diretório local para anexos

editar

Por padrão, o Tryton usa diretório de todo o sistema para armazenar os anexos. No GNU Health é aconselhável manter os anexos no espaço de usuário gnuhealth.

Edite o arquivo de configuração trytond.conf do servidor e entre com o diretório de anexo abaixo da seção [database] como abaixo:

[database]
path = /home/gnuhealth/attach

Configurando o arquivo de log (opcional)

editar

Desde o GNU Health 2.8, o formato dos logs do servidor e rastreamento de eventos é baseado em um arquivo de configuração de log.

A versão padrão que é enviada chama-se gnuhealth_log.conf

Parece algo como isto:

[formatters]
keys: simple

[handlers]
keys: rotate, console

[loggers]
keys: root

[formatter_simple]
format: [%(asctime)s] %(levelname)s:%(name)s:%(message)s
datefmt: %a %b %d %H:%M:%S %Y

[handler_rotate]
class: handlers.TimedRotatingFileHandler
args: ('/home/gnuhealth/gnuhealth/logs/gnuhealth.log', 'D', 1, 30)
formatter: simple

[handler_console]
class: StreamHandler
formatter: simple
args: (sys.stdout,)

[logger_root]
level: WARNING
handlers: rotate, console

Neste exemplo (e no arquivo padrão), o arquivo de log é gravado no diretório de logs padrão. Você pode mudá-lo para fazer adaptação à sua instalação específica.

A fim de usar o log, você precisa fornecer a opção --logconf juntamente com o caminho para o arquivo de configuração de log gnuhealth_log.conf como argumento ao chamar o servidor Tryton, conforme mostrado abaixo:

$ ./trytond --logconf /home/gnuhealth/gnuhealth/tryton/server/config/gnuhealth_log.conf --<argumento2> --<argumento3> ... &

Para mais informações, consulte os seguintes recursos:


Iniciando o Servidor Tryton

editar

Mudar para o seu novo sistema instalado (usar o aliás cdexe)

$ cdexe


e inicializar o servidor.

$ ./trytond --verbose &

Você deve ver algo como INFO:server:starting JSON-RPC protocol on *:8000. Preste atenção na última linha.

Nota: o argumento --verbose é opcional. Ele é usado neste caso para que você possa ver os principais parâmetros de configuração.

[Wed 14 de janeiro 11:01:20 2015] INFO: servidor: usando /home/gnuhealth/gnuhealth/tryton/server/config/log.conf como arquivo de configuração de log
[Wed 14 de janeiro 11:01:20 2015] INFO: trytond.server: usando /home/gnuhealth/gnuhealth/tryton/server/config/trytond.conf como arquivo de configuração
[Wed 14 de janeiro 11:01:20 2015] INFO: trytond.server: Inicialização distribuída serviços de objetos
[Wed 14 de janeiro 11:01:20 2015] INFO: trytond.server: a partir protocolo JSON-RPC * em: 8000

  Usar o argumento --logconf para gravar o arquivo de log.


Para verificar se o serviço foi iniciado use o comando lsof que é utilizado para mostrar os arquivos que estão abertos no sistema. Vamos verificar se o servidor Tryton está em execução e escutando na porta 8000.

$ lsof -i :8000


Instalação do Cliente Tryton

editar


  Não instale o cliente como usuário gnuhealth, que deve ser responsável ​​apenas por executar o servidor.

Método Padrão

editar

FreeBSD, GNU/Linux e outros *NIX

editar

Faça o download e extraia o cliente Tryton a partir do site oficial aqui

Instalar dependências Python:

pip2 install --user python-dateutil

Descompacte o arquivo tar cliente:

tar -xzvf tryton-3.8.8.tar.gz

Excute o cliente:

cd tryton-3.8.8/bin
./tryton

Microsoft Windows

editar

Baixar o cliente Tryton aqui.

Siga as instruções.

Método Alternativo (PIP)

editar

Nota: Existem alguns problemas com a instalação local do cliente Tryton e PIP. Recomendamos a utilização do método padrão. A seguir estão as instruções sobre como instalar todo o sistema cliente (sem a opção --user).

pip install "tryton>=3.8,<3.9"

Se você tem um cliente Tryton mais antigo (instalado com PIP), você pode atualizá-lo para a versão mais recente com o seguinte comando:

pip install --upgrade tryton

O seguinte comando irá inicializar seu cliente tryton

tryton

Método Alternativo (Pacotes do Sistema)

editar

Em vez da fonte, como descrito acima, você pode instalar o cliente Tryton a partir de pacotes pré-compilados. O Debian e openSUSE oferecem pacotes que podem ser instalados com o seu gerenciador de pacotes do sistema.

Configurando a Tabela de Posição do Cliente Tryton para GNU Health

editar
 
Setting the tabs position

Antes de iniciar a instalação do banco de dados, é necessário definir a posição de guias para estar no "Top". Isto produzirá uma navegação otimizada.

A seguinte ação no cliente Tryton vai defini-lo: Options → Form → Tabs Position → Top.

Por fim, salve as preferências do cliente Options → Save Options.

Criando o banco de dados GNU Health

editar
 
Tela de login

O primeiro passo é criar um banco de dados que irá armazenar todas as informações para o seu sistema GNU Health.

Todas as informações GNU Health são armazenadas em um banco de dados PostgreSQL e processados ​​pelo kernel Tryton. Nenhuma ação é necessária no nível do sistema operacional para criar ou gerenciar o banco de dados, jé que tudo pode ser feito através do frontend Tryton/GNU Health.

Para criar um banco de dados, abra o seu cliente Tryton. Uma janela de login pop-up será apresentada como a seguir:

Clique em Manage profiles, em seguida, clique em Add. Dê um nome para sua nova conexão no lado esquerdo e preencha os campos no lado direito. Se você estiver fazendo a instalação na mesma máquina, escolha localhost como o nome da máquina. Exemplo:

 
Perfil de conxeão

Clique no botão Create e o seguinte pop-up será exibido:

 
Criar base de dados

A senha padrão do servidor Tryton admin (você pode alterá-la mais tarde). Dê um nome ao seu banco de dados e introduza uma nova senha de administrador duas vezes.

Nota: esta será a senha do super-usuário para o novo banco de dados, então use uma senha forte quando se tratar de servidores de produção.

Verifique no log do servidor (ou console) se ocorrer algum erro. Se isso acontecer, tente resolver o problema (está faltando algum módulo Python ou algumas dependências não foram satisfeitas), faça um drop no banco de dados recém-criado e repita o procedimento.

Após o banco de dados ser criado, clique em OK. Agora você está pronto para entrar!

Autenticação no aplicativo

editar

Agora que você está de volta na tela de login irá notar que o perfil selecionado é o que você acabou de criar. Preencha o formulário de login:

  • Nome de usuário: o que você usou anteriormente normalmente admin
  • Senha: a que você digitou duas vezes na seção anterior

Instalação dos módulos padrão

editar

Deste ponto em diante, você vai usar o cliente para quase todos os processos. Comece com a instalação da funcionalidade básica:

  1. Depois de criar o banco de dados, o sistema irá pedir-lhe para criar alguns novos usuários. Você pode pular este passo agora.
  2. É apresentada uma lista de módulos que irão fornecer a funcionalidade que você deseja. Se você não ver a janela Modules, navegue até ela no lado esquerdo: Administration → Modules → Modules.
  3. Selecione o módulo health_profile e clique em Marcar para instalação:
     

  4. Clique no ícone Action (botão quadrado azul) e selecione Perform Pending Installation/Upgrade:

     

  5. Tryton irá selecionar automaticamente todos os módulos dependentes necessárias para a instalação:

     

  6. Clique em Start Upgrade. Este processo vai demorar um pouco dependendo do computador onde GNU Health está sendo instalado. Uma vez feito isso, a seguinte mensagem aparece:

     

Criando uma Empresa

editar

A próxima coisa que você precisa fazer é criar a empresa inicial, que será o seu centro de saúde. Será apresentado um assistente para criá-la.

 
Criar empresa inicial

Pressione F3 para criar a nova empresa.

Nota: No formulário do partido certifique-se de definir o atributo instituição. Você vai conectar esta empresa a sua instituição de saúde principal mais tarde. Por favor, consulte a captura de tela fornecida nesta seção para obter detalhes.

 
Configuração inicial. Criando a principal empresa associada ao partido (instituição de saúde)

Desativando usuários de demonstração em ambientes de produção

editar


  Por razões de segurança, desative usuários demo em ambientes de produção.


O GNU Health vem com um conjunto de usuários pré-definidos para fins de demonstração. Todos eles têm o sufixo "demo_" (demo_doctor, demo_front_desk, demo_nurse, etc.).

Por favor, desative-os em ambientes de produção.

Para desativar os usuários siga o seguinte caminho: Administration -> Users -> Users

 
Desativação de usuários de demonstração em ambientes de produção

Em filtros, você pode escolher nome de login: demo_

Desmarque a opção "active" de cada um deles. Os usuários demonstrativos serão desativados no seu ambiente.

Olhe para a imagem fornecida ao para mais detalhes.

Parabéns! Você concluiu a instalação inicial do GNU Health. No próximo capítulo, discutiremos como adicionar funcionalidade através da instalação de módulos adicionais.