Instale o "pgAdmin III" (pode ser em uma máquina Windows), esta ferramenta pode ser baixada gratuitamente da Internet.
Configure uma conexão com o DB do PyKota no FreeBSD. Na página inicial do "pgAdmin III", clique no botão "add a connection to a server" (ícone que parece uma tomada).
No campo "Name", coloque o nome da conexão. Ex.: ConnPykotaFreeBSD
No campo "Host", coloque o endereço IP do servidor FreeBSD (onde está localizado o DB do PyKota). Ex.: 192.168.1.5
Obs.: não mude nada nos outros campos e deixe o campo "Username" com o nome de usuário que está (pgsql).
No campo "Password", coloque a senha que foi definida na hora da configuração do PostgreSQL no tutorial de Instalação e configuração do PyKota citado na 1ª página.
Clique no botão "OK".
Feito isto, a conexão com o DB dentro de "Servers (1)". Ex.: +|_|ConnPykotaFreeBSD (192.168.1.5:5432)
A partir de agora, vamos configurar o DB do PyKota para que consiga trabalhar com os usuários e senhas do JPyKotaGUI.
Extenda a conexão com o DB que foi criada (aperte no +):
- Em "Databases (3)", selecione e expanda o DB "pykota".
- Expanda "Schemas (1)", depois expanda também "public".
- Expanda "Tables (11)".
Perceba que temos várias tabelas, dentre elas a tabela "users" que será com a qual iremos trabalhar a partir de agora.
Expanda a tabela "users", depois expanda "Columns (8)" para vermos as colunas/atributos da mesma.
Perceba que temos os atributos: id, username, email, balance, lifetimepaid, limitby, description, overcharge. Contudo, não temos os atributos (colunas) "passwd" e "admin", que são os necessários para que os usuários façam login no JPyKotaGUI e sejam ou não administradores.
Vamos criar então os atributos citados acima.
Ainda no "pgAdmin III", COM A COLUNA/ATRIBUTO "users" SELECIONADA, clique no botão "Execute arbitrary SQL queries" (ícone que parece uma lupa com a palavra 'SQL' dentro):
Na janela de "Query" que apareceu, dentro da aba "SQL Editor", cole o código abaixo, selecione-o e depois clique no botão "Execute query" (ícone que parece um botão de play verde):
--
-- Alterando tabela users adicionando coluna para manter a senha e
-- adicionando coluna para manter o estado de administrador
--
ALTER TABLE users ADD COLUMN passwd TEXT;
ALTER TABLE users ADD COLUMN admin BOOLEAN;
Obs.: depois de executado os comandos acima, na janela de "Query", no painel "Output pane", dentro da aba "Messages", deverá ser exibida uma mensagem parecida com a abaixo:
Query returned successfully with no result in 31 ms
Se aconteceu tudo certo como acima, você perceberá que foram criadas as colunas/atributos "passwd" e "admin" foram criadas dentro da tabela "users". Caso não tenha visualizado no "pgAdmin III", basta clicar no botão "Refresh the selected object.", ícone com duas setas, uma vermelha e outra verde, formando um círculo.
Agora, vamos ajustar as permissões do usuário "pykotaadmin" nas colunas/atributos recém criadas.
Na janela de "Query", dentro da aba "SQL Editor", cole o código abaixo, selecione-o e depois clique no botão "Execute query" (ícone que parece um botão de play verde):
--
-- Ajustando permissoes
--
GRANT SELECT, INSERT, UPDATE, DELETE ON users TO pykotaadmin;
Obs.: depois de executado os comandos acima, na janela de "Query", no painel "Output pane", dentro da aba "Messages" deverá ser exibida uma mensagem parecida com a abaixo:
Query returned successfully with no result in 32 ms
Atenção: agora vem a parte mais delicada do procedimento, VOCÊ DEVERÁ PRESTAR BASTANTE ATENÇÃO E TER CUIDADO DE FAZER EXATAMENTE IGUAL AOS PASSOS A SEGUIR, caso contrário, poderá acontecer de você NÃO conseguir logar no JPyKotaGUI. Vamos aos passos:
Obs.: se você está seguindo o Tutorial de Instalação e configuração do PyKota citado na 1ª página, já deverá existir um usuário chamado "root" na sua base de dados do PyKota, se for este o caso, pode pular para o passo "Altera-Senha02". Caso contrário, siga normalmente com o passo "Altera-Senha01".
PASSO: Altera-Senha01
Caso você tenha uma base de dados populada do PyKota, você vai precisar verificar quais usuários estão cadastrados e quais seus respectivos ID, para então poder realizar o update na tabela com a senha inicial no usuário que você quiser logar como administrador no JPyKotaGUI. Para isso, basta rodar o comando abaixo na janela de "Query", dentro da aba "SQL Editor":
select * from users order by id;
Feito isto, vai aparecer na janela de "Query", no painel "Output pane", dentro da aba "Data Output" a lista de usuários cadastrados no DB do PyKota com seus respectivos IDs. Basta você verificar qual usuário você vai querer que seja administrador do JPyKotaGUI e anotar o ID (da coluna/atributo id) do mesmo, partindo então para o passo "Altera-Senha02".
Caso não queira nenhum, dos usuário apresentados na consulta, como administrador do JPyKotaGUI, basta inserir um usuário na tabela "users". Para isso, rode o comando abaixo na janela de "Query", dentro da aba "SQL Editor":
insert into users (username) values ('administrador');
Feito isto, deverá retornar o resultado abaixo na janela de "Query", no painel "Output pane", dentro da aba "Messages":
Query returned successfully: one row affected, 12 ms execution time.
Para saber qual ID foi atribuído ao usuário recém criado, basta fazer a consulta citada no começo deste passo "Altera-Senha01" (select * from users order by id;), ou simplesmente:
select * from users where username='administrador';
Feito isto, vai aparecer na janela de "Query", no painel "Output pane", dentro da aba "Data Output" o usuário recém cadastrado.
Obs.: a partir de agora, não vou mais citar os nomes das janelas, painels e abas, senão vai ficar muito repetitivo.
ATENÇÃO: se você é um usuário avançado, vai saber que eu poderia ter adicionado a senha na hora da criação do "user" acima e deve estar se perguntando o por quê de eu não ter feito isto. A resposta é simples, a senha é criptografada "com um hash de 160 bits, equivalente a 40 caracteres", dentro do projeto do JPyKotaGUI com uma função específica para isso e, alguns usuários, têm dificuldades de gerar a mesma. Então, para não deixar dúvidas, faz-se necessário ser um pouco mais detalhado e deixar para criar a senha em um passo separado. Siga agora para o passo abaixo.
PASSO: Altera-Senha02
Agora, vamos criar a senha criptografada do usuário que vai ser administrador do JPyKotaGUI e torná-lo administrador. Para isso, você vai precisar saber o ID que foi atribuído a ele na hora da criação do mesmo dentro do DB PyKota (foi explicado no passo "Altera-Senha01").
Na janela de "Query", dentro da aba "SQL Editor", cole o código abaixo, selecione-o e depois clique no botão "Execute query" (ícone que parece um botão de play verde):
--
-- Alterando senha do usuario criado com script de instalaca
-- Senha: 123 é igual a 40bd001563085fc35165329ea1ff5c5ecbdbbeef
--
UPDATE users
SET passwd='40bd001563085fc35165329ea1ff5c5ecbdbbeef',admin=TRUE
WHERE id=1;
Feito isto, você pode executar a instrução de consulta citada no passo "Altera-Senha01" (select * from users order by id;) e na saída do comando, você vai perceber que o usuário ficou com o campo "senha" e campo "admin" modificado conforme a instrução realizada acima.
Obs.1: você pode alterar essa senha depois no frontend do JPyKotaGUI.
Obs.2: excluídas as instruções contidas no passo "Altera-Senha01", todas as outras instruções SQL foram tiradas do script de atualização do DB PyKota escrito por Rogerio Tomassoni. Como usuários com menos experiências teriam dificuldades em realizar o procedimento, preferi destrinchar o script nas explicações acima que foram um pouco mais detalhadas.
Segue abaixo o referido script:
- Nome do script: updatePostgres-0.0.2.sql
- Autor: Rogerio Tomassoni
--
-- Alterando tabela users adicionando coluna para manter a senha e
-- adicionando coluna para manter o estado de administrador
--
ALTER TABLE users ADD COLUMN passwd TEXT;
ALTER TABLE users ADD COLUMN admin BOOLEAN;
--
-- Ajustando permissoes
--
GRANT SELECT, INSERT, UPDATE, DELETE ON users TO pykotaadmin;
--
-- Alterando senha do usuario criado com script de instalaca
-- Senha: 123 é igual a 40bd001563085fc35165329ea1ff5c5ecbdbbeef
--
UPDATE users
SET passwd='40bd001563085fc35165329ea1ff5c5ecbdbbeef',admin=TRUE
WHERE id=1;
Pronto! Realizadas as configurações do DB PyKota. Vamos agora configurar o Apache-Tomcat.