> Company- and IT-organisation

> IT-equipment and installation

> Service-applications for the Server
> Service-applications for the Router
> Service-applications for a Workstation

Using the CUPS Printing System under Fedora Core 3

* For this document and all references (links) please obey the hints and regulations concerning copyright, disclaimer and trademarks.

  • The owner of this web-site (www.javascout.biz) is not responsible for the content of web-sites linked within this document or linked within other documents of www.javascout.biz.

  • If this document or other documents of this web-site (www.javascout.biz) infringes your rights or you think that rights of others (third parties) are infringed, please inform the author.
    An e-mail can be sent by clicking onto the 'hungry mailbox' in the upper right corner.

Last revision of this document:
2006-10-10

This document describes the setup of a CUPS (Common Unix Printing System) daemon on a machine with a connected printer and the usage of the remote printer(s) from another machine (usually a Workstation).

Overview:

Installation and configuration of the CUPS server (daemon)

Using a CUPS server from a Workstation

Preface:

CUPS – a good idea with a very week documentation for beginners !

First for the good idea:

The creators of the Internet Printing Protocol (IPP), which CUPS uses, had the following ideas:
* Keep the printer drivers at the machine where the printer is actually connected to.
   From there, any machine that wants to use the printer can load the driver.
   This avoids the installation of printer drivers at numerous machines that want to use a networked printer.
* Each CUPS-server broadcasts the printer(s) that are operational at its machine.
   This allows each machine in the network to keep the list of available printers updated.
   Further it avoids loss of time to search a printer when the print-job has to be started.
* At last, it allows a 'clustering of printers'; that means two or more printers forming a cluster.
   This cluster is visible like a single printer to application programs.
   CUPS distributes the print jobs to the printers within the cluster and even recognizes if a printer is no longer available.

The later feature brings CUPS to the world of 'enterprise servers' were you can set up a 'farm of printers' with failover capabilities.

The feature of broadcasting is more sophisticated – particularly if you use a WLAN (Wireless Local Area Network).
It may attract jokers. As soon as they cracked the encryption of your WLAN, they see all available printers and might fill up the printing queue with paperwasting jobs.

And now for the week documentation that made the setup of CUPS a nightmare for me:

That is my opinion after hours of trial to make this system work to behave like SaMBa.
When I read the documentation of CUPS (http.//www.cups.org), I felt like I should enter a train passing by the station with at least 50 km/h.
There were a lot of parameters in the configuration file (/etc/cups/cupsd.conf) – and no ranking of the priority (which can be left at the default value and which parameters are inevitable to adapt the system).

After hours of reading postings on the web, I formed a view on the fact that CUPS and RedHat-distributions do not cooperate very well.
Instead of fixes for the weaknesses of others I found some postings pointing with the fingers to each other.

Finally I found the essential article that solved my problem – a big 'Thank You' to the anonymous author of the article mentioned under Credits.

Credits:

An article that is very helpful to identify the parameters that have to be adapted to your system.
And the essential hint to open the CUPS-server to communicate to other machines on the network.
http://gentoo-wiki.com/HOWTO_Linux_printer_sharing_with_CUPS

A BIG Thank You to the anonymous author !

Installation and configuration of the CUPS server (daemon)

Prerequisites:

Installation-instruction

Start the CUPS server automatically

Usually, the CUPS-server should automaticallybe started during start-up of Linux.
To check if CUPS is in the list of services to be started, open a 'Terminal' window and enter
ntsysv

Check if the printer is already configured – or configure it for CUPS

Change the configuration file so that the CUPS server accepts print jobs from other machines within the network.

The configuration file contained in the CUPS package is configured for very tight security – so the CUPS-server just accepts orders from the machine where it is running.
Of course, this contradicts to the idea of CUPS.
On the other hand, if you operate a WLAN (Wireless Local Area Network), a joker from the street may break into your network and manipulate unsecured areas of CUPS.

So the configuration is opened a little bit to accept print jobs from other machines within the local network and allow users within the network to reprint or delete print-jobs.

The requirement is:
* Allow administration tasks only from the local machine; that prevents that printers are deleted or manipulated.
* Allow all users on the network to print, view and manipulate print jobs without further identification.
   This bears the risk that a joker, who broke into your network, can delete print-jobs or using up all your paper over the weekend.
   I think that is tolerable for a small office or home office, as the low-cost printers do not have too much paper loaded which can be wasted by a joker.

To change the CUPS configuration file use an editor and open /etc/cups/cupsd.conf and find and change the parameters listed below.

To top of document.

Using the CUPS server from a local Workstation

The description in this section is mainly identical with Printer setup under RedHat**-Linux** 9 or Fedora Core 3 | Setup of a local printer under GNOME.
Therefore, not all steps are supported with screenshots - just the ones dealing with the difference when using a printer on a CUPS server.

RedHat**-Linux** Version 9 offers an assistant to set up a printer with a graphic tool.
N.B.: The setup was performed under GNOME - I did not verify if there is a similar option under KDE.

Prerequisites:

Installation-instruction:

The assistant is started by navigating to > System Settings > Printing.

After clicking onto 'Printing', the 'Printer configuration' window appears.
To configure a new printer, click onto the [New] icon.

The following window appears. The message is confirmed by pressing the [Forward] button.

The following window allows to enter a name and a descrption for the printer to be installed.
The entered values are confirmed by
pressing the [Forward] button.

On the next window, the kind of 'queue type' (Networked CUPS (IPP) in this case) is selected.
After selecting this, the window changes and shows entry fields for
* the 'Server' where CUPS is running and
* the 'Path'; that is the symbolic name of the printer – given when the CUPS server was set up in the section before.



After entering the values and pressing the [Forward] button, the installation process continues as described in
Printer setup under RedHat**-Linux** 9 or Fedora Core 3 | Setup of a local printer under GNOME.

Additional hints:

When the setup-assistant completes the installation procedure there is frequently an error-message that the test-page could not be printed.
It is suspected, that some task are already starting while prerequisite one are not yet completed.

Test:

On the 'Printer configuration' window, select the printer to be tested and select > Test > CUPS test page from the drop-down-menu.

A test-page will be printed thereafter.

To top of document.