Instalador Linux
O cliente Linux permite a emissão de CF-e SAT. Através dele é possível realizar a emissão dos cupons mesmo sem comunicação com a matriz. Quando isto for realizado os documentos ficam armazenados no RabbitMQ e ao restabelecer comunicação com a matriz será realizada a persistência dos documentos no banco de dados. Segue abaixo os procedimentos para montagem do ambiente para execução do cliente em ambiente Ubuntu.
Importante
Este passo só deve ser executado caso o componente em questão não esteja instalado no computador, caso já possua o componente instalado, ou caso seja uma atualização do componente, este passo pode ser ignorado.
Execute os comandos abaixo utilizando um usuário administrador. Caso umas das dependências abaixo já estiver instalada não é necessário executar o comando.
- Supervisor
- sudo apt-get -y install supervisor
- mkdir -p /tmp/senior/ (diretório temporário onde serão armazenados arquivos da instalação)
- Instalação Erlang
- Para máquinas 32 bits: wget -r ftp://ftpedocs:T31hA4z!u*ab5x@ftp2.senior.com.br/Senior/SDE/Dependencias/esl-erlang_20.1-1_ubuntu_xenial_i386.deb -O /tmp/senior/erlang.deb
- Para máquinas 64 bits: wget -r ftp://ftpedocs:T31hA4z!u*ab5x@ftp2.senior.com.br/Senior/SDE/Dependencias/esl-erlang_20.1-1_ubuntu_xenial_amd64.deb -O /tmp/senior/erlang.deb
- sudo dpkg -i /tmp/senior/erlang.deb
- apt-get -y -f install (instalará as dependências do Erlang se existir alguma pendente)
- Instalação RabbitMQ
- wget -r ftp://ftpedocs:T31hA4z!u*ab5x@ftp2.senior.com.br/Senior/SDE/Dependencias/rabbitmq-server_3.7.0-1_all.deb -O /tmp/senior/rabbitmq.deb
- sudo dpkg -i /tmp/senior/rabbitmq.deb
- apt-get -y -f install (instalará as dependências do RabbitMQ se existir alguma pendente)
- Habilitar os plugins necessários do RabbitMQ
- sudo rabbitmq-plugins enable rabbitmq_management
- sudo rabbitmq-plugins enable rabbitmq_shovel
- Instalação Mono
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
- echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/4.6.2 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
- sudo apt-get -y update
- sudo apt-get -y install mono-complete
- apt-get -f -y install (dependências do Mono)
- rm -r /tmp/senior (remove diretório temporário para arquivos de instalação)
O produto será instalado no caminho /usr/lib/sde/Cliente. Para instalar o produto, siga os seguintes passos:
- Copie o SdeCliente.run para um diretório de sua preferência que possua acesso de gravação;
- Caso não possua permissão de execução, leitura e escrita chmod 777 SdeCliente.run.
A instalação do produto é realizada através do executável SdeCliente.run.
Através do terminal, localize a pasta onde está o executável SdeCliente.run e execute o comando:
- sudo ./SdeCliente.run
Após a instalação é necessário recarregar os serviços do Supervisor para que ele possa iniciar o serviço do sde. Isso pode ser feito com o comando:
- sudo supervisorctl reload
Tendo feito isso o supervisor passa a tomar conta da execução do serviço sde, o serviço deve sempre permanecer rodando não importando o estado da máquina.
Configurar RabbitMQ no cliente remoto
Para realizar a instalação do cliente remoto no Linux primeiramente é necessário ter o sistema eDocs instalado, seguindo os passos anteriores, para depois configurar o RabbitMQ no cliente remoto de acordo com os seguintes passos:
- Criar um usuário específico para o eDocs utilizando a interface de gerenciamento do RabbitMQ;
- Nos parâmetros do cliente remoto, localizados na pasta de instalação e denominados como SdeCliente.exe.config, configurar o usuário, a senha e o virtual host. Obrigatoriamente o virtual host precisa ser diferente de eDocs para a instalação do cliente remoto;
- Após concluir as etapas destacadas acima, é necessário reiniciar o cliente remodo do eDocs utilizando o comando supervisorctl restart sde no terminal;
- Quando reiniciado, validar que o virtual host e filas do cliente remoto foram criadas corretamente utilizando a interface de gerenciamento do RabbitMQ.
Configurar conexão com o cliente remoto no servidor
Para realizar a configuração do cliente remoto no servidor, é necessário seguir os seguintes passos:
- No caminho Configurações > Filiais > Geral > Clientes Remotos configure os dados de conexão atribuídos no config do cliente remoto;
- Realize o teste de conexão para validar que está funcionando corretamente;
- Sincronize as configurações do servidor com o cliente remoto utilizando o botão Sincronizar da tela de Clientes Remotos;
- Valide se a sincronização finalizou corretamente pela tela de processamentos na tela de Monitoramento de processamentos em segundo plano;
- Verifique se os arquivos .sde foram criados corretamente na pasta de instalação do cliente remoto.
- Baixe a cadeia de certificados no site da SEFAZ que será utilizada;
- Execute o comando para cada certificado:
- sudo certmgr -add -c -v -m Trust nomeDoCertificado.cer/nomeDoCertificado.p7b
Este procedimento deve ser realizado quando é necessário atualizar a versão do cliente, isso se faz necessário sempre que o eDocs servidor for atualizado. Para a atualização do produto não é necessário executar os passos do item Instalação das dependências.
O produto estará instalado no caminho /usr/lib/sde/Cliente. Para realizar a atualização, siga os seguintes passos:
- Copie o SdeCliente.run para um diretório de sua preferência que possua acesso de gravação;
- Caso não possua permissão de execução, leitura e escrita chmod 777 SdeCliente.run;
- Apagar arquivos .sde no caminho /usr/lib/sde/Cliente;
- Através do terminal, localize a pasta onde está o executável SdeCliente.run e execute o comando: sudo ./SdeCliente.run;
- Após a instalação é necessário recarregar os serviços do Supervisor para que ele possa iniciar o serviço do sde. Isso pode ser feito com o comando: sudo supervisorctl reload;
- Vá até o local Monitor > Configurações > Filiais > Clientes remotos, selecione o cliente atualizado e clique em Sincronizar;
- Os arquivos .sde serão recriados indicando que as configurações foram sincronizadas com o servidor e o cliente está pronto para operar novamente.
Veja também: