Após executar os procedimentos acima, com os aplicativos rodando corretamente (CUPS + PHP + MySQL), vamos executar os serviços para que o JASmine possa interagir com o CUPS, transmitir uma reposta via Web pelo PHP e armazenar dados no banco de dados MySQL.
1) Acessar o site do JASmine e fazer o download dos pacotes necessários para esta operação:
Pacotes JASmine:
Onde:
- Jasmine-MySQL, cria um banco em seu servidor de banco de dados MySQL.
- Jasmine-Backend, este é o backend CUPS; script adicional em seu servidor de impressão.
- Jasmine-Web, a interface Web.
Jasmine-MySQL
Vamos agora criar um banco de dados no MySQL:
# mysql -u root -p
Enter password: (Entre com a senha usuário root)
Feito isso crie uma base de dados com um nome qualquer, de preferência print, impressão, jasmine etc para referenciar o projeto em estudo.
mysql>
create database print;
Caso apareça esta mensagem, tudo OK - base de dados criada com sucesso!
Query OK, 1 row affected (0.00 sec)
Criar também um usuário no banco de dados para manipular essa base e ter acesso privilegiado para que você não tenha que fazer procedimentos com o usuário root toda hora.
Você pode adicionar novos usuários utilizando instruções GRANT:
mysql>
GRANT ALL PRIVILEGES ON *.* TO jasmine@localhost IDENTIFIED BY "alguma_senha" WITH GRANT OPTION;
mysql>
GRANT ALL PRIVILEGES ON *.* TO jasmine@'%' IDENTIFIED BY "alguma_senha" WITH GRANT OPTION;
mysql>
FLUSH PRIVILEGES;
Ou ainda segue o link para inserção de usuário no MySQL completo:
Com o arquivo que você baixou (JASmine-MySQL-VERSÃO.tar.bz2), extraia ele e execute a query do arquivo nesta base de dados que você criou.
# tar -zvjf JASmine-MySQL-VERSÃO.tar.bz2
# cd JASmine-MySQL-VERSÃO
# mysql -u root -p print < jasmine.sql
JASmine Backend
Descompacte o arquivo JASmine-Backend-VERSÃO.tar.bz2:
# tar -xvjf JASmine-Backend-VERSÃO.tar.bz2
# cd JASmine-Backend-VERSÃO
Dentro da pasta JASmine-Backend existe um aplicativo que deve ser instalado utilizando Python, o chamado pkpgcounter. Este aplicativo/programa é responsável por fazer a contagem de folhas e impressões realizadas dentro de um servidor CUPS.
# tar -xvzf pkpgcounter-VERSÃO.tar.gz
# cd pkpgcpunter-VERSÃO
# python setup.py install
No mesmo diretório /JASmine-Backend também se encontra um arquivo em Perl chamado "jasmine" e deve ser copiado para o diretório da instalação do CUPS. Neste arquivo encontram-se algumas informações de controle para a execução e integração entre os aplicativos (CUPS + MySQL + PHP).
# cp jasmine /usr/lib/cups/backend/
# cd /usr/lib/cups/backend
# chmod 755 jasmine (modificando permissões)
# chown root jasmine (modificando dono)
Depois de copiar o arquivo para o diretório da instalação CUPS, modifique algumas linhas do arquivo "jasmine":
1) Procure as informações sobre o banco de dados e altere as linhas conforme as informações da sua base de dados.
# vi jasmine
Dentro do arquivo edite:
my $DBhost="localhost";
my $DBlogin="jasmine";
my $DBpassword="senha";
my $Dbdatabase="print";
2) Você pode também deixar ativo ou não o modo debug do serviço alterando o valor dentro deste mesmo arquivo no campo:
my $Debug_Mode=0; #Desativado ou 1 ativado
JASmine-Web
Neste passo seguem as instruções para levantar a página web onde o JASmine converte as informações coletadas no processo de impressão para web.
1) Descompactar o arquivo JASmine-Web-VERSÃO.tar.bz2:
# tar -jxvf Jasmine-Web-VERSÃO.tar.bz2
2) Enviar a pasta descompactada para o repositório onde as páginas web são armazenadas pelo servidor web para visualização posterior.
Para quem instalou apenas o Apache:
# mv Jasmine-Web-VERSÃO /usr/local/apache2/htdocs/jasmine
ou
# mv Jasmine-Web-VERSÃO /var/www/jasmine
Para quem instalou o Xampp:
# mv Jasmine-Web-VERSÃO /opt/lampp/htdocs/jasmine
* Perceba que o nome do diretório também mudou para "jasmine"
3) Dentro deste diretório renomeado para "jasmine", edite também um arquivo de controle para o PHP:
# cd /usr/local/apache2/htdocs/jasmine //ou /var/www/jasmine ou /opt/lampp/htdocs/jasmine
# cp config.php.dist config.php
# vi config.php
4) Neste arquivo configure as opções do banco de dados:
//Database vars
$DB_host="localhost";
$DB_login="jasmine";
$DB_pass="senha";
$DB_db="print";