Embrapa Informática Agropecuária Projeto MICURA Ambiente de Desenvolvimento Java com Eclipse Guia de Instalação e Configuração Versão 1.0 12/2016 Data de criação: 12/2016 Elaboração: Alan Nakai Revisões: Alan Nakai Sumário 1 Introdução...........................................................................................................................4 2 Requisitos...........................................................................................................................4 3 Guia de Instalação..............................................................................................................4 ANEXOS A. Instalação do Java 8.........................................................................................................1 B. Instalação do Postgres e Postgis.....................................................................................1 C. Criação do banco de dados.............................................................................................1 D. Instalação e Configuração do Wildfly 10..........................................................................2 E. Instalação e Configuração do Eclipse..............................................................................3 F. Obtenção dos Fontes do Projeto......................................................................................6 G. Configuração do Acesso ao Banco de Dados no Wildfly................................................6 H. Deployment da Aplicação.................................................................................................8 I. Instalação do Geoserver....................................................................................................9 1 Introdução Este documento é um guia de instalação e configuração do ambiente de desenvolvimento Eclipse Neon, utilizando servidor Wildfly 10, para desenvolvimento do projeto MICURA (Métricas e Informações para Conservação e Uso de Recursos na Agricultura) e seus módulos. O guia é voltado para desenvolvedores com experiência em configuração de sistema operacional Ubuntu. 2 Requisitos O ambiente foi configurado em sistema operacional Linux Ubuntu 16.04 com os seguintes itens instalados e configurados apropriadamente: Proxy e demais configurações de rede; Gerenciador de pacotes APT; Subvesion (subversion). 3 Guia de Instalação A instalação do ambiente do desenvolvimento requer a execução dos passos descritos a seguir. O detalhamento de cada passo está descrito nos Anexos referenciados, e podem ser ignorados por usuários experientes. 1. Instalar e configurar o Java 8 (ver Anexo A) i. Observação: configurar acesso Java ao LDAP corporativo do CNPTIA; 2. Instalar o sistema de gerenciamento de banco de dados Postgres com extensão Postgis (ver Anexo B); 3. Configurar o banco de dados do projeto (veja Anexo C): i. Obtenção do arquivo dump1: bdzoneamento.dump ii. Nome do banco de dados: bdzoneamento 4. Instalar e configurar o servidor de aplicações Wildfly 10 (veja Anexo D): i. Não é necessário instalar o Wildfly como serviço no ambiente de desenvolvimento ii. Realizar a configuração do HTTPS 5. Instalar a IDE de desenvolvimento Eclipse (veja Anexo E) 6. Obtenha os fontes do projeto (veja Anexo F): i. URL do repositório: https://www.svnserver.cnptia.embrapa.br/svn/scenagri ii. Recurso: trunk/sigzon 1 https://www.gpds.cnptia.embrapa.br/redmine/projects/micura/files 4 7. Configurar o acesso ao banco de dados no Wildfly (veja Anexo G): i. Name: SigzonDS ii. JNDI Name: java:jboss/datasources/SigzonDS 8. Instalar e configurar o servidor de mapas Geoserver (veja Anexo I); 9. Configurar a seguinte camada do tipo Postgis no Geoserver: i. Nome do workspace: sigzon ii. Nome da store: limites iii. Banco de dados: bdzoneamonto iv. Schema do banco de dados: limites v. Tabela: uf 10. Configurar a seguinte camada do tipo Postgis no Geoserver: i. Nome do workspace: sigzon ii. Nome da store: bdzoneamento iii. Banco de dados: bdzoneamonto iv. Schema do banco de dados: zarc v. SQLView: select cm.geocodigo, m.nome municipio, cm.dec%DEC% aptidao, m.geom geom from zarc.classificacao c, zarc.classificacao_municipal cm, limites.municipios m where c.id_classificacao = %ID% and c.id_classificacao = cm.id_classificacao and cm.geocodigo = m.geocodigo::bigint vi. Nome da Layer: classificacao_municipal_byid 11. Configurar o arquivo sigzon/src/ol4ws-proxy.xml: i. URL wfs: http://hostname:8080/geoserver/sigzon/wfs ii. URL wms: http://hostname:8080/geoserver/sigzon/wms Substituindo hostname pelo nome do host que hospeda o servidor de aplicações; 12. Configurar o arquivo sigzon/src/sigzon.properties de acordo com as condições da instalação. 5 A. Instalação do Java 8 Em um terminal, execute o seguinte comando: sudo apt-get install oracle-java8-installer Configure as seguintes variáveis de ambiente, adequando o caminho da instalação do Java e os parâmetros de memória: JAVA_HOME=/usr/lib/jvm/java-8-oracle JAVA_OPTS="-Xms2G -Xmx2G -XX:PermSize=256m -XX:MaxPermSize=256m -Dhttp.proxyHost=proxy.cnptia.embrapa.br -Dhttp.proxyPort=3128" Habilitar acesso Java ao LDAP corporativo via SSL (Opcional) Obter o certificado (vlucan.crt) com o NTI do CNPTIA e executar os seguintes comando: sudo keytool -import -alias ldapCert -file vulcan.crt -keystore $JAVA_HOME/jre/lib/security/cacerts A senha padrão inicial é “changeit”. Para verificar: sudo keytool -list -alias ldapCert -keystore $JAVA_HOME/jre/lib/security/cacerts B. Instalação do Postgres e Postgis Execute a seguinte sequência de comandos: # Adiconar Repositório echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list apt-get install wget ca-certificates wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add apt-get update apt-get install postgresql-9.5 apt-get install postgis postgresql-9.5-postgis-2.3 libpostgis-java C. Criação do banco de dados Em um terminal digite: $ sudo -u postgres psql postgres=#CREATE USER usuario WITH PASSWORD 'senha'; postgres=#CREATE DATABASE nomebd OWNER usuario; 6 postgres=#\q Obter o arquivo dump específico para o bando de dados da aplicação: Em seguida: $ psql -U usuario -W nomebd < arquivo.dump D. Instalação e Configuração do Wildfly 10 Descarregar e descompactar o Wildfly: $ $ $ $ $ cd /tmp wget http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.zip cd /opt unzip /tmp/wildfly-10.1.0.Final.zip ln -s wildfly-10.1.0.Final/ wildfly Alterar as permissões do Wildfly para o usuário apropriado: $ chown -R usuario:grupo /opt/wildfly Acrescentar as seguintes variáveis de ambiente à sua configuração: JBOSS_HOME=/opt/wildfly/ PATH=$PATH:$JBOSS_HOME/bin Configurar o Wildfly para aceitar acesso em qualquer interface de rede: $ vim $JBOSS_HOME/standalone/configuration/standalone.xml Alterar todas as entradas “127.0.0.1” para “0.0.0.0”. Criar conta de administrador: $ cd $JBOSS_HOME/bin $ ./add-user.sh Instalação do Wildfly como serviço (não é necessário em ambiente de desenvolvimento) Execute os seguintes comandos: $ cp $JBOSS_HOME/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/wildfly $ update-rc.d wildfly defaults 7 Configure o arquivo /etc/default/wildfly conforme abaixo, adequando os parâmetros para sua instalação: JBOSS_USER=usuario JBOSS_MODE=standalone JBOSS_CONFIG=standalone-full.xml STARTUP_WAIT=60 SHUTDOWN_WAIT=60 JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log" Para iniciar e parar o serviço: $ /etc/init.d/wildfly start $ /etc/init.d/wildfly stop Configuração para utilização de HTTPS (Opcional) Criar uma keystore2: $ keytool -genkey -alias server -keyalg RSA -keystore arquivo.keystore -validity 365 Adicionar a keystore no arquivo de configuração: $ cp arquivo.keystore $JBOSS_HOME/standalone/configuration $ vim $JBOSS_HOME/standalone/configuration/standalone.xml ----------------------------------------------------------------------------<server-identities> <ssl> <keystore path="arquivo.keystore" relative-to="jboss.server.config.dir" keystorepassword="senha" alias="alias" key-password="senha"/> </ssl> </server-identities> E. Instalação e Configuração do Eclipse Descarregar e descompactar o Eclipse: $ cd /tmp $ http://www.eclipse.org/downloads/download.php? file=/technology/epp/downloads/release/neon/R/eclipse-jee-neon-R-linux-gtkx86_64.tar.gz&mirror_id=576 $ cd /opt $ tar xzf ~/Downloads/eclipse-jee-neon-R-linux-gtk-x86_64.tar.gz Para iniciar o eclipse: $ cd /opt/eclipse $ ./eclipse Em seguida defina o diretório do workspace padrão. 2 https://docs.jboss.org/author/display/WFLY10/Security+Realms 8 Para configurar a instalação Java utilizada pelo Eclipse: 1. Opção: Window – Preferences – Java – Installed JREs; 2. Selecionar a opção java-8-oracle, e clicar sobre o botão Edit; 3. Configurar as propriedades JRE home, JRE name e Default VM Arguments conforme figura abaixo: 4. Configurar a propriedade Default VM Arguments com o valor: -Xms2g -Xmx2g -XX:PermSize=256m -XX:MaxPermSize=256m 5. Clicar sobre o botão Finish, em seguida marcar a opção java-8-oracle como default, e clicar sobre o botão OK. Instalação do plugin Subversive (para o Subversion) Este plugin é necessário para utilizar o controlador de versões (Subversion), utilizado no projeto. Utilize o Eclipse Market Place, no menu Help, para instalar o plugin Subversive – SVN Team Povider. Após a instalação, será necessário reinicar o Eclipse. Ao utilizar o plugin pela primeira vez, o Eclipse pedirá a instalação do conector SVN Kit. Escolha a versão compatível com a versão do Subversion instalada no sistema. 9 Obs: Para descobrir a versão do SVN, em um terminal, use o comando: $ svn --version Instalação do plugin JBoss Tools Este plugin é necessário para testar o projeto no Wildfly de dentro do Eclipse. Utilize o Eclipse Market Place, no menu Help, para instalar o plugin JBoss Tools compatível com a versão do Eclipse, conforme a figura: Após a instalação, proceder com a configuração do plugin: 1. Opção: Window – Preferences – Server – Runtime Environments; 2. Clicar sobre o botão Add, em seguida: JBoss Community | Wildfly 10x; 3. Em “Create new Server Adapter”, mantenha as propriedades padrão e clique em Next; 4. Configurar as propriedades Name, Home Drectory e JRE, adequando para sua instalação, e clique em Finish (veja figura abaixo). 10 5. Opção: File – New – Other – Server – Server. Em seguida clicar sobre o botão Next. 6. Opção: JBoss Community – Wildfly 10.x (Experimental). Em seguida, clicar sobre o botão Finish conforme figura abaixo: F. Obtenção dos Fontes do Projeto Obter o código fonte do projeto no controlador de versões: 1. Opção: File – New – Other – SVN – Projects from SVN – Next; 2. Configurar a propriedade URL, User e Password conforme o projeto, em seguida clicar sobre o botão Next. 3. Na janela seguinte, clique em Browse e selecione o recurso e clique em OK e em Finish: 4. Na tela Check Out As, defina o nome do projeto, escolha Head Revision e em seguida clicar sobre o botão Finish; G. Configuração do Acesso ao Banco de Dados no Wildfly Passo 1: Inicie o servidor Wildfly 1.1) Se o Wildfly estiver instalado como serviço: $ /etc/init.d/wildfly start 1.2) Se o Wildfly não estiver instalado como serviço: no painel inferior do Eclipse, selecione a aba Servers. Em seguida, selecione o servidor Wildfly 10.x e clique no botão Run. 11 Passo 2: Acesse a página de administração do servidor: No navegador, acesse o endereço http://host:8080, trocando host pelo nome do servidor de instalação. Em seguida, clique em Administration Console e entre com o usuário e senha configurados durante a instalação do servidor Wildfly. Passo 3: Implantar o driver JDBC no servidor (caso ainda não esteja implantado) Acesse a seção Deployments, no menu superior da página administrativa. Em seguida, clique em Add (veja a figura abaixo). Na janela New Deployment, escolha Upload a new deployment e clique em Next. Carregue o arquivo JDBC de preferência (exemplo: postgresql-9.2-1002.jdbc4.jar) e clique em Next. Na janela seguinte, selecione a opção Eanble, e depois em clique em Finalize. Passo 3: Configuração do Datasource Acesse a seção Configuration, no menu superior da página de administração. Em seguida, clique em Subsystems – Datasources – Non-XA – Add. A janela Create Datasource será exibida. Selecione a opção PostgreSQL Datasource e clique em Next. Na janela Datasource Attributes, preencha os campos conforme a figura abaixo, adequando para o projeto específico, e clique em Next. 12 Na janela JDBC Driver, acesse a aba Detected Driver, selecione o driver do PostgreSQL e clique em Next. Na janela Connection Settings, preencha os campos Connection URL, Username e Password, conforme a configuração do Banco de Dados do projeto, e clique em Next e depois Finish. H. Deployment da Aplicação No ambiente de desenvolvimento, para iniciar a aplicação pelo Eclipse, siga os seguintes passos: 1. Opção: Window – Web Browser – Firefox; 2. Clicar com o botão direito sobre o projeto webambiente, em seguida executar a opção: Run AS – Run on Server; em seguida, clicar em Finish. No ambiente de produção, realize a implantação da aplicação seguido os seguintes passos: 1. Acesse a página de administração do servidor: No navegador, acesse o endereço http://host:8080, trocando host pelo nome do servidor de instalação. Em seguida, clique em Administration Console e entre com o usuário e senha configurados durante a instalação do servidor Wildfly. 2. Acesse a seção Deployments, no menu superior da página administrativa. Em seguida, clique em Add. 3. Na janela New Deployment: 3.a) Escolha Upload a new deployment e clique em Next. Carregue o arquivo WAR da aplicação e clique em Next. Na janela seguinte, selecione a opção Eanble, e depois em clique em Finalize. 3.b) Alternativamente, escolha Create an unmanaged deployment e clique em Next. Na tela seguinte, preencha os campos conforme a figura abaixo, substituindo /path/para/aplicacao pelo caminho do diretório da aplicação (WAR descompactado) e aplicacao.war pelo nome da sua aplicação seguido da extensão “.war”. Em seguida, clique em Finish. 13 I. Instalação do Geoserver Para instalar o Geoserver, siga os seguintes passos: 1. Descarre a última versão do Geoserver (http://geoserver.org/release/stable/) e descompacte em um diretório do servidor onde está instalado o Wildfly 2. Altere as permissões do diretório descompactado para o usuário utilizado para executar o Wildfly 3. Realize o deployment do Geoserver conforme descrito no Anexo H. 14