Candid photograph of a Linux server terminal with a soft olive-green glow against a dark slate background, conveying a calm technical atmosphere.

Step-by-step guides for system administrators — covering command-line basics, web server setup, and preparation material for technical interviews.

Browse Tutorials

Set Up a CUPS Print Server on Fedora

Fedora can act as a central print server for a home or small office. This guide explains how to set up a print server with CUPS on Fedora, covering installation, queues, IPP access, discovery, and clients. The Common Unix Printing System acts as the print spooler, managing printers and jobs through command-line tools and a browser interface.

One Fedora machine can share a USB or network printer. A studio in Melbourne or shared workspace in Brisbane may keep one printer while staff submit jobs from notebooks. Modern hardware normally uses driverless IPP; older models may require a manufacturer PPD or generic PostScript driver.

Canon, Epson, HP, and Brother devices are widely sold in the Australian market, and staff often send documents from personal phones as well as team laptops. Give each physical printer a distinct queue name to avoid model confusion. The server also needs a stable LAN address from a DHCP reservation.

Printed output can contain personal information, so workplace rules and the Privacy Act 1988 may apply. Access should follow need-to-know groups, and discarded pages need secure disposal. The setup below uses a dedicated CUPS administration group, a restricted firewall, and server-side IPP rather than internet exposure.

Plan the Fedora print server

Decide whether the Fedora host is dedicated or runs other services. Set an internal name such as printserver.internal, use Ethernet where possible, and reserve its address in the router. Confirm it with ip -br address; an address change can break clients storing the old IPP URI.

Record printer models, connection methods, client systems, and subnet boundaries before installation. The Linux commands reference helps with hostnamectl, lpstat, and journalctl. DNS-SD works within a broadcast domain, so direct IPP addressing is better across routers or VLANs.

Install CUPS and supporting packages

Install CUPS, client utilities, and filters with sudo dnf install cups cups-client cups-filters. Add ipp-usb for compatible USB printers and Avahi for DNS-SD. Enable the daemons with sudo systemctl enable --now cups avahi-daemon.

Check lpstat -r for a running scheduler and lpinfo -v for backends. Before editing, copy /etc/cups to a dated backup. Keep local changes documented because package upgrades can restore defaults or replace configuration files.

Configure network access and discovery

Edit /etc/cups/cupsd.conf so Listen includes only the intended LAN interface, and set ServerName to the internal DNS name. Check with ss -lntp | grep 631. Avoid a wildcard listener on untrusted interfaces; CUPS would then depend entirely on the host firewall.

Add trusted administrators with sudo usermod -aG lpadmin username, then start a fresh login session for the change to apply. Ordinary users should manage their own jobs without queue-creation rights. Restrict the administration interface to the server or a trusted subnet.

Add and verify each printer

Run lpinfo -v and lpinfo -m to find the URI and drivers. For a driverless network printer, use sudo lpadmin -p Office -E -v ipp://printer.local/ipp/print -m everywhere, replacing the address with the endpoint. A USB printer handled by ipp-usb receives a similar URI; older hardware needs an exact PPD.

Verify with lpstat -t -p Office, submit a PDF using lp -d Office ~/test.pdf, and check completed jobs with lpstat -W completed -o Office. Set the server default with sudo lpadmin -d Office. A successful local test confirms filtering and printer communication before network access is involved.

If an archived DOS accounting package must submit work, the DOS4GW runtime notes can clarify its runtime limits. It still needs a compatible filter or driver, and a queue test reveals whether its old printing path reaches CUPS. Such integrations belong in separate queues.

Share queues across the local network

On a firewalld-managed Fedora host, allow IPP over TCP and DNS-SD with sudo firewall-cmd --permanent --add-port=631/tcp and sudo firewall-cmd --permanent --add-service=mdns, then reload. Confirm the active zone with firewall-cmd --get-active-zones. Open access only on the intended interface, not café or guest wireless networks.

Share only intended queues in the CUPS administration pages and give each a meaningful name. Routed clients should use ipp://printserver.internal/printers/Office when discovery fails. Keep administration limited to trusted accounts; CUPS cannot secure documents already collected in a physical tray.

Connect clients to the Fedora print server

On Fedora, install cups-client, then add the shared queue with lpadmin -p Office -E -v ipp://printserver.internal/printers/Office. Confirm the default using lpstat -d and test with lp -d Office ~/document.pdf. If remote queue creation is blocked, an administrator can create it on the server.

Windows and macOS can add an IPP printer using the same complete URI. iOS devices work with AirPrint-compatible software, while Android support depends on the print service and vendor application; some built-in dialogs cannot accept an arbitrary CUPS address. Managed devices may need the organisation’s internal certificate authority to trust CUPS.

Secure, test, and maintain CUPS

Keep packages current with sudo dnf upgrade, then check systemctl status cups and lpstat -r. Do not expose CUPS administration to the internet, and leave legacy CUPS browsing off unless required. If SELinux blocks access, inspect ausearch -m AVC -ts recent instead of disabling mandatory access control.

Back up /etc/cups and record queue names, URIs, and default options because upgrades or disk replacement can remove local settings. Avoid routinely copying /var/spool/cups, where queued documents may contain sensitive data. This Fedora phpMyAdmin guide illustrates that separation.

The arrangement to remember is straightforward: one stable Fedora host, one CUPS queue per physical printer, and clients using each queue’s complete IPP URI. Stable addressing, verified IPP paths, deliberate sharing rules, and current packages give an Australian office or home network a dependable print server.