Raspberry Pi: Print Server

One of the reasons I bought a Raspberry Pi was to use it as a multi-use server. Web server, SAMBA file server, PBX server, etc… And with our main printer being a Laser Monochrome without network, a Print Server was certainly be a great idea!

First off, the printer I had to share was a Brother HL-2130 series. We bought it from Harvey Norman earlier this year for under $100 to replace our out-of-ink HP Inkjet. For this guide, we're using:

  • Brother HL-2130 series
  • Raspberry Pi Model B, rev 2 — 512MB RAM
  • The latest Raspbian Image at the time: 2012-10-28-wheezy-raspbian
  • "Ondemand" overclocking to 1GHz using Turbo mode
  • CUPS (open source printing system for Unix systems)

Let's get started!

Step 1: Installing CUPS

Installing CUPS on the Raspberry Pi is pretty easy. First, let's update the packages on our Pi:

sudo apt-get update

Then, lets install it:
sudo apt-get install cups

Installation may take a couple of minutes, so sit back for a bit.

Step 2: Allow user pi to manage CUPS

Firstly, let's configure CUPS so that the pi user can configure the settings on it:

sudo usermod -a -G lpadmin pi

Step 3: Remote access for CUPS

CUPS is managed via a web interface on port 631. If you're running your Pi headless, you'll want to be able to manage your server remotely. Choose either method

The easier way to allow remote configuration is to simply replace the configuration file.

1. Firstly, stop the CUPS service:

sudo service cups stop

2. Backup the configuration file:

sudo mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak

3. Download the new configuration file:

cd /etc/cups/ && sudo wget http://jxeeno.com/local--files/blog:raspberry-pi:print-server/cupsd.conf

4. Restart CUPS

sudo service cups start

5. Accessing CUPS via your web-browser — Go to https://<Pi-IP>:631/ and allow for the "dodgy certificate"

Step 4: Setting the printer up on CUPS

Once your Pi's CUPS server is up and running, we can configure the printer! Plug your printer in via USB and turn it on. Open up the CUPS administration panel in your browser and you'll be greeted by a nice start screen.


  1. Click "Administration" along the top bar
  2. Click "Add Printer"
  3. You'll see your printer listed in the "Local Printers":
    Select it and click "Continue"
  4. Give the printer a name, etc…, and share it by checking "Share this Printer" and click "Continue"
  5. Choose your printer model (for drivers) and if you can't find it, choose a similar one (usually the closest number) and click "Add Printer"
    (e.g. I couldn't find the HL-2130, so I used HL-2140 instead.)
  6. You've set the printer up! You can now set some default values, etc…

Step 5: Connecting to your "network printer"

It's pretty easy to connect to your printer. Open up CUPS and navigate to your printer via "Printers" along the top and selecting your printer in the table. Once there, copy the URL from the browser. e.g. — mine is:

  1. Open up Device and Printers and Add Printer
  2. Add a network, wireless or Bluetooth Printer
  3. "The printer that I want isn't listed"
  4. Select "Select a shared printer by name" and paste the URL into the text field
  5. Click Next and then select the printer driver
  6. Done!

comments powered by Disqus

Old Comments

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +

Add a New Comment

Unless otherwise stated, all of the site's contents (including articles, blog post and code snippets) is:
Copyright © Kenneth Tsang 2014