04.09  
Inicio arrow Artigos arrow Roteiro de instalação do Microsiga Protheus 8 no FreeBSD e PostgreSQL 8.3
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
PC-BSD: Artigos
PC-BSD: Notícias
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • Re: [FUG-BR] IPFW e redirecionamento de portas com nat e ppp, argggg ( dúvida )
  • [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas
  • Re: [FUG-BR] Dúvida com Samba e restrições a pastas

  • Alertas em Ports
  • lftp -- multiple HTTP client download filename vulnerability
  • wget -- multiple HTTP client download filename vulnerability
  • p5-libwww -- possibility to remote servers to create file with a .(dot) character



  • Roteiro de instalação do Microsiga Protheus 8 no FreeBSD e PostgreSQL 8.3 PDF Imprimir E-mail
    Por Mathias A. Gruber   
    06/10/2008
    O roteiro a seguir tem por objetivo instalar o Microsiga Protheus8 + TopConnect versão Linux, em um servidor FreeBSD 7.0 com um banco de dados PostgreSQL 8.3.

    Considerações Iniciais

    Antes de iniciar qualquer instalação leia atentamente as advertências a seguir:

    • Esta configuração não é homologada pelo suporte Microsiga;
    • Não há como instalar o dispositivo de hardlock Aladdin HASP no FreeBSD devido a falta de um driver compatível, nem mesmo no modo de compatibilidade Linux. O driver aksusbd que opera com o HASP depende de um sistema de arquivos virtual USB do Linux chamado de usbdevfs e eu não encontrei um porte compatível no FreeBSD. Sendo assim, esta configuração é útil em um ambiente do tipo load-balancing, devido à necessidade de um outro servidor (Linux ou Windows) para alojar o dispositivo de segurança e o serviço de licenças;
    • Este roteiro não cobre a instalação do FreeBSD 7.0.
    • Este roteiro não cobre a instalação e configuração do PostgreSQL, visto que este assunto já está amplamanete abordado pela comunidade.

    Pré-requisitos

    Alguns passos importantes devem ser realizados para antes de iniciar a instalação do Protheus 8.

    Suporte a Arquivos rpm

    Utilize o ports para o suporte a arquivos rpm, instalando o pacote rpm-4.0.4_7. Não utilize o a versão 3 do rpm, pois tive sérias incompatibilidades nos testes.

    Compatibilidade Linux

    Instale os módulos de compatibilidade Linux, conforme as orientações do manual do FreeBSD. Para meu setup, utilizei o ambiente linux_base-fc-4_13. Também tenha certeza de que o módulo esteja corretamente ativado para execução durante o boot, acrescentando a seguinte linha ao arquivo /etc/rc.conf:

    linux_enable="YES"

    Os dois serviços do Microsiga necessitam do sistema de arquivos virtual /proc do Linux, que pode ser emulado pelo FreeBSD. Para isso ative os filesystems linprocfs e linsysfs, adicionando as seguintes linhas ao /etc/fstab:

    linproc        /compat/linux/proc    linprocfs    rw    0    0
    linsys         /compat/linux/sys     linsysfs     rw    0    0

    Infelizmente a implementação do módulo linprocfs está incompleta e o daemon do Protheus consulta o arquivo virtual em /proc/sys/fs/file-max para determinar o nº máximo de arquivos. Isso é facilmente contornável com a criação de um arquivo comum, mediante os seguintes comandos:

    mkdir -p /proc/sys/fs
    echo 65535 > /proc/sys/fs/file-max

    OBS: Este procedimento não é compatível com o filesystem procfs do FreeBSD: por sorte ele não vem ativado na instalação padrão e também não é necessário para o Microsiga.

    Preparação da Pasta de Instalação

    Digite os seguintes comandos:

    mkdir -p /var/lib/rpm
    mkdir -p /compat/linux/var/lib/rpm
    mkdir -p /compat/linux/microsiga
    ln -s /compat/linux/microsiga /microsiga

    Patch do CD de Instalação

    Como o script de instalação do Microsiga não possui suporte ao FreeBSD, foi necessário realizar algumas pequenas adaptações, que detalho a seguir.

    Cópia do conteúdo do CD-ROM

    Monte o CD-ROM de instalação do Microsiga Linux em /cdrom e digite os seguintes comandos para copiá-lo no seu HD.

    mount /cdrom
    mkdir -p /usr/local/distfiles/siga
    cp -R /cdrom/linux/protheus8server /usr/local/distfiles/siga/

    Edição do script de instalação

    Utilize o seu editor de textos predileto para editar o script de instalação Linux chamado /usr/local/distfiles/siga/protheus8server/install_linux:

    • Localize a seção "Variáveis Locais" na função run_rpms() que deverá conter:
    rpm_server="protheus-server-$version-$release.i386.rpm"
    rpm_protheus_data="protheus-data-$version-$release.i386.rpm"
    rpm_rpo="protheus-rpo-$db-$rpo-$version-$release.i386.rpm"
    nrpo=$rpo
    rpm_loc="protheus-systemload-$local-$version-$release.i386.rpm"
    rpm_general="protheus-systemload-general-$rpo-$version-$release.i386.rpm"

    • Acrescente a linha após a última linha do bloco citado acima:
    rpm_opts="-ivh --nodeps --ignoreos --dbpath /var/lib/rpm --root /compat/linux"
    • Agora localize cada string -ivh existente para cada comando rpm presente neste script e substitua por $rpm_opts. ficando como resultado:
    ...
    echo $text16 #"Instalando server..."
    rpm $rpm_opts $rpm_server
    ...
    echo $text17 #"Instalando dados..."
    rpm $rpm_opts $rpm_protheus_data
    ...
    echo $text18 #"Instalando RPO..."
    rpm $rpm_opts $rpm_rpo
    ...
    echo $text19 #"Instalando arquivos de localizacao de sistema..."
    rpm $rpm_opts $rpm_loc
    rpm $rpm_opts $rpm_general
    ...

    Instalação

    Protheus 8

    Rode o script modificado, digitando:

    cd /usr/local/distfiles/siga/protheus8server
    ./install_linux

    Agora você pode instalar o produto conforme a orientação do manual de instalação do Microsiga, exatamente como se procede em um Linux convencional.

    TopConnect

    Instale o TopConnect conforme a orientação do manual de instalação do Microsiga, já que vem distribuído em um tar.gz convencional. Recomendo que o mesmo seja instalado na pasta /microsiga/protheus8/bin/topconnect41, assim você poderá reaproveitar o meu script de inicialização mais facilmente.

    ODBC

    O TopConnect utiliza o ODBC para realizar a comunicação com o banco de dados. No UNIX isso é feito pela biblioteca unixODBC.

    Mas como a emulação Linux não permite intercambiar bibliotecas entre binários Linux e FreeBSD não poderemos utilizar a distribuição do ports. Então é necessário instalar a versão Linux da biblioteca unixODBC, conforme a distribuição Linux escolhida no início deste artigo. No meu caso tenho uma distro do Fedora, então utilizei a versão disponível no próprio site do projeto unixODBC, que é http://sourceforge.net/projects/unixodbc .

    Para a instalação do pacote digite:

    rpm -ivh --nodeps --ignoreos --dbpath /var/lib/rpm --root /compat/linux unixODBC-2.2.11-1.i386.rpm

    Segundo a Totvs/Microsiga a compatibilidade do TopConnect é com o PostgreSQL 7, cujo driver ODBC é denominado libpsqlodbc.so. Já as bibliotecas mais novas do ODBC mudam este nome para libodbcpsql.so. Para piorar o problema, parece-me que o daemon do TopConnect nem sempre consulta o arquivo de configuração odbc.ini para obter o nome do driver ODBC.

    Então para funcionar sem problemas é muito importante criar um link que compense essas diferenças:

    ln -s /compat/linux/usr/lib/libodbcpsql.so.1 /compat/linux/usr/lib/libpsqlodbc.so

    Finalmente, para que o ODBC funcione corretamente, é necessário colocar o arquivo de configuração .odbc.ini na pasta home do root (/root/.odbc.ini).

    Veja um exemplo de seu conteúdo a seguir:

    [ODBC Data sources ]
    teste=Ambiente de Teste

    [teste]
    Servername=localhost
    Username=pgsql
    password='md5b09f85578ae5d284db5373d205a8ff0f'
    Database=DadosAp8
    Driver=/usr/lib/libodbcpsql.so
    Port=5432
    ReadOnly=0

    Note no arquivo acima uma dica interessante: A linha password permite que você coloque o hash MD5 para o login no banco de dados, evitando expor a senha do superusuário pgsql. Obtive este hash diretamente na ferramenta pgAdmin do projeto PG.

    Considerações importantes

    O unixODBC fornece uma versão 2 do driver ODBC instalado em /compat/linux/usr/lib/libodbcpsql.so.2. Não utilize-o pois codifica os textos no formato multi-byte, que causará paralização do serviço topconnect.
    Os drivers informados no arquivo .odbc.ini referen-se para a pasta /usr/lib, que são mapeados para a camada de compatiblidade Linux internamente pelo FreeBSD (resultando em /compat/linux/usr/lib).

    Scripts de inicialização

    O passo final para a execução do TopConnect e o Protheus8 é a criação os scripts de execução dos daemons. Crie os dois scripts abaixo e lembre-se de habilitar o atributo de execução.

    /usr/local/etc/rc.d/microsiga

    #!/bin/sh
    #
    # microsiga for rc.d usage (c) 2007 Mathias A. Gruber.
    # $Id$

    # PROVIDE: microsiga
    # REQUIRE: DAEMON
    # BEFORE: LOGIN
    #
    # Add the following line to /etc/rc.conf to enable microsiga:
    #
    #  microsiga_enable="YES"

    . /etc/rc.subr

    # Set some defaults
    microsiga_enable=${microsiga_enable:-"NO"}

    # This is required for microsiga daemon
    USER=`whoami`
    export USER
    HOSTNAME=`hostname`
    export HOSTNAME

    name=microsiga
    rcvar=`set_rcvar`
    load_rc_config $name
    command=/usr/compat/linux/microsiga/protheus8/bin/server/mp8srvlinux
    command_args="DAEMON"

    run_rc_command "$1"

    Note que o script acima declara duas variáveis chamadas HOSTNAME e USER. Aqui foi onde enfrentei a maior dificuldade para fazer o Microsiga executar confiavelmente. A documentação do Microsiga não comenta nada sobre elas, embora sejam imprescindíveis para a correta execução do daemon. Mesmo em ambiente Linux a falta delas impede a correta execução do sistema, principalmente durante o boot e também quando utilizamos o método chkconfig/service/ntsysv do System V.

    O script procura seguir as convenções utilizadas para execução dos outros daemons do BSD. Sendo assim é possível iniciar, verificar e parar os serviços da forma tradicional:

    /usr/local/etc/rc.d/microsiga start
    /usr/local/etc/rc.d/microsiga status
    /usr/local/etc/rc.d/microsiga stop
    /usr/local/etc/rc.d/microsiga restart

    /usr/local/etc/rc.d/topconnect

    #!/bin/sh
    #
    # topconnect for rc.d usage (c) 2007 Mathias A. Gruber.
    # $Id$

    # PROVIDE: topconnect
    # REQUIRE: microsiga
    # BEFORE: LOGIN
    #
    # Add the following line to /etc/rc.conf to enable topconnect:
    #
    #  topconnect_enable="YES"

    . "/etc/rc.subr"

    # Set some defaults
    topconnect_enable=${topconnect_enable:-"NO"}
    name=topconnect
    rcvar=`set_rcvar`
    load_rc_config $name

    command=/usr/sbin/daemon
    command_args="-f /usr/compat/linux/microsiga/protheus8/bin/topconnect41/multi/topconnect"
    procname=/usr/compat/linux/microsiga/protheus8/bin/topconnect41/multi/topconnect

    run_rc_command "$1"

    Arquivo de Configuração

    Para que os scripts acima funcionem, devemos configurar o arquivo rc.conf corretamente, adicionando-se as seguintes linhas:

    microsiga_enable="YES"
    topconnect_enable="YES"

    Resumi abaixo todas as minhas configurações utilizadas para o rc.conf, que inclui algumas opções importantes para o initdb do PostgreSQL:

    linux_enable="YES"
    microsiga_enable="YES"
    topconnect_enable="YES"
    postgresql_enable="YES"
    postgresql_initdb_flags="--encoding=ISO8859-1 --lc-collate=pt_BR.ISO8859-1 --lc-ctype=pt_BR.ISO8859-1"

    Testes

    Se você tiver a parte gráfica instalada em seu FreeBSD, você poderá utilizar os programas que acompanham o Protheus 8 seguindo a documentação que acompanha a distro para Linux, normalmente.

    A alternativa mais comum é utilizar uma estação Windows com o TopMonitor e o Protheus Remote instalados para fazer a configuração e verificação.

    Comentários
    Show de bola!
    Por Kivanio em 13/10/2008 12:32:35
    Oha, parabéns cara, sensacional, eu mesmo já tentei fazer esta instalação e realmente o HASP é um impeditivo.
    Hard Key
    Por Fernando França em 13/10/2008 14:56:47
    Parabéns pelo tuto. 
     
    Esse hardkey ao qual você se refere é usb? 
    Tenho um aqui que ainda é db25, na porta paralela... vislumbro a possibilidade de funcionar no FreeBA.
    Re: Hard Key
    Por mgruber em 21/10/2008 11:06:59
    O hard key que temos é do modelo USB. Para o modelo de porta paralela o daemon correto é o aksparlnx. Lembro-me de ter encontrado o código fonte deste último em um dos sites ftp da Alladin. 
    Não faço idéia do grau de dificuldade para portar esse código fonte.
    Protheus 10
    Por Carol Vasquez em 12/02/2010 14:46:43
    Mathias, mudou algo neste procedimento para a versão 10 ?  
     
    Obrigada, 
     
    Carol Vasquez 
    www.Experfite.com


    Comente!*
    Nome:
    E-mail
    Homepage
    Título:
    Comentário:

    Código:* Code

    Última Atualização ( 12/10/2008 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:
    # split -b 1m grande parte
    Quebra o arquivo em partes de 1mb

    # split -b 1500k grande parte
    Quebra o arquivo em partes de 1.5mb
     






    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 24 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.