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: 6.911 ]

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

FreeBSD Release 11.1 - Introdução, instalação e customização

Instalação de Aplicativos no FreeBSD

Introdução ao FreeBSD

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

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts