
A PDF server can turn out to be a very useful tool, specially in Windows environments, where users usually do not have the software to convert any document to this standard format.
This article was originally written for Ubuntu 7, but we now know it works for Ubuntu 10 as well – thanks Shooda!
To start, install the CUPS service and CUPS-PDF files:
sudo apt-get install cupsys sudo apt-get install cups-pdf
Now configure CUPS to allow remote administration:
sudo nano /etc/cups/cupsd.conf
Modify the port where CUPS listens from:
Listen localhost:631
to:
Listen 631 Listen /var/run/cups/cups.sock Listen 192.168.1.1:9100
The 192.168.1.1:9100 address allows you to connect to CUPS using the server’s network interface (192.168.1.1) on port 9100. I chose that port because that is the default port for HP printers (you can use the default port 631).
Also modify these options to match the ones here:
# Show shared printers on the local network. Browsing On BrowseOrder allow,deny BrowseAllow all BrowseAddress @LOCAL # Default authentication type, when authentication is required... DefaultAuthType Basic DefaultEncryption Never # Restrict access to the server... <Location /> Order allow,deny Allow all </Location> # Restrict access to the admin pages... <Location /admin> Order allow,deny Allow all </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny Allow all </Location>
What you just did was to allow remote administration from any computer on the network. The DefaultEncryption option was to avoid the following error:
426 - Upgrade Required when using the CUPS web interface
Restart the CUPS service:
sudo /etc/init.d/cupsys restart
Ubuntu 7 Only: To perform administrative task remotely CUPS will ask you for a password. So let’s allow CUPS to read the password file:
sudo adduser cupsys shadow
Ubuntu 8 Only: AppArmor seems to cause a remote connection problem, so execute the following command to fix it
sudo aa-complain cupsd
It’s time to check you can access it from another computer. Open a web browser and type the following address:
http://192.168.1.1:9100
You should see the CUPS page.
To add the PDF printer from the CUPS page click on Administration
![]()
Click on Add Printer
![]()
Type a name for your printer, for example PDFPrinter and click Continue

Ubuntu 7 Only: Select Virtual Printer (PDF Printer) and click Continue

Ubuntu 8 Only: Select Print into PDF File (Generic PDF file generator) and click Continue

Select Raw and click Continue

Select Raw Queue (en) and click Add Printer 
By now your print server is ready to accept conections. So let’s configure Windows. From the Add Printer Wizard select A network printer, or a printer attached to another computer.
Select Connect to a printer on the Internet or on a home or office network and type:
http://192.168.1.1:9100/printers/PDFPrinter
where PDFPrinter is the name you assigned itsome steps before.
Following the recommendation of Joe Brockmeier, select the HP DeskJet 1200C/PS driver.
And now it’s time to send a test page!
Your PDF files will be under
/var/spool/cups-pdf/ANONYMOUS/
If you want to change that directory you can:
Open your cups-pdf configuration file:
sudo nano /etc/cups/cups-pdf
And change this line:
AnonDirName /path/to/your/pdf/files
I recommend you to install the Apache Web Server to let users access their PDF files. You can do this by pointing AnonDirName to a subdirectory of Apache. Also you should configure a cron job to automatically delete jobs older than 1 hour or so. I want to thank Joe Brockmeier and metalhippyrich for their excellent pages on this topic.