Ensures PyKota downloaded from Subversion is installed and functional under Debian Before being able to install PyKota, some packages have to be downloaded and installed. CUPS is installed CUPS is not installed PyKota currently only works with the CUPS printing system, and must be installed on the print server. So before installing PyKota you must first install CUPS. You can install it with 'apt-get install cupsys' Python is installed Python is not installed PyKota is 100% written in the Python language. To install PyKota you need both Python and Python's Distutils facility, available from Python's development package. You can install these packages with 'apt-get install python python-dev' Subversion is installed Subversion is not installed PyKota's latest development tree is always available with Subversion, aka the 'svn' command. To be able to download PyKota, the 'svn' command must be present. You can install it with 'apt-get install subversion' PyKota is downloaded PyKota is not downloaded PyKota must be downloaded before being installed. You can download its latest development tree with 'svn export svn://svn.librelogiciel.com/pykota/trunk pykota' PyKota depends on a lot of third party software. Some of them are required, other ones simply recommended : they don't prevent most of PyKota from working, but some functionnalities will be unavailable to you if they are not installed. You can see the status for each of PyKota's dependencies with 'python pykota/checkdeps.py' python-egenix-mxdatetime is installed python-egenix-mxdatetime is not installed python-egenix-mxdatetime is required for PyKota to work. You must install it with 'apt-get install python-egenix-mxdatetime' python-imaging is installed python-imaging is not installed python-imaging is required for PyKota to work. While basic PyKota functionnality may work without python-imaging, it is highly recommended that you install it You must install it with 'apt-get install python-imaging' python-pygresql is installed python-pygresql is not installed I don't want to use a PostgreSQL database backend for PyKota python-pygresql allows PyKota to use a PostgreSQL database backend. If this is what you want you must install it with 'apt-get install python-pygresql' python-ldap is installed python-ldap is not installed I don't want to use an LDAP database backend for PyKota python-ldap allows PyKota to use an LDAP database backend. If this is what you want you must install it with 'apt-get install python-ldap' python-mysqldb is installed python-mysqldb is not installed I don't want to use a MySQL database backend for PyKota python-mysqldb allows PyKota to use a MySQL database backend. If this is what you want you must install it with 'apt-get install python-mysqldb' python-pysqlite2 is installed python-pysqlite2 is not installed I don't want to use an SQLite database backend for PyKota python-pysqlite2 allows PyKota to use an SQLite database backend. If this is what you want you must install it with 'apt-get install python-pysqlite2' python-osd is installed python-osd is not installed I don't want to use 'pykosd', PyKota's X-Window end user print quota reminder python-osd is only needed if you want to use the 'pykosd' utility, which is an X-Window print quota reminded for end users. You can install it with 'apt-get install python-osd' python-pysnmp4 is installed python-pysnmp4 is not installed I don't want to use PyKota's internal SNMP hardware accounting python-pysnmp4 allows PyKota to compute the size of print jobs by retrieving a printer's internal page counter through SNMP queries at the start and at the end of printing. If you don't want to use hardware accounting you don't need to install this module. You can install it with 'apt-get install python-pysnmp4' python-jaxml is installed python-jaxml is not installed I don't want to use PyKota's XML data dumping facilities python-jaxml allows PyKota's data dumper command, named 'dumpykota' to dump the database's contents into XML formatted documents. If you don't want to use this facility, the data dumper can still dump in several CSV formats. You can install it with 'apt-get install python-jaxml' python-reportlab is installed python-reportlab is not installed I don't want to use PyKota banners, nor its invoicing and refunding modules python-reportlab allows PyKota to generate PDF documents as part of its invoicing and refunding modules, and is also used to produce PyKota generated dynamic banner pages for print jobs. If you don't want to use any of these facilities, you don't need to install this module. You can install it with 'apt-get install python-reportlab' python-chardet is installed python-chardet is not installed Our system is correctly configured and up-to-date so PyKota won't need this module python-chardet allows PyKota to automatically detect the character set used in a print job's textual information (like its title) in the case your system and/or installed release of CUPS doesn't produce UTF-8. It can also be useful when dumping incorrectly encoded database contents (because of the problem mentioned above). You can install it with 'apt-get install python-chardet' python-pam is installed python-pam is not installed I don't want to force the authentication of end users at printing time through pknotify+PyKotIcon python-pam allows PyKota to check an user's name and password through PAM at printing time, provided you use the PyKotIcon end user helper tool on all client hosts. If you don't have guest logins or people with administrator (or root) access on their own machine, you probably don't need this module. You can install it with 'apt-get install python-pam' python-pkipplib is installed python-pkipplib is not installed PyKota v1.26 is the latest release which still falls back to another method if pkipplib is not installed python-pkipplib allows PyKota to dialog with CUPS directly, instead of having to parse CUPS' configuration file to learn some details. Unfortunately this library is not yet available as a package, so you must download and install it manually. You can download it with 'wget http://www.pykota.com/software/pkipplib/download/tarballs/pkipplib-0.07.tar.gz' pkpgcounter is installed pkpgcounter is not installed Only advanced PyKota administrators can make PyKota work without pkpgcounter. I am an Advanced PyKota Administrator pkpgcounter is PyKota's Page Description Languages parser. It really is the heart of software based accounting methods in PyKota, since it is responsible for counting pages and computing ink usage. While you can make PyKota work without pkpgcounter, this is not recommended excepted in the situations where you've got a better or faster parser. Unfortunately this software is not yet available as a package, so you must download and install it manually. You can download it with 'wget http://www.pykota.com/software/pkpgcounter/download/tarballs/pkpgcounter-2.17.tar.gz' python-psyco is installed python-psyco is not installed python-psyco is not supported on this platform python-psyco is an accelerator module for the Python language which can make the parsing of Page Description Languages by pkpgcounter faster. It is only supported on the x86 platform though, so if you use something else you won't be able to install it. It recommended but not necessary that you install it for PyKota to work. You can install it with 'apt-get install python-psyco' PyKota needs to be installed on the CUPS server. Working directory is now pykota/ Current working directory is not pykota/ PyKota's installation script expects to be run from PyKota's download directory. You've previously downloaded PyKota into the ./pykota/ directory, so you can go to this directory with 'cd pykota' PyKota files are installed PyKota's files are not installed PyKota's files must be installed on your system for PyKota to work. Once you're in the pykota/ directory you can install them with 'python setup.py install' The 'pykota' system group exists The 'pykota' system group doesn't exist PyKota requires a dedicated system group named 'pykota', you can create it with 'addgroup --system pykota' The 'pykota' system user exists The 'pykota' system user doesn't exist PyKota requires a dedicated system user named 'pykota'. You can create it with 'adduser --system --ingroup pykota --home /etc/pykota --gecos PyKota pykota' pykota.conf now exists in ~pykota/ pykota.conf doesn't exist in ~pykota/ PyKota's main configuration file is named 'pykota.conf' and must be present in user pykota's home directory, by default /etc/pykota/ pykotadmin.conf now exists in ~pykota/ pykotadmin.conf doesn't exist in ~pykota/ PyKota's administrative configuration file is named 'pykotadmin.conf' and must be present in user pykota's home directory, by default /etc/pykota/. All users who can read this file have write access to PyKota's database. Permissions on configuration files are correct Permissions on configuration files are incorrect Any user who with read access to ~pykota/pykotadmin.conf will be considered a PyKota administrator, with full read+write access to PyKota's database. Any user with read access to ~pykota/pykota.conf will have read access to PyKota's database. Access is limited to this particular user's personal datas and to impersonal datas like printers informations. Take extreme care when relaxing the permissions on those files. In any case, the user CUPS runs as, for example 'lp' or 'cupsys', MUST be given read access to both of these files for PyKota to work. Under Debian, CUPS currently runs as root, following the recommandations from CUPS' authors, so it's safe to make both of these files owned by user pykota:pykota and chmod 0640. You can even make ~pykota/pykotadmin.conf be chmod 0600 if you want to be really secure. PyKota configuration files are correct PyKota configuration files are incorrect PyKota's configuration files must be adapted to your own configuration, and you can do this with any text editor of your choice. In particular, the usernames and passwords used for the readonly and the read+write database accounts have to be put there. You'll also define the print administrator's name and email address, and define the hostname of your SMTP server. Finally many configuration directives must be checked or modified to control PyKota's behavior. To help you in doing this, the sample configuration files which you have installed are extensively documented with comments. cupspykota is installed cupspykota is not installed To be able to route printing traffic through PyKota, CUPS must be told that PyKota is installed. To do this, we must add the 'cupspykota' backend wrapper to CUPS' backend directory, usually '/usr/lib/cups/backend'. To do this the easiest is to create a symbolic link : 'ln -s /usr/share/pykota/cupspykota /usr/lib/cups/backend/' and then '/etc/init.d/cupsys restart' PyKota is known to CUPS PyKota is not known to CUPS Once you've installed the 'cupspykota' backend wrapper and restarted CUPS. You may want to check that CUPS recognizes it. Just look at http://cupsserver.example.com:631/admin/ to see if any 'PyKota managed' device is available. If none is available the permissions on the cupspykota backend are probably incorrect for your setup : the user CUPS runs as MUST be able to exectute the 'cupspykota' backend wrapper, as well as to read both PyKota's configuration files.