ScadaBR no Ubuntu Server 10.10 x64

Olá pessoal.

Descobri recentemente o ScadaBR e me interessei bastante pelo software.

Usando o installer consegui instalar tranquilamente o ScadaBR no Windows 7 x64, mas estou tendo dificuldades para instalá-lo no meu servidor, um Ubuntu Server 10.10 x64.

Alguém possui um tutorial passo a passo para essa instalação? Em caso negativo, talvez alguém possa me ajudar com minhas dúvidas:

  1. O ScadaBR roda com o openJDK? Ou tem que ser o da Sun?
  2. O software java deve ser 64 ou 32 bits?
  3. Ele roda no tomcat6? O tomcat6 está nos repositórios do Ubuntu, mas a versão mais recente, a 7, ainda não. De qualquer modo, creio que consegui instalar ambas as versões.
  4. A variável JAVA_HOME deve ser declarada dentro da pasta de um usário? Não há como declará-la globalmente?
  5. Esse mesmo usuário deve iniciar o Tomcat a cada boot? Como fazer para o sistema funcionar sem que ninguém esteja logado?
  6. Li algo a respeito de permissões, pois seria o usuário tomcat a executar o sistema. Alguém sabe esclarecer isso?

Segui estritamente o passo a passo descrito no manual e não funcionou, essas são possíveis fontes de erro que consegui levantar.

Qualquer ajuda é benvinda!

Obrigado,

Rodrigo Martinho.

Caso alguém possa ajudar, fornecerei quaisquer dados necessários, como arquivos de configuração e logs, e me comprometo a criar um passo a passo mais detalhado do que o do manual para disponibilizar aqui na comunidade.

Rodrigo Martinho

Olá Rodrigo,

justamente esta semana estamos lançando um novo pacote Linux, que deve sair ali pela 5a feira. Mesmo assim vamos lá

  1. pessoalmente não testei com OpenJDK mas deve funcionar sim. “Maaas” recomendamos o da Oracle(sun) pois é o que utilizamos no desenvolvimento. :slight_smile:

  2. Normalmente recomenda-se que o Java deve ser o mesmo do seu sistema operacional, não é o nosso software que define isso. Portanto, Java 64 no Linux 64 é sempre uma boa pedida. Se já rodas o Java 32 pode fazer uso dele. O único porém é que se for utilizar a porta serial, precisa usar um driver binário chamado RXTX, por ser binário é interessante que tudo siga junto (sistema 64, java 64, rxtx 64) para não ter que configurar compatibilidade de libs ou, fazer chroot´s etc.

  3. Sim é para o Tomcat 6.

  4. na maioria das distribuições para configurar algo globalmente. se faz no script rc.local - como são muitas distribuições Linux diferentes, é melhor procurar a documentação do teu próprio ubuntu. Mas tem uma dica que seria editar o próprio script de inicialização do tomcat (provavelmente em /etc/init.d/tomcat6), você pode colocar logo no início uma linha similar a essa:
    export JAVA_HOME=/diretorio/do/seu/java

  5. primeiro veja, se você instalou com APT ou synaptics ou outro gerenciador de pacotes, se o tomcat por acaso já não está rodando sozinho. Reboote a máquina e acesse http://localhost:8080 para ver se tem algo lá. Bom, se não estiver rodando automaticamente ainda, já que tem um script para iniciar que é o /etc/init.d/tomcat6, então o melhor é fazer um link simbólico para ele dentro das pastas de inicialização dos runlevels. Como root dá pra fazer com esses comandos:
    ln -s /etc/rc5.d/S99tomcat6 /etc/init.d/tomcat6
    chmod a+x /etc/rc5.d/tomcat6

vale a pena estudar como funcionam os serviços no linux, isso vai te ajudar futuramente com oturas coisas como mysql ou drivers que precisem ser inicializados separadamente.

aqui tem um link alternativo onde encontrei agora outra forma de definir as variaveis e inicializar automaticamente com comando update-rc.d, que vai causar o mesmo efeito da sequencia acima:
http://www.vivaolinux.com.br/topico/Java/Apache-Tomcat-6-no-Ubuntu-9.04

  1. sobre as permissões, você pode precisar mudar a configuração da própria pasta do tomcat para o usuário tomcat, se não for default do teu gerenciador de pacote. ainda como root faça:
    chown tomcat /opt/tomcat6

Outros) por favor não mude o nome da pasta /webapps/ScadaBR, o mais correto seria apenas copiar o ScadaBR.war para dentro do webapps. Outra coisa importantíssima, dependendo do pacote que vc baixar, pode estar apontando para a base de dados em um caminho errado, pois já aconteceu isso anteriormente com alguns usuários. Nesse caso vai aparecer um erro tipo “cannot find resource” ao abrir no navegador. A definição da base, dentro do diretório do tomcat, se encontra em webapps/ScadaBR/WEB-INF/classes/env.properties
por favor edite esse arquivo, e na seção banco de dados, deixe para Derby e o restante tudo em branco, assim ele vai assumir o padrão e criar uma base de dados nova. Depois de rodar o “basicão” que é fazer o ScadaBR pelo menos rodar, vc pode experimentar variações de base de dados e caminho de conexão conforme sua necessidade. A seção da base no arquivo env.properties ficaria assim:

db.type=derby
db.url=
db.username=
db.password=

Rodrigo, digitei essas respostas assim meio “de cabeça” pois não estou no meu Ubuntu nesse momento, então pode ter algum detalhe que passou em branco, mas por favor faça esses testes. Em caso de problemas normalmente são coisas simples de Linux ou Tomcat que vc poderá encontrar nos tutoriais desses softwares na web. O que mais vai ajudar a gente é você acessar o ScadaBR depois de instalado, e dizer o que aparece no navegador mesmo (http://localhost:8080/ScadaBR) - nos passe aqui no fórum se é “Server Not Found”, “cannot load resource”, ou alguma exceção do Java. Se no meio do caminho encontrar alguma coisa estranha, poste aqui também :slight_smile:

Se vc puder testar nos próximos 2 ou 3 dias, por favor nos responda que vamos incluir as informações exatas no passo-a-passo oficial.

grande abraço, desejamos um bom trabalho!
Victor

Olá Vitor, muito obrigado pela resposta.

Estou com outros problemas no meu servidor que estou tentando solucionar agora, mas entre hoje a noite e amanhã farei os novo testes e postarei aqui os resultados.

Ainda assim, pelo o que lembro dos últimos testes (já formatei o servidor e não posso entrar novamente para ver):

Tanto o Tomcat6, instalado dos repositórios, quanto o Tomcat7, instalado manualmente, funcionaram. Entrando em localhost:8080, o Tomcat6 mostrava uma página bem simples, só com “It works” e algum texto. O Tomcat7 mostrava uma página igual ou similar à página mostrada na minha instalação do Windows, com o logo do Tomcat e links para os exemplos.

Em nenhuma tentativa eu mudei o nome da pasta “webapps” e fiz como manda o tutorial, apenas copiei o .war para dentro desta pasta.

O mais importante, qual foi o erro, não me lembro se foi “Server not found” ou “cannot load resource”.

Quanto ao banco de dados, já tinha também tentado a edição do “env.properties”.

O que me lembro é isso, mais tarde postarei informações mais precisas.

Atenciosamente,

Rodrigo Martinho.

Olá Rodrigo,

Eu sou um dos desenvolvedores do ScadaBR e recentemente instalei o ScadaBR em máquinas com o Ubuntu Server, em uma a versão 10.10 x86_64 e na outra a versão 10.04 x86 LTS.

Em ambos casos eu fiz uma instalação do sistema operacional a partir do zero, então adapte o que segue à sua situação, por favor.

Em minha estação de trabalho uso o Slackware Linux, nessa distribuição as coisas não são tão automáticas. Então, eu segui a filosofia dessa distribuição na instalação dos servidores Ubuntu.

A primeira coisa que fiz após a instalação foi habilitar o usuário root. É bastante fácil fazer isso e existem diversos posts na internet de como fazer, um deles é esse aqui:
http://www.vivaolinux.com.br/dica/Ativando-a-conta-root-no-Ubuntu

A principal idéia de usar o root é para não ter que digitar a senha do usuário toda vez que eu editar um arquivo de configuração ou instalar um pacote novo. Lembro que não é interessante operar o sistema usando o root, assim você pode danificar seu sistema.

Recomendo, após a habilitação da senha de root, instalar um pacote chamado openssh-server (ou nome parecido), para você poder acessar seu servidor remotamente. Faça um:

apt-cache search openssh

Procure na lista de pacotes o nome correto do openssh-server e faça um

apt-get install

Depois, como usuário normal, fiz o download dos pacotes do Apache Tomcat 6 e psi-probe (opcional). Seguindo a mesma idéia de minha estação de trabalho, peguei o arquivo chamado apache-tomcat-6.0.32.zip (ou apache-tomcat-6.0.32.tar.gz ou apache-tomcat-6.0.32.tar.bz2, pegue o arquivo na extensão que você estiver mais acostumado a usar).

O psi-probe é um fork do Lambda Probe e serve para monitorar e gerenciar o servidor de aplicações (tomcat), instalar e remover aplicações, e outras coisas. Não é fundamental, mas eu recomendo o uso. Também é open-source e pode ser obtido de:
http://code.google.com/p/psi-probe/

JDK
Após a instalação do sistema operacional você deve precisa instalar uma JDK. Eu não tenho nada contra a OpenJDK, mas sempre utilizei a JDK da Sun (Oracle agora). Para instalar essa JDK no Ubuntu Server você pode seguir esse blog aqui:

RXTX
Para utilizar portas seriais em aplicações Java é necessário ter instalado no sistema um binário chamado RXTX. A versão do RXTX necessário para sistemas Linux 64-bits é a 2.2-pre. É um tanto não-intuitivo achar isso no site deles, mas que ainda é a melhor referência para essa biblioteca:
http://rxtx.qbang.org/wiki/index.php/Main_Page

Um link direto para download do RXTX 2.2-pre é:
http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip

A instalação é bastante simples, basta copiar um arquivo para uma pasta e outro para outra, existe um documento de texto chamado INSTALL que orienta como fazer isso.

Tomcat 6
Como em seu usuário local você já baixou o tomcat6, sugiro que você faça o seguinte:

  1. mude para o usuário root, digitando:
    $ su -

  2. vá para o diretório onde você deseja instalar o tomcat. Nos servidores que fiz, instalei em /usr/local. Assim:

cd /usr/local

  1. copie o pacote do tomcat para o diretório de instalação:

cp /home//apache-tomcat-6.0.32.zip .

  1. vale a pena neste ponto instalar o pacote unzip:

apt-get install unzip

  1. descompacte e renomeie o tomcat:

unzip apache-tomcat-6.0.32.zip

mv apache-tomcat-6.0.32 tomcat

  1. altere as permissões de execução dos arquivos de inicialização e parada do tomcat. Também é necessário adicionar permissão de execução ao script catalina.sh, assim:

chmod 755 /usr/local/tomcat/bin/startup.sh

chmod 755 /usr/local/tomcat/bin/shutdown.sh

chmod 755 /usr/local/tomcat/bin/catalina.sh

  1. se for utilizar o psi-probe (recomendável) deve-se editar o arquivo /usr/local/tomcat/conf/tomcat-users.xml, descomentar o trecho comentado, adicionar uma tag chamada:

e adicionar esse role name a um dos usuários, como por exemplo:

Finalmente, descompacte o arquivo do psi-probe baixado anteriormente
$ unzip /home//probe-2.1.2.zip

e copie o arquivo baixado para a pasta webapps do tomcat:

cp /home//probe-2.1.2/probe.war /usr/local/tomcat/webapps

  1. edite o arquivo /etc/rc.local para iniciar o tomcat na inicialização do servidor, nesse arquivo inclua as seguintes linhas:

export JAVA_HOME=

/usr/local/tomcat/bin/startup.sh

Se tudo deu certo, você pode reiniciar o servidor neste ponto e automaticamente o tomcat estará rodando, com a JDK da Oracle e RXTX instalado.

Após reinício do servidor, logue como root e descubra qual o IP dele e depois faça o log out por segurança:

ifconfig

exit

De outra máquina, acesse:
http://:8080/probe

Se tudo deu certo, você pode acessar a aplicação com o usuário tomcat e senha tomcat (ou qualquer outras credenciais definidas) e navegar pelos menus para saber o que o psi-probe faz.

Baixe o ScadaBR de:
http://sourceforge.net/projects/scadabr/files/Software/WAR/ScadaBR_0.8.1.war/download

No psi-probe, vá em ‘Deployment’ selecione o arquivo baixado e defina o contexto como /ScadaBR (ou será utilizado o nome do arquivo .war ScadaBR_0.8.1)

Bem, basicamente é isso!

Qualquer coisa, não hesite em perguntar!

Um abraço,
gtl

Olá gtl e Vitor, mais uma vez obrigado pela ajuda.

Segue o passo a passo que segui para a instalação. Ela foi feita em sistema novo (Ubuntu Server 10.10 x64), recém instalado e apenas com o ssh, as atualizações mais recentes e a definição da senha de root.

  1. Logar como root (ou “sudo su”).

  2. Instalar OpenJDK:
    apt-get install openjdk-6-jdk
    A versão instalada é a x64.

  3. Declarar globalmente variável $JAVA_HOME:
    pico /etc/profile
    export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    Aqui ficou a dúvida. Pelo que li, o “/etc/profile” é o local correto para a declaração de variáveis globais, não o “/etc/rc.local”. Por favor me corrijam se isto estiver errado. Mas, ao logar com qualquer usuário, “echo $JAVA_HOME” devolve a rota declarada. Também tenho dúvidas se “/usr/lib/jvm/java-6-openjdk” é a rota correta, ou se deve ser alguma pasta dentro desta.

  4. Instalar Apache Tomcat6:
    apt-get install tomcat6
    Para testar, entrar no browser em localhost:8080 (192.168.0.100:8080 no meu caso). Funcionou, aparecendo a tela simples, sem imagens, que citei na primeira mensagem. Funcionou sem reiniciar e sem mudar qualquer permissão. Como você sugere o psi-probe para administração, não instalei os “extras” (tomcat6-docs, tomcat6-exemples e tomcat6-admin)

  5. Instalar Psi-probe:
    Baixei do site citado, mas na sua resposta parece que você esqueceu de incluir algumas linhas relativas à criação de usuários. Eu já tinha lido a documentação do Tomcat, e procurei os roles para o psi-probe. Criei então o usuário admin, com os 5 roles (manager, admin, probuser, poweruser e poweruserplus). Para tal, editei “/etc/tomcat6/tomcat-users.xml” e inseri as linhas necessárias. Copiei o probe.war para a pasta “webapps”. Entrei em 192.168.0.100:8080/probe e consegui logar.

  6. Reboot:
    Reiniciei para ver se o Tomcat funcionaria sem nenhum usuário logado. Funcionou. Apenas não achei o botão de “logout” do probe. Após o boot, o probe entrou sem pedir senha.

  7. Instalar RXTX: de acordo com o gtl e a página de instalação do RXTX (http://rxtx.qbang.org/wiki/index.php/Installation_on_Linux), usando o pacote de binários (rxtx-2.2pre2-bins) basta copiar os dois arquivos da pasta “x86_64-unknown-linux-gnu” para “$JAVA_HOME/lib/i386”. Porém, no pacote baixado só consta o arquivo serial nesta pasta. O arquivo parallel está faltando. E a pasta i386 também não existe. Como a princípio farei testes apenas com data sources virtuais, pulei esta etapa por enquanto. Se possível, por favor esclareçam estes pontos.

  8. Instalar ScadaBR:
    Baixei a versão que você recomendou e renomeei para ScadaBR.war. Entrei em Deployment, selecionei o arquivo e cliquei em “deploy”. Não funcionou. O mesmo erro de antes aconteceu:

HTTP Status 404 -
type Status report
message
description The requested resource () is not available.
Apache Tomcat/6.0.28

Vitor, não tive tempo de ler os links que você passou. mais tarde pretendo vê-los.

Mas espero que este passo a passo possa ajudar vocês a me ajudar! =)

Se não for um grande abuso, e for do interesse de vocês, segue o link para vocês entrarem no meu sistema e verem no Psi-probe o que pode estar errado.
rodrigomartinho.dyndns.org:8080/probe
usuário:admin
senha:admin

Sei que não é seguro passar a senha assim, mas meu sistema está em testes ainda, em fase de instalação. Se algum espírito de porco quiser bagunçar as coisas eu posso reinstalar facilmente. E minha conexão ssh está protegida. Não permite o login do root e todas as senhas são fortes.

Muito obrigado pela atenção e ajuda!

Rodrigo.

Respondi acima do meu post anterior. Movi para baixo.

Tinha esquecido de ver as propriedades do banco de dados. Nessa versão que baixei realmente estava para mysql. Comentei as linhas do mysql, descomentei as do Derby, deixei tudo em branco depois do sinal “=”. Reiniciei o micro e o erro foi exatamente o mesmo.

Olá pessoal, alguma novidade?

oi Rodrigo,

atrasamos um pouquinho pois já queremos ter o builder também funcionando, se tudo der certo vai ser lançado até 3a ou 4a, com tutorial passo-a-passo corrigido.

me faz um favor enquanto isso, passa o arquivo “catalina.out” que fica nos logs do Tomcat para o contato@scadabr.com.br para dar uma olhada. não consegui identificar o problema no teu caso específico.

abraço
victor

Oi Vitor, tentei enviar o email, mas recebi esse erro:

Mensagem gerada automaticamente pelo servidor de e-mail.

Sua mensagem nao pode ser entregue para um ou mais destinatários.

Para maiores informações, favor enviar email para
suporte@oletelecom.com.br incluindo a mensagem de erro abaixo:

contato@scadabr.com.br: mail for scadabr.com.br loops back to myself

Valeu a força!

Rodrigo,

Por algum motivo o tomcat6 baixado através do apt-get não está funcionando.

Baixe do site : http://linorg.usp.br/apache/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz

Os scripts de start/stop dele estão na pasta tomcat/bin/…

Basta colocar o ScadaBR.war dentro da pasta webapps e digitar na linha de comando : ./startup.sh localizado dentro da pasta bin que está situada na pasta principal do tomcat

Continue usando os outros passos que estava usando e mude somente esse do Tomcat.

Por favor, nos dê uma resposta de como foi a sua tentativa.

Estamos finalizando o Tutorial oficial de instalação no Ubuntu 10.10

Boa sorte =)

Olá Baggio, obrigado pela resposta.

Farei a tentativa agora e ao terminar posto os resultados aqui.

Funcionou!

Mas agora o sistema só funciona se eu der o startup manualmente. Mas para isso basta eu mandar rodar o startup.sh no boot, correto?

Muito obrigado aos 3 (Vitor, gtl e Baggio) pela atenção e paciência.

Vou redigir novamente meu tutorial com a instalação manual do Tomcat e postarei logo mais. Espero que algo possa ser aproveitado por vocês para o tutorial oficial.

Atenciosamente,

Rodrigo.

Legal =)

Exatamente cara, você pode ir olhando na internet em como fazer isso ou esperar mais uns minutinhos que está saindo o tutorial e ensina como fazer isso :slight_smile:

Abração,

Meu tutorial corrigido para a instalação do ScadaBR no Ubuntu Server 10.10 x64 com o Open JDK instalado dos repositórios e o Tomcat 6.0.32 não instalado dos repositórios, mas da versão baixada de um dos mirrors do Tomcat.

  1. Logar como root (ou “sudo su”).

  2. Instalar OpenJDK:

apt-get install openjdk-6-jdk

Declarar variável $JAVA_HOME globalmente:
pico /etc/profile

Inserir a linha:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

Reiniciar.

Confirmar a instalação:
java -version
echo $JAVA_HOME

  1. Instalar Apache Tomcat6:

Baixar de:
linorg.usp.br/apache/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz

Mova o arquivo para a pasta onde deseja instalar o Tomcat. No meu caso, baixei o arquivo para a pasta /tmp e escolhi instalar em /usr/share:

mv /tmp/apache-tomcat-6.0.32.tar.gz /usr/share

Descompactar o arquivo do Tomcat:
tar -vzxf /usr/share/apache-tomcat-6.0.32.tar.gz

Acertar as permissões dos scripts de startup e de shutdown do Tomcat, assim como do script catalina:
chmod 755 /usr/share/apache-tomcat-6.0.32/bin/startup.sh
chmod 755 /usr/share/apache-tomcat-6.0.32/bin/shutdown.sh
chmod 755 /usr/share/apache-tomcat-6.0.32/bin/catalina.sh

Para entrar na página de administração do Psi-probe, que será instalado a seguir, é necessário definir os “roles” e usuários:
pico /usr/share/apache-tomcat-6.0.32/conf/tomcat-users.xml

Definir cinco roles, “manager” e “admin”, para o Tomcat, e “probeuser”, “poweruser” e “poweruserplus” para o Psi-probe. Definir também um usuário que recebe todos os roles:






Não sei porque mas as linhas onde declaro os “roles” e os usuários não estão aparecendo aqui! Mas quando mando editar o post elas estão lá.

Criar script para iniciar a cada boot:

Crie um documento de texto dentro da pasta etc/init.d:
pico /etc/init.d/tomcat6

Coloque no arquivo:
#!/bin/bash
bash /usr/share/apache-tomcat-6.0.32/bin/startup.sh

Dar permissões de excução:
chmod 755 /etc/init.d/tomcat6

Atualizar rc.d:
update-rc.d tomcat6 defaults

  1. Instalar Psi-probe:

Baixar o Psi-probe de:
psi-probe.googlecode.com/files/probe-2.1.2.zip

Descompacte o zip e mova o arquivo “probe.war” para a pasta webapps do Tomcat:
mv /tmp/probe.war /usr/share/apache-tomcat-6.0.32/webapps

Reiniciar Apache Tomcat:
bash /usr/share/apache-tomcat-6.0.32/bin/shutdown.sh
bash /usr/share/apache-tomcat-6.0.32/bin/startup.sh

Entrar em “localhost:8080/probe” para testar. Para logar, use o usuário e senha previamente definidos. Neste exemplo:
• usuário: admin
• senha: admin

  1. Instalar ScadaBR:

Baixar de:
sourceforge.net/projects/scadabr/files/Software/WAR/ScadaBR_0.8.1.war/download

Renomeie o arquivo para ScadaBR.war.

Como instalei o Psi-probe, basta entrar em deployment e escolher o arquivo ScadaBR.war.

Entrar em localhost:8080/ScadaBR
• user: admin
• senha: admin

Funcionou!

Comentários:
Este tutorial seria o que eu faria se fosse instalar o sistema do zero. Como eu já tinha tentado várias vezes, só precisei desintalar o Tomcat dos repositórios e reinstalar a versão sugerida. Interessante que se agora eu executo:
echo $JAVA_HOME
Aparece uma linha em banco, e não a rota que eu já havia previamente definido. mas o sistema está funcionando. É realmente necessária a definição desta variável?

Atenciosamente,

Rodrigo Martinho.

Grande expectativa para o lançamento da versão 0.8 para Linux, toda hora e em todo lugar que estou procuro um PC para entrar na net e ver se já saiu. kkk, pior que é verdade, eu ia montar um tutorial para Linux para ajudar, tb uso o Ubuntu 10.10 64bits, mas vi que já tem mais gente que entende mais de linux do que fazendo isso, se eu puder ajudar em algo, estou aqui!

Abraço e Bom trabalho para a equipe.

Olá, o ScadaBR.war da página Downloads já é a versão nova? Senão, será que vai dar tempo de ser lançado hoje ainda? De qualquer forma, bom trabalho para vcs! Abraço

Já é a nova versão !

Qualquer dúvida dê uma olhada na seção de Documentos na página de Downloads.

Valeu,

Galera,

A nova versão - ScadaBR 0.8.6 - já está disponível na seção de Downloads.

OBS : Somente o War é atualizado. O instalador para Win32 ainda não está atualizado.

Qualquer dúvida dêem uma olhada na seção de Documentos na página de Downloads ou perguntem aqui no fórum.

No decorrer da semana terá um lançamento Oficial da versão 0.8.6 na página principal do portal, como também um tutorial para o HMI Builder no Ubuntu 10.10 e a atualização do Instalador Win32.

Grande abraço,