Source de la documentation (en GFDL) sur Pykota
Gestion de quotas avec le serveur d'impression Cups
Size 6.4 kB - File type text/x-texFile contents
\documentclass[a4paper, 11pt]{article}
\usepackage[francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{vmargin,times,caption2,amssymb,epsfig,graphicx,verbatim}
\DeclareGraphicsExtensions{.png,.pdf}
% pour les marges
\setmarginsrb{1cm}{1cm}{1,2cm}{1,5cm}{0cm}{2cm}{2cm}{2cm}
% pour le haut des pages
\pagestyle{headings}
\title{Comment j'ai installé Pykota...}
\author{Aurélie Chaumat aurelie.cambourian$@$free.fr }
\begin{document}
\maketitle
\section{Pykota ?}
Pykota est un logiciel libre (créé et maintenu par Jérôme Alet
alet$@$librelogiciel.com) qui permet avec Cups et Postgresql (ou un LDAP) de
mettre en place et gérer les quotas d'impression pour chaque imprimante et aussi
pour chaque utilisateur.
C'est celui qui me convient le mieux pour gérer les impressions (à la date du
24/02/2005)
(cela ne dispense pas de lire le super readme contenu dans le répertoire pykota
! ni la FAQ)
\section{Pré-requis}
\begin{itemize}
\item Une distribution Linux (ici Debian testing ppc)
\item Récupérer Pykota dans le CVS sur http://savannah.nongnu.org/projects/pykota ou alors vous pouvez acheter un
tar.gz tout fait et de la documentation sur
http://www.librelogiciel.com/software/PyKota/Purchase (je vous le conseille si vous
passez Pykota en production, 20 Euros pour un soft bien qui marche, ce n'est pas
cher payé le développement)
\item CUPS
\item Python sup ou eg 2.1
\item eGenix (mxDateTime Python www.egenix.com)
\item JaXML Python (dump en XML)
\item Python-SNMP (pysnmp.sourceforge.net 3.4.2 ou 3.4.3 seulement)
\begin{enumerate}
\item Télécharger l'archive
\item python setup.py install
\item tester : python -c 'from pysnmp.test import suite; suite.run()'
\end{enumerate}
\item Python-OSD
\item SNMP Tools (snmpget)
\item Netatalk pour les printers joignables par Appletalk
\item ReportLab (module Python)
\item PIL (Python Imaging Library)
\item Postgresql ou Open LDAP
\item Pygresql python extension ou si LDAP python-ldap
\item Si architecture i386 psyco (Python accelerator)
\end{itemize}
\section{Installation}
\begin{enumerate}
\item Télécharger le contenu du répertoire cvs sur savannah.nongnu.org
\item a l'intérieur de ce répertoire faire tourner : python checkdeps.py
(facultatifs : netatalk et python-ldap) Si tout est bon : continuer, sinon
revoir l'installation du paquet ou logiciel manquant.
\item Installer pykota : sudo python setup.py
\item sudo adduser --system --group --home /etc/pykota --gecos pykota pykota
\item sudo adduser lp pykota (ajouter le user lp dans le groupe pykota)
\item Copier pykota.conf et pykotadmin.conf dans /etc/pykota/
\item Faire le lien en backend dans cups : sudo ln -s
/usr/share/pykota/cupspykota /usr/lib/cups/backend/cupspykota
\item Redémarrer cupsys ( sudo /etc/init.d/cupsys restart )
\item Pour les nouvelles imprimantes dans cups il faudra choisir
cupspykota://socket (si socket) ou cupspykota://lpd: ....
\item Vérifier les droits sur /etc/pykota/pykota.conf (doit être à pykota,
groupe pykota en lecture pour tous, +écriture pour pykota)
\item Pour les imprimantes déjà configurées juste mettre cupspykota:// devant
l'existant
\item Redémarrer cupsys
\item apt-get install postgresql (laisser /var/lib/postgres/data )
\item sudo passwd postgres
\item Modifier /etc/pykota/pg\_hba.conf
\begin{small}
\begin{verbatim}
# Database administrative login by UNIX sockets
local all postgres ident sameuser
#
# All other connections by UNIX sockets
local all all reject
#
host pykota pykotauser 127.0.0.1 255.255.255.255 trust
host pykota pykotaadmin 127.0.0.1 255.255.255.255 trust
host pykota all 127.0.0.1 255.255.255.255 reject
\end{verbatim}
\end{small}
\item postgres: psql template1
( donne le prompt template1=\# )
\item On donne alors l'instruction : \begin{verbatim} \i /home/moi/pykota/initscripts/postgresql/pykota-postgresql.sql
\end{verbatim} (cela crée les tables)
\item Le prompt devient pykota=\#
\item On donne les instructions suivantes :
\begin{itemize}
\item alter user postgres with password 'difficile'
\item alter user pykotauser with password 'autre password'
\item alter user pykotaadmin with password 'autre password'
\end{itemize}
\item Redémarrer cups
\item edpykota --add -P Lex634LBRS -S 40 -H 50 nom-de-login-de-l-utilisateur , cela donne un nombre de page
autorisé pour un utilisateur (de 40 à 50)
( exemple
tiré du readme de pykota , voir la FAQ dans le répertoire de pykota pour plus de détails et quelle ligne indiquer dans la
crontab pour que le compteur s'efface chaque mois, année...)
\item En ligne de commande (dans un terminal) on voit avec "repykota --printer
Lex634LBRS" l'état des impressions sur l'imprimante spécifiée (sinon juste taper
"repykota"
\item Si apache est installé (avec la configuration /cgi-bin donné pour
/usr/lib/cgi-bin ) on peut copier le script cgi situé dans
/chez-vous/pykota/printquota.cgi dans /usr/lib/cgi-bin (un
http://localhost/cgi-bin/printquota.cgi donnera la même chose que repykota mais
en html)
\end{enumerate}
\section{Subtilités}
\begin{itemize}
\item Modifications dans /etc/pykota/pykota.conf pour le décompte des
impressions : décommenter harware(snmp) pour obtenir le décompte réel de
l'imprimante (avant et après impression), décommenter
software(/usr/scinpkpgcounter) pour un décompte logiciel
\begin{small}
\begin{verbatim}
#
# This value can be set either globally or on a per printer basis
# If both are defined, the printer option has priority.
#
# accounter: hardware(/usr/share/pykota/waitprinter.sh %(printer)s && /usr/bin/s
nmpget -v1 -c public -Ov %(printer)s mib-2.43.10.2.1.4.1.1 | cut -f 2,2 -d " ")
accounter: hardware(snmp)
# accounter: hardware(pjl)
#accounter: software(/usr/bin/pkpgcounter)
\end{verbatim}
\end{small}
\end{itemize}
\begin{figure}
\includegraphics[scale=0.5]{pykota.jpg}
\caption{Avec la commande repykota --printer Lex634LBRS}
\end{figure}
\end{document}
% Copyright (c) Chaumat Aurélie aurelie.cambourian@free.fr
% Permission is granted to copy, distribute and modify this document
% under the terms of the GNU Free Documentation License, Version 1.2
% or any later version published by the Free Software Foundation;
% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
% Texts. A copy of the license is included in the section entitled "GNU
% Free Documentation License".
% http://www.gnu.org/copyleft/fdl.html
Source (s) de l'article sur la gestion de parc avec Zope (tar.gz)
Source de la documentation (en GFDL) sur Plone (docplone0999.pdf)