Super Simple Raspberry Pi Print Server

For a log time I’ve been network printing in my house to a small laser printer connected to my Linux Server.  This year I decided to move my server to the basement of the house, but didn’t want to relocate the printer from the office. The solution was to pickup a cheap Raspberry Pi 2 and set it up with the same settings as my primary server. Yes this is a waste of a perfectly functional Pi, but you have to make sacrifices sometime.

Step 1: Install Raspbian

Won’t go into too much detail for this. The Raspberri Pi Foundation has instructions for setting up a Pi for the first time. I used the Jessie Lite image because a gui wasn’t needed for this setup. The only extra steps I took was to run raspi-config to expand the file system, change the user’s password, change the locale to en-US.UTF-8, change the time zone to US east coast,  change the keyboard layout to US, and enable SSH.

Step 2: Install CUPS

How-To Geek has a really great set-by-set tutorial for installing CUPS on a Raspberri Pi including all the extra steps for configuring your printer.

After all of that printing from a Linux computer or Mac was easy.

Step 3: Install Samba

Finally, the process of installing is pretty easy.

  1. sudo apt-get install samba
  2. sudo nano /etc/samba/smb.conf
    1. Find the section of the config that starts with “[printers]
    2. Set “browsable” & “guest ok” to “yes”
    3. Save the config
  3. sudo reboot

Now from a Windows computer you can browse to and the printer that is connected to the Raspberry Pi. There is one caveat: you must manually install the drivers on the Windows computer for the printer. Samba has a feature where you can load the drivers into the hidden “print$” share on the server, but outside of a Active Directory configuration I’ve been unable to setup management of that share from a Windows computer to the Pi.

Have fun.