Successfully tested on Ubuntu Server 10.04 LTS 64-bit

Having a network-capable printer greatly ease its installation and everyday use. It can be remotely managed or shared on the local network without having to setup (and keep turned on) a computer as a printer server for instance. It can also be located wherever you wish (especially if you use wireless or PLC networking technologies to connect the printer to the network) and, best of all, it’s very easy to install on Ubuntu Server Edition.

First thing to do is to install CUPS which handles printing on Ubuntu:

apt-get install cups

Next, we need to modify its configuration file /etc/cups/cupsd.conf.
Instruct the CUPS server to listen on the LAN interface only (reference to the loopback address can be commented out):

#Listen localhost:631

Set the authentication and permissions parameters in all the ‹Location› sections to limit access to sudoers only:

AuthType Default
Require user @admin
Order allow,deny
Allow @LOCAL

The following option can also be modified if you don’t want CUPS to share (publish) the printer:

DefaultShared no

Save the changes and restart CUPS:

service cups restart

Now, you can continue the installation using the web interface available at https://cups_server_hostname:631/admin. Just click on the “Add printer” button and follow the instructions. CUPS should automatically find your printer on the network. When asked to enter the printer’s make and model, best would be to provide a PPD file (driver) instead. You can often find this file by extracting the official Windows driver (at least that’s what I’ve done for my Dell 1700n printer).

Once all steps are completed, print a test page:

lpstat -p -d

If everything went fine, you should soon hear the printer coming to life.

That’s all Folks!

For further reading, see CUPS website.