Configurando o FreeBSD e PyKota para receber o JPyKotaGUI

Neste artigo, ensino como configurar o FreeBSD e PyKota para que o JPyKotaGUI rode na plataforma com as funcionalidades necessárias para a administração do PyKota. Este tutorial tem relação com outro artigo minha autoria, que versa sobre Configuração do Servidor de Impressão com Cotas utilizando o PyKota (link na 1ª página). Desde já, boa sorte na implementação!

[ Hits: 4.638 ]

Por: Ricardo Xerfan em 21/02/2019


Configurando arquivo "apache-tomcat-6.0"



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.

Página anterior     Próxima página

Páginas do artigo
   1. Observação Inicial
   2. Configuração do DB do PyKota
   3. Configurando arquivo "apache-tomcat-6.0"
   4. Considerações sobre os LOGs do JPyKotaGUI e sobre o modo de inicialização do Tomcat
   5. Considerações sobre as configurações relativas ao projeto do JPyKotaGUI
Outros artigos deste autor

Servidor de impressão com cotas no FreeBSD (CUPS + PostgreSQL + PyKota)

Leitura recomendada

Introdução ao PC-BSD

Servidor de impressão com cotas no FreeBSD (CUPS + PostgreSQL + PyKota)

O Mascote do FreeBSD é um demônio?

FreeBSD 10 com GNOME 2 - Instalação no VirtualBox

Apache2 com SSL - Configuração para forçar uso de HTTPS ao invés de HTTP

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário