Protheus no Linux – Parte 01

Introdução

O TOTVS Application Server ( ou Protheus Server ), bem como o DBAccess e outros produtos da TOTVS, também possuem versões para serem instaladas em Servidores e Desktops com sistema operacional Linux. Neste primeiro post, vamos ver como preparar uma VM com Ubuntu Server para instalar um TOTVS Application Server.

O Linux

Vou pular toda a parte histórica deste sistema operacional, você encontra muito material sobre isso na Wikipedia. Existem atualmente várias distribuições gratuitas e inclusive pagas de Linux, desenvolvidas para uso geral ou para cenários e ambientes específicos, versões “Server” — para servidores dedicados de aplicações — e versões “Desktop” — para uso diário de aplicativos com interface gráfica e janelas, entre outras para uso embarcado em dispositivos, etc.

Estreitando o leque de aplicações para os produtos TOTVS Application Server e TOTVS SmartClient, existem versões e distribuições de Linux homologadas para uso destas aplicações. Como cada distribuição possui versões diferentes e alguns comportamentos distintos, atualmente apenas versões de Linux “Server” são homologadas para o Protheus Server, e versões Desktop são homologadas para uso do SmartClient. A lista de distribuições e versões homologadas está na TDN, atualmente no link http://tdn.totvs.com/display/tec/Plataforma+homologada+dos+produtos

Ubuntu Server

O Ubuntu Linux é uma distribuição muito conhecida do Linux, derivada do Debian Linux, muito prática para instalação e atualização de softwares através do administrador de pacotes “apt-get”. Bem documentada, mantida por uma grande comunidade, possui versões Desktop e Server. Embora (até o momento) nenhuma distribuição Ubuntu esteja oficialmente homologada para uso do TOTVS Application Server, é muito simples criar um ambiente de testes ou desenvolvimento nesta plataforma.

Nada impede o uso desta plataforma em um ambiente de produção, porém como não foi realizado nenhum procedimento de homologação oficial da TOTVS neste sistema operacional, em caso de problema técnico de uma instalação nesta plataforma, não há suporte.

Criando a VM

Peguei uma ISO do Ubuntu Server no site oficial do Ubuntu, especificamente a versão “Ubuntu Server 14.04.4 64 Bits”. ( arquivo “ubuntu-14.04.4-server-amd64.iso”, disponível em http://releases.ubuntu.com/trusty/ ) . Criei uma VM usando um VMWare Player (versão gratuita para fins não-comerciais), com 32 GB de disco, 2 GB de RAM, 2 Cores, e uma interface de rede “Bridged — para a minha VM ter acesso a Internet.

VM Details

Instalando o Ubuntu Server 64

Inicialmente, você baixa a ISO de instalação no seu HD, e configura o Drive de CD da VM para iniciar com o disco montado. Ao iniciar a VM, aparece a tela de seleção de idioma de interface. O Ubuntu já tem a portabilidade para português do Brasil, eu particularmente gosto de usar o S.O. em Inglês mesmo.

Após escolher o idioma pressionando <enter>, será mostrada a tela inicial de setup. Para escolher a instalação mínima de sistema, pressione F4. Será mostrado um pop-up com algumas opções, selecione com as setas a opção “Install a minimal system”, pressione Enter para confirmar a escolha. Feito isso, pressione <Enter> novamente para iniciar a instalação do Ubuntu Server. Escolha agora o idioma de instalação (English, please…)

Na próxima tela, informe onde você está. Vamos informar que estamos no Brasil mesmo. Selecionamos “Other” na escolha de território. Na tela seguinte, escolhemos “South América” … E, finalmente, “Brazil”. Na configuração de “Locale”, pode deixar United States mesmo. Agora o instalador pergunta se você quer detectar o modelo do seu teclado mediante alguns testes de teclas, ou se você quer escolher o modelo por uma lista. Recomendo usar o assistente, é bem simples. Após escolher o teclado, será executada uma etapa preparatória rápida, e em seguida será perguntado o nome no host para esta máquina. Eu chamei a minha de “ubuntu14” mesmo.

Depois, é perguntado o nome completo do usuário da máquina. Na sequência, é perguntado o nome desse usuário para identificá-lo no sistema operacional. No meu caso, “siga0984”. E, na sequência, é solicitada uma senha e confirmação de senha para o usuário criado. Na próxima tela, o instalador pergunta se você quer criptografar a sua pasta “home”. Estamos fazendo uma VM de servidor … não precisa criptogtafar a “home”. Agora, o instalador tenta pegar a data e hora atuais na Internet, e determinar sua localização. Normalmente ele acerta, basta confirmar onde você está (Time Zone) . E, na última parte, vêm o setup do disco. Vamos pra opção mais simples, “Guided – Use entire disk”.

Na sequência, o instalador mostra as escolhas realizadas para a partição de disco. Como a nossa VM têm apenas um HD virtual, basta selecioná-lo. E, na sequência, na próxima tela, o Linux já sugere as configurações finais, basta selecionar <Ok> e prosseguir. Ao confirmar esta etapa, começa efetivamente a instalação do Ubuntu Server. Após a cópia de alguns arquivos, o Ubuntu pergunta se você está usando Proxy, para configurar o “Package Manager” – através dele podemos atualizar de forma muito fácil o sistema operacional. Se vão está sendo usado nenhum proxy, deixamos o campo em branco e apenas teclamos <enter> para continuar.

Após um ou dois minutos configurando os pacotes e instalando o sistema, o instalador pergunta se você quer manter a sua instância atualizada automaticamente. Normalmente eu escolho “não”. Eu atualizo minha VM quando eu precisar ou quiser uma atualização. E, finalmente, a tela que todos esperamos: O que nós queremos de Software na nossa instalação ? Bem, para usar o Protheus e ter um acesso legal na VM, não precisamos mais do que as duas primeiras opções. Selecione-as com as setas e pressione a barra de espaços para marcar ou desmarcar.

A última pergunta é se você quer instalar o gerenciador de boot ( GRUB loader ) na sua VM … bem, eu nunca deixei de instalar, mas não deve fazer diferença alguma para um ambiente de testes virtualizado. E, em poucos instantes, o instalador informa que está tudo pronto, e você pode reiniciar a máquina ! Basta pressionar <enter> para continuar. Após a VM reiniciada, o boot já foi feito pelo HD da VM, e o Ubuntu pergunta pelo seu usuário. Informe o usuário que você criou na instalação, pressione <enter>, depois a senha, enter novamente. Pronto ! Bem vindo ao seu Ubuntu Server 64 bits !

Ubuntu 14 Start

Preparação do Sistema Operacional

Agora, de posse da nossa VM, vamos aplicar as atualizações de sistema operacional desde a distribuição desta versão… Para isso, digite no prompt de comando:

sudo apt-get update

Logo na execução, será perguntado novamente a senha do usuário atual. Mesmo que você já esteja logado, o comando “sudo” serve para executar uma instrução com permissões de “root” ou Super User do Linux. Logo, no primeiro uso, ele vai te pedir novamente a senha do seu usuário … Este comando vai atualizar a lista de pacotes de updates disponíveis nos sites oficiais do Ubuntu. Feito isso, execute o comando abaixo, para instalar as últimas atualizações das aplicações instaladas no seu ambiente:

sudo apt-get upgrade

Caso exista alguma versão nova a atualizar, a aplicação pergunta se você quer atualizar ou não. Digite Y e pressione ENTER para confirmar a atualização. O processo de atualização via fazer download e instalação automática dos pacotes de aplicativos do sistema operacional instalados no seu ambiente, automaticamente.

Terminada esta atualização, vamos aproveitar e instalar alguns pacotes, que serão necessários para etapas posteriores. Inicialmente, vamos instalar o “unzip”, usando o comando abaixo:

sudo apt-get install unzip

Para permitir um acesso via rede para a VM, e inclusive para usar um SFTP ( Secure FTP ) para transferir nossos arquivos e binários do Protheus para dentro da VM, precisamos saber qual é o IP dela na rede. Para isso, usamos o comando abaixo:

ifconfig

Ao ser executado, ele mostra as interfaces de rede da máquina. Uma delas deve ser a eth0, que tem um endereço IPV4 e outro IPV6. Vamos usar o IPV4, destacado em vermelho na imagem abaixo:

Ubuntu 14 ifconfig

Recomendo que você instale na sua máquina Windows um “Putty” e um “WINSCP”, para acesso via Telnet/SSH (Terminal) e acesso ao sistema de arquivos (SFTP), respectivamente. O acesso via Putty, ao invés de acessar pela janela do Host da VM, permite operações como copiar e colar texto entre o terminal da VM e a máquina Windows, você pode abrir mais de um terminal do Putty ao mesmo tempo na mesma máquina, etc… E, finalmente, para a última etapa de preparação, vamos “esticar” um pouco os limites de handles por aplicação do sistema operacional. Isto será necessário posteriormente para subir o APPServer.

Use o comando abaixo para editar o arquivo /etc/security/limits.conf:

sudo vi /etc/security/limits.conf

O editor “vi” não é muito amigável para quem está acostumado com editores visuais, mas quando a tarefa é apenas inserir duas linhas no final da tabela, não é tão difícil. Basta usar as setas para chegar ao final do arquivo, apertar a tecla [ESC], seguido da tecla I (maiúsculo, para entrar no modo de inserção de texto), e acrescentar as linhas abaixo:

* soft nofile 32768
* hard nofile 32768

Com isso, aumentamos para 32768 os limites de handles para todas as aplicações desta instalação de sistema operacional. Para salvar o arquivo, pressione ESC para acessar o prompt interno do editor, então digite a string “wq!” ( sem as aspas ) e pressione <enter>. Isto fará com que o arquivo seja salvo, com o novo conteúdo agora editado, e o editor de textos seja finalizado.

Ubuntu 14 Linuxconf

Feito isso, vamos reiniciar a VM usando o comando abaixo:

sudo reboot now

Após reiniciar a VM, confirme se o IP da VM continua o mesmo ( usando o comando ifconfig ), e faça o setup de uma conexão de terminal para a sua VM usando o Putty, e uma conexão SFTP usando o WINSCP. Ambas as conexões são SSH.

Conclusão

Nesta primeira etapa, finalizamos a criação de uma VM 64 bits com Ubuntu Server, deixando ela praticamente pronta para receber um TOTVS Application Server, um DBAccess 64 bits, um c-Tree Server 64 bits, e afins. No próximo post da sequência do Protheus em Linux, vamos abordar os detalhes da instalação de um TOTVS Application Server nesta VM 😉

Saudações a todos, desejo a vocês TERABYTES de sucesso 😀 

 

14 respostas em “Protheus no Linux – Parte 01

  1. Julio, Boa Tarde. Primeiramente parabéns pelo post. Preciso criar uma conexão onde o DBACCESS esta em um servidor Linux e preciso acessar uma base SQL Server ambiente MS. Você conseguiria me ajudar com alguma dica?

    Muito Obrigado

    Curtido por 1 pessoa

    • Olá Bruno, tudo bem ?

      Então, dê uma olhada nas notas de release do DBAccess, eu acho que dá pra fazer isso, baixando o driver Linux para MSSQL Server (ODBC), e configurando via UnixODBC ….

      Abraços e sucesso

      Curtir

    • Olá Maicon,

      Ao iniciar os processos de APPServer ou DBAccess, ambos setam um numero de handlers maior que o Default — que normalmente é muito baixo para a necessidade da aplicação. 65 mil handlers não é muito, não “dói” nada no Linux, e esse limite é alterado apenas para o ambiente onde aquele processo está sendo executado.

      Abraços

      Curtir

    • Rapaz, desculpe a demora na resposta. Não tentei ainda … pode ter algumas alterações sim, por exemplo pra instalar ou configurar a ODBC. Mas não deve ser nada impeditivo, depois nos conte sua experiência !!

      Abraços

      Curtir

  2. Estou tentando configurar um ambiente protheus utilizando MSSQL, um ERP está em uma maquina e o banco em outra… através do isql eu consigo fechar conexão utilizando odbc
    mas não consigo fechar utilizando o DBACCESS… diz que não acha a libodbc.so
    teria alguma dica, já pesquisei em vários sites e ainda não consegui resolver.

    estou utilizando ubuntu 16.04

    Curtido por 1 pessoa

    • Opa, beleza ? Se você instalou a UnixODBC, e configurou a chave clientlibrary no dbaccess.ini , verifique se por um acaso a unixodbc está com outro nome, como libodbc.so.1 ou libodbc.so.2, e altere a configuração clientlibrary do dbaccess para apontar para este arquivo 😀

      Curtir

      • Boa tarde, e beleza, obrigado pela resposta.
        Testei a ideia e forcei a lib la no dbaccess que no caso o caminho é “/usr/lib64/libodbc.so.1”, agora o odbc utiliza de outro drive para se comunicar com o sqlserver, por acaso pode está acontecendo algum tipo de conflito entre os dois drives, pois consigo fechar conexão pelo isql mas o dbaccess continua dando o mesmo erro, mesmo a lib existindo, e o caminho sendo apontado no dbaccess.ini.
        Se tiver algum exemplo de configuração poderia me mandar por favor.

        Curtido por 1 pessoa

      • Opa, vejamos … se você configurou a chave clientlibrary dentro da seção [mssql] do dbaccess.ini, e o arquivo existe, ele deveria ser encontrado e carregado. Verifique se a unixodbc que voce carregou é 32 ou 64 bits, e use um DBAccess com build (32 ou 64) compativel. Se mesmo assim der erro, mande um email pra mim ( siga0984@gmail.com ) com o dbacccess.ini e o dbconsole.log pra eu dar uma olhada 😀

        Dê uma olhada na parte 4 do Protheus no Linux, tem mais detalhes sobre os passos da UnixODBC e DBACCESS.INI — A UnixODBC está certa, senão o ISQL não funcionaria . Veja o post no link https://siga0984.wordpress.com/2016/07/18/protheus-no-linux-parte-04/

        Curtir

Deixe um comentário