This is an old revision of the document!
Table of Contents
Using making a print server for home use out of any old slackware box
After recently upgrading my home wifi network to use wpa2 my old edimax wifi print server stopped working dew to incompatibility with wpa2. I did not want to have to leave a PC on all the time neither did I want to directly connect the PC I wanted to print from to the printer itself.
The most elegant solution would have been to setup some low power ARM device (naturally running slackware ARM) to become a print server.
I know it's not a difficult thing but since the last time I did something like this a lot of things have changed so I thought that other people could benefit from a quickstart to get going really fast … so here we go:
Setting up the printer on the print server
First thing you might find handy to know is that it is not mandatory to have the correct print filter for the printer on the print server, the client is mandated with that burden. The print server needs only have the printer configured as a raw printer.
The printer server will need cups, cyrus-sasl and openssl packages (openssl is only mandatory if you wish to remotely administer cups). Once you have these installed on the print server you can then just give execure permissions to /etc/rc.d/rc.cups and then start it. If you intend to remotely administer it you might like to execure this command to allow it:
cupsctl --remote-admin
then fire up your browser and access
http://<your print server ip>:631 or http://localhost:631 on the printserver itself
Go ahead and configure the local printer as a raw printer. Be sure to check the box for a shared printer.You can call the printer whatever you like but for convenience in this guide we will call it “test”. Your /etc/cups/printers.conf should look like this:
<Printer test> UUID urn:uuid:8d60a6be-4d86-3abf-5b8d-d5a03f10a753 Info test printer Location test location DeviceURI hpfax:/usb/psc_2500_series?serial=XXXXXXXXX (HP psc_2500_series) #this is just an example your setup will depend on the printer brand on how it is connected to the print server State Idle StateTime 16147 Type 4 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy abort-job </Printer>
If you have the drivers for your printer you can optionally configure it with the correct print filter but it's not mandatory. If you do have them it might be a good idea to configure it right just to check that the printserver can correctly use the printer.
Once the printer is configured you can then instruct cups to accept remote printing requests:
cupsctl --share-printers --remote-any --remote-admin
Setting up the printer on the print clients
Now go on the PC's where you want to access the printer and configure an ipp remote printer with the correct driver for the printer. The /etc/cups/printers.conf should have an entry similar to this:
<Printer test> UUID urn:uuid:6abca077-c999-3d8a-5ce0-41b7bd3c2ddf AuthInfoRequired none Info test Location study room MakeModel Generic PostScript Printer #in my case it's a generic PS but this is dependent on your printer DeviceURI ipp://<print server ip address>:631/printers/test State Idle StateTime 1387373858 Type 8400972 Accepting Yes Shared No JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy abort-job </Printer>
You may now try printing a test page on the client PC.
Sources
* Originally written by louigi600