Instalar o "apache-tomcat-6.0":
# pkg install tomcat-6.0.53_2
Obs.: caso, ainda não tenha instalado o Java, ele vai pedir que o instale juntamente com o "apache-tomcat-6":
# pkg install tomcat-6.0.53_2
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
tomcat: 6.0.53_2
openjdk8: 8.192.26_3
libXtst: 1.2.3_2
javavmwrapper: 2.6
java-zoneinfo: 2018.g
alsa-lib: 1.1.2_2
Number of packages to be installed: 6
The process will require 175 MiB more space.
63 MiB to be downloaded.
Proceed with this action? [y/N]:
Basta digitar "y" e continuar a instalação normalmente.
Ao final, ele vai solicitar que você faça alguns passos adicionais para a utilização do Java.
Edite o arquivo
/etc/fstab:
# ee /etc/fstab
Adicione as linhas abaixo ao arquivo
/etc/fstab:
fdesc /dev/fd fdescfs rw 0 0
proc /proc procfs rw 0 0
Depois, monte:
# mount -t fdescfs fdesc /dev/fd
# mount -t procfs proc /proc
Configurar o "apache-tomcat-6.0":
# ee /usr/local/apache-tomcat-6.0/conf/tomcat-users.xml
Descomentar o bloco de regras de usuários (basta retirar as tags de comentários: ) e depois adicionar ou modificar as linhas conforme abaixo:
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="senha-user" roles="tomcat,manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
<!--
<user username="both" password="senha-user" roles="tomcat,role1"/>>
<user username="role1" password="senha-user" roles="role1"/>
-->
Colocar o "apache-tomcat-6.0" para ser iniciado junto com o sistema.
Basta adicionar a linha "tomcat60_enable="YES"" ao arquivo "rc.conf":
# ee /etc/rc.conf
Ou:
# echo 'tomcat60_enable="YES"' >> /etc/rc.conf
Setar a variável "JRE_HOME":
# ee /etc/csh.cshrc
Adicionar a linha abaixo:
setenv JRE_HOME /usr/local/openjdk8/jre/
Start o tomcat:
# service tomcat6 start
Verifique se a porta do tomcat está na escuta:
# sockstat -4l
A saída deste comando deve ser parecida com esta:
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www java 1673 37 tcp46 *:8180 *:*
www java 1673 43 tcp46 *:8009 *:*
www java 1673 45 tcp4 127.0.0.1:8005 *:*
Abra o navegador e acesse a interface do Tomcat na porta especificada. Ex.: 192.168.1.5:8180
Obs.: a porta em que o Tomcat está "escutando", pode ser alterada no arquivo (
/usr/local/apache-tomcat-6.0/conf/server.xml) de configuração do mesmo, basta alterar e reiniciar o serviço.
No frontend do Tomcat, no menu "Administration", clique em "Tomcat Manager". Vai ser solicitado o usuário e senha que foram definidos acima no arquivo "tomcat-users.xml" (
/usr/local/apache-tomcat-6.0/conf/tomcat-users.xml).
Dentro da página "Tomcat Web Application Manager", na sessão "WAR file to deploy", em "Select WAR file to upload", clique no botão "Browse", selecione o arquivo "jpykotagui.war" dentro do diretório que você baixou o mesmo. (Informado na 1ª página). Depois clique no botão "Deploy".
Feito isto, dentro da sessão "Applications", o JPyKotaGUI vai aparecer em forma de link (/jpykotagui), clique no link. Vai abrir a interface do JPyKotaGUI.
No frontend do JPyKotaGUI, digite o nome de usuário e senha definidos nos passos "Altera-Senha01" e "Altera-Senha02" e efetue o login.
Na página de administração do JPyKotaGUI, tem um menu com os botões "ADMINISTRAÇÃO", "RELATÓRIOS", "ÚTIL" e "SAIR". Clique no botão "ADMINISTRAÇÃO", vai aparecer o erro abaixo:
Cannot run program "/bin/bash": error=2, No such file or directory java.io.IOException java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
java.lang.Runtime.exec(Runtime.java:620)
java.lang.Runtime.exec(Runtime.java:485)
br.com.jpykotagui.util.InformacoesServer.executeCmd(InformacoesServer.java:199)
br.com.jpykotagui.util.InformacoesServer.getInfoLoad(InformacoesServer.java:142)
br.com.jpykotagui.controller.actions.AdministracaoAction.getInfoServer(AdministracaoAction.java:191)
br.com.jpykotagui.controller.actions.AdministracaoAction.execute(AdministracaoAction.java:56)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:313)
org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:114)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.filter.ConnectionFilter.filter(ConnectionFilter.java:80)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.filter.ValidatorFilter.filter(ValidatorFilter.java:195)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.filter.ExceptionFilter.filter(ExceptionFilter.java:83)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.filter.ValidatorFilter.filter(ValidatorFilter.java:195)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:95)
org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
org.mentawai.core.Controller.invokeAction(Controller.java:650)
org.mentawai.core.Controller.service(Controller.java:515)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:610)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
java.lang.Thread.run(Thread.java:748)
Perceba que o erro começa por "Cannot run program "/bin/bash":", isso acontece devido ao FreeBSD não utilizar o Bash como padrão, aliás, o mesmo nem vem instalado no FreeBSD. Precisamos, então, instalá-lo.
Instalar o Bash:
# pkg install bash-4.4.23_1
ATENÇÃO: não é necessário alterar o Shell padrão, basta criar um link para o bash.
Criar um link para o Bash dentro de
/bin:
# ln -s /usr/local/bin/bash /bin/bash
Feito isto, volte para o frontend do JPyKotaGUI e atualize a página de administração, você já deverá conseguir visualizar a mesma. Contudo, as informações sobre a memória do Sistema Operacional e a, da SWAP, ainda não estão disponíveis. Isso acontece devido ao projeto utilizar o "freecolor" para pegar os dados (no projeto original, ele utiliza o "free", no entanto, tive que alterar para o "freecolor" para poder rodar no FreeBSD). Vamos então instalar o "freecolor".
Instalar o freecolor:
# pkg install freecolor-0.9.2_1
Obs.: em alguns métodos da classe Java "UserServerManager.java", é utilizado o
sudo, então vamos instalá-lo.
Instalar o sudo:
# pkg install sudo-1.8.27
Obervação final: como não utilizei a ferramenta juntamente com o SAMBA, não fiz questão de verificar as funcionalidades relacionadas ao SAMBA e nem sobre a visualização do "Estado dos principais serviços" na página de administração do JPyKotaGUI.
Pronto! Agora o JPyKotaGUI está pronto para realizar as tarefas principais relativas ao PyKota. Ele é bem intuitivo e não precisa de tutorial para utilizá-lo, basta mexer à vontade!
================
END OF FILE - GRAÇAS A DEUS TUDO CERTO!!!
================
Feito, escrito e testado por Ricardo Xerfan. Data: 12/02/2019 - Macapá-AP.