Raspberry Pi as printing/file server

Set up raspberry pi as a printing server using cups and file server using samba.


Soft- and hardware specs: I’m using:

  • Raspberry Pi 3B+ Model
  • Raspberry Pi OS (aka. Raspbian)
  • Brother DCP-7055 Printer

TIP: Setup Raspbian SSH connection without a monitor:

for the newest Raspberry Pi OS, SSH is not enabled by default. To enable SSH without a monitor: create a file named ssh under /boot directory.

Printer Drivers

Cups doesn’t support some of the printers out of the box (like my brother dcp-7055). You may need to manually find and install the driver for your printer.

In my case, it’s as simple as installing the package brlaser:

apt-get install printer-driver-brlaser

(SEE https://github.com/pdewacht/brlaser)


First install the cups package.

apt-get install cups

Give pi user privileges to configure cups (suppose you are using raspberry, whose default user is pi).

sudo usermod -a -G lpadmin pi

Edit cups config, so that we can configure cups via network panel. Edit /etc/cups/cupsd.conf as following:

change the line

Listen localhost:631




Browsing On
BrowseLocalProtocols dnssd


Browsing On
BrowseAllow all
BrowseAddressLocalProtocols CUPS dnssd
BrowseAddress @LOCA

Find the following three sections:

<Location />
<Location /admin>
<Limit Create-Job Print-job Print-URI Validate-Job>

And add this line to each

allow 192.168.0.*

NOTE: change this address accordingly to your machine and router configs.

Now restart the cups service.

sudo service cups stop
sudo service cups start

Well, I don’t know why, but service cups reload won’t work….

add printer

Access the web config panel via port 631, e.g. from browser. Go to Administration page, and hit “add printer”. Make sure the printer is connected to the Pi before doing this.

And follow the instruction.

In the right hand side of Administration page, mark “Share Printers connected to this system”. Now the printer server should work~

Setting up samba

… well maybe update this post later

Jul 22, 2020

[+] click to leave a comment [+]
the comment system on this blog works via email. The button
below will generate a mailto: link based on this page's url 
and invoke your email client - please edit the comment there!

[optional] even better, encrypt the email with my public key

- don't modify the subject field
- specify a nickname, otherwise your comment will be shown as   
- your email address will not be disclosed
- you agree that the comment is to be made public.
- to take down a comment, send the request via email.


Fun with Image Maps and SVGs via benji February 20, 2024

Over the past few weeks I've been playing around with making some images on my website interactive. My "informatics" class in high school taught us some basic HTML. By basic I mean in notepad and writing everything by hand, saving to a...

Goblin Week 2024 via Helvetica Blanc January 26, 2024

It snuck up on me, but I managed to draw my little goblins to celebrate the week! I love my children - they're like awful Pikmin. I've uploaded the whole parade as a print, as well as individual prints for each goblin. There's something very fu…

How to trust gpg keys via Travis Shears Personal Site October 27, 2023

After moving some GPG keys to a new computer I kept getting these trust warnings. It is NOT certain that the key belongs to the person named in the user ID.If you * really * know what you are doing, you may answer the next question with yes. Use this key a…

Generated by openring from webring