All blog posts, code samples and downloads licensed under Apache License 2.0.

Setting up a print server with CUPS and SAMBA

First you have to install the base system like Raspbian or any other OS with full package support and writable partition - do not use OpenELEC, this cannot be customized.

I recommend Raspbian as it is closest to the native Debian distribution.

After the first boot your system will run "raspi-config". Select your options for keyboard, locales and timezone. I recommend to set the full size of the flash card as well. Also activate ssh to administer your device comfortably via an SSH client.

As you are on your console you enter the following command:

sudo apt-get update && sudo apt-get install mc cups samba samba-common-bin

This will install all needed modules. The package "mc" is for your convenience only.

To configure your CUPS I recommend this howto to setup a graphical web interface to configure your local printers that have to be connected via USB on the RPi:

After you setup your printer you shall open your samba server to your windows network by opening the /etc/samba/smb.conf file in an editor, e.g.

sudo nano /etc/samba/smb.conf

Search the following section and edit it to this result:

   comment = All Printers
   browseable = yes
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

Save the file with CTRL-o and leave nano with CTRL-x.

Restart the samba server with

sudo /etc/init.d/samba restart

And you are done!

Open windows explorer and type the ip or hostname in the address field, e.g.


You should see the printer you added via CUPS web interface. Right click on it and choose "connect...". Follow the instructions to install the printer.

Notice: your RPi does not deliver any drivers for the printer so you might have to install them in windows yourself.

Tagged with cups samba print server