Coder Social home page Coder Social logo

ozkrbr / jasmine-cups Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joserf/jasmine-cups

0.0 1.0 0.0 311 KB

Jasmine Cups - É um sistema para geração de relatórios de impressão a partir do CUPS. Gera relatórios por usuários, impressoras, ip's/host e servidores.

jasmine-cups's Introduction

JASmine WEB - CUPS

Esse tutorial foi realizado com a intenção de adicionar funcionalidades ao sistema já existente JASmine, que gera relatórios a partir das impressoras instaladas no CUPS.

Nessa versão o JASmine tem a opção de listar os usuários ,impressoras, servidores e mostrar qual foi o usuário, impressora ou servidor que mais imprimiu, além de estatísticas de impressão.

Versão atual:

    Usuários;
    Impressoras;
    Servidores;

Não serão abordadas: a instalação do sistema operacional(Ubuntu 16.04) e configuração de rede.

Instalação

1 - Executar os processos de instalação dos pacotes.

$ sudo apt-get install apache2 vim build-essential cups cups-pdf apparmor-utils pkpgcounter samba mysql-server-5.7 php-mbstring php7.0-mbstring php-gettext phpmyadmin libdbd-mysql-perl

2 - Configurando o cups.

$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bkp
$ sudo vim /etc/cups/cupsd.conf

Em "Listen localhost:631" altere para:

Listen 631

Vamos agora dar permissão para acesso ao CUPS, altere as linhas conforme abaixo:

Restrict access to the server...
<Location />
Allow all
  Order allow,deny
</Location>

Restrict access to the admin pages...
<Location /admin>
Allow all
  Order allow,deny
</Location>

Restrict access to configuration files...
<Location /admin/conf>
Allow all
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

3 - Configurando o samba.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp

Criando uma configuração simples no Samba para o funcionamento correto da impressora:

$ sudo vim /etc/samba/smb.conf

configuração do samba aqui.

Ajustando as permissões de acesso

$ sudo smbpasswd -a root

obs: colocar o hostname do servidor em maiusculo.

$ sudo net -S localhost -U root -W HOSTNAME-DO-SERVIDOR rpc rights grant 'root' SePrintOperatorPrivilege

Edite o arquivo cups-pdf

$ sudo vim /etc/cups/cups-pdf.conf

Comente a linha 45

Out ${HOME}/PDF

Altere para:

Out /var/spool/cups-pdf/${USER}

Descomente as linhas:

Label 1  - Linha 99 
Log /var/log/cups  - Linha 202
DecodeHexStrings 1 - Linha 280 

4 - Jasmine

$ sudo wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-MySQL-0.0.3.tar.bz2
$ sudo wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Backend-0.0.3.tar.bz2
$ sudo wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Web-0.0.3.tar.bz2 

A primeira etapa é criar o banco que vai armazenar os dados de impressão.

sudo mysql -u root -p
password: *****
mysql> CREATE DATABASE print;
mysql> exit

Agora vamos utilizar o script contido no arquivo JASmine-MySQL.

$ sudo tar -jxvf JASmine-MySQL-0.0.3.tar.bz2
cd JASmine-MySQL-0.0.3
$ sudo mysql -u root -p print < jasmine.sql

Crie um usuário no MySQL para gerenciar o banco de impressão.

$ udo mysql -u root -p
mysql> GRANT ALL ON print.* TO jasmine@localhost identified by 'senha';
mysql> FLUSH PRIVILEGES;
mysql> exit

Dentro do JASmine-Backend existem os programas auxiliares que irão monitorar as impressões e gerar os dados a serem salvos no banco. Na pasta do JASmine-Backend.

$ sudo tar -jxvf JASmine-Backend-0.0.3.tar.bz2
cd JASmine-Backend-0.0.3

Existe um script em Perl chamado jasmine que deverá ser copiado para dentro do CUPS.

$ sudo cp jasmine /usr/lib/cups/backend/
cd /usr/lib/cups/backend
$ sudo chmod 755 jasmine
$ sudo chown root jasmine

Agora temos que editar nosso script para colocar as informações referentes ao banco de dados.

$ sudo vim jasmine

my $DBhost="localhost";
my $DBlogin="jasmine";
my $DBpassword="senha";
my $Dbdatabase="print";

O JASmine-Web é a página que coleta as informações e as exibe na Web, volte para pasta onde você baixou os arquivos.

cd Impressao/
$ sudo mkdir /var/www/html/Impressao
$ sudo cp -r * /var/www/html/Impressao

Neste momento iremos editar o arquivo com as configurações de acesso a banco.

cd /var/www/html/Impressao
$ sudo vim conexao.php

$DB_host="localhost";
$DB_login="jasmine";
$DB_pass="senha";
$DB_db="print";

5 - IonCube

    cd /var/www

    # wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

    # tar xvfz ioncube_loaders_lin_x86-64.tar.gz

    cd ioncube/

    http://IP-DO-SERVIDOR/ioncube/loader-wizard.php

Faça:

    # cp /var/www/ioncube/ioncube_loader_lin_5.3.so /usr/lib/php5/20090626/

Clique no inten 3;

Save this 20-ioncube.ini file and put it in your ini files directory, /etc/php5/apache2/conf.d

Faça o download do arquivo, e copie seu conteudo.

zend_extension = /usr/lib/php5/20090626/ioncube_loader_lin_5.3.so

Cole no arquivo abaixo:

    # vim /etc/php5/apache2/conf.d/20-ioncube.ini

    # service apache2 restart

Teste o loader novamente na pagina, se tudo correu bem, continue.

    cd ..
    sudo rm -rf ioncube
    sudo rm ioncube_loaders_lin_x86-64.tar.gz

6 - Configuração após reinicialização.

$ sudo vim /etc/restart.sh

#!/bin/bash
#Faz uma pausa aguardando o inicio do sistema.
sleep 10
#Reinicia o samba
/etc/init.d/smbd restart && /etc/init.d/cups restart

$ sudo chmod +x /etc/restart.sh

$ sudo chmod 777 /etc/restart.sh

Edite o arquivo abaixo:

$ sudo vim /etc/rc.local

cole o conteúdo abaixo em cima da linha exit 0

/etc/restart.sh &

Reinicie o sistema.

$ sudo shutdown -r now

7 - Instalando a impressora no servidor.

Acesse o CUPS:

http://ip_do_servidor:631

Em "Administration", selecione:

"Show printers shared by other systems"
"Share printers connected to this system"
"Allow printing from the Internet"
"Allow remote administration"
"Allow users to cancel any job (not just their own)" 

Em "Administration", clique em "Add Printer" Faça a instalação da impressora prestando atenção em "connection".

connection: jasmine:socket://IP-DA-IMPRESSORA

jasmine-cups's People

Contributors

joserf avatar

Watchers

Oscar Santana avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.