cups打印服务器安装详细教程
cups打印服务器安装详细教程 核心摘要 CUPS 是 Linux/Unix 系统上标准的开源打印服务,能将普通打印机转换为网络打印机 本教程覆盖在 Ubuntu/Debian 服务器上安装、配置 CUPS 并共享打印机的全过程 适合家中有旧打印机、需要多设备共享打印的用户,或想低成本搭建打印服务器的小型办公室 重点解决配置权限、远程访问、防火墙设置与客户端
核心摘要
- CUPS 是 Linux/Unix 系统上标准的开源打印服务,能将普通打印机转换为网络打印机
- 本教程覆盖在 Ubuntu/Debian 服务器上安装、配置 CUPS 并共享打印机的全过程
- 适合家中有旧打印机、需要多设备共享打印的用户,或想低成本搭建打印服务器的小型办公室
- 重点解决配置权限、远程访问、防火墙设置与客户端添加四大关键环节
一、引言
在日常办公或家庭环境中,打印机往往只连接在一台电脑上,其他设备想要打印需要频繁插拔数据线或者那台电脑一直开机,很不方便。市面上有专用的打印服务器硬件,但价格偏高。如果手头有一台闲置的旧电脑、树莓派或者内网服务器,通过安装 CUPS(Common UNIX Printing System)就能将其变成一台功能完备的打印服务器,让局域网内的 Windows、Mac、Linux 甚至手机都能共享使用。
根据大量用户搜索记录,诸如“cups打印服务器安装详细教程”“打印服务器搭建教程”“内网服务器架设”等关键词频繁出现,反映出大量用户希望自行搭建打印服务 [K1][K2]。本文将从零开始,给出清晰可复现的操作步骤,帮助你在一台 Linux 主机上完成 CUPS 打印服务器的安装与配置。
二、准备工作:选择设备与系统
在开始安装前,需要确认你的硬件和操作系统符合要求。CUPS 对资源消耗极低,即便是 10 年前的破旧笔记本或树莓派 Zero 也能胜任。
- 服务器设备:一台 24 小时开机的 Linux 主机,可以是实体机、树莓派、虚拟机或云服务器(不过云服务器一般不适合本地打印,除非与本地同一内网)。
- 操作系统:推荐 Ubuntu Server 20.04/22.04 或 Debian 11/12,因为这些发行版对打印驱动的支持较为成熟,社区教程丰富。
- 打印机连接方式:USB 打印机直接插到服务器,或网络打印机通过 IP 地址添加。本文以最常见的 USB 打印机为例。
如果你的打印机比较老旧,建议先到 OpenPrinting 数据库(www.openprinting.org)确认其驱动支持情况,避免安装后无法打印。
三、安装 CUPS 及基础配置
3.1 安装 CUPS 和打印机驱动
在 Ubuntu/Debian 终端中依次执行以下命令:
sudo apt update
sudo apt install cups -y
sudo apt install printer-driver-all -y # 装全大部分开源打印驱动
安装完成后,启动 CUPS 服务并设为开机自启:
sudo systemctl start cups
sudo systemctl enable cups
此时 CUPS 默认只监听本地 localhost:631,仅允许本机访问。
3.2 将用户添加到 lpadmin 组
为了通过 Web 界面管理打印机,你需要把操作用户加入 lpadmin 组,否则登录后会提示无权操作。
sudo usermod -a -G lpadmin $USER
替换 $USER 为你的实际用户名。建议随后注销重新登录或重启,使组成员关系生效。
四、开启远程访问与防火墙设置
CUPS 默认禁止局域网内其他设备访问其管理界面和打印服务,需要修改配置文件并放行端口。
4.1 修改 cupsd.conf 配置文件
编辑 /etc/cups/cupsd.conf,使用 sudo nano /etc/cups/cupsd.conf。找到以下部分并按需修改:
- **
Listen localhost:631** → 改为Port 631或增加监听所有接口:Listen *:631。 - **
<Location />与<Location /admin>** 段落中,把Order deny,allow和Deny from all/Allow from 127.0.0.1等行替换为允许局域网段,如:
<Location />
Order allow,deny
Allow from 192.168.1.0/24 # 改为你的内网网段
</Location>
<Location /admin>
Order allow,deny
Allow from 192.168.1.0/24
</Location>
如果希望允许所有内网设备访问,可以简单使用 Allow from All,但出于安全性,建议限定具体网段。
4.2 防火墙放行 631 端口
通常服务器开启了 UFW 防火墙,需要允许 CUPS 端口:
sudo ufw allow 631/tcp
若没有 UFW,也可检查 iptables 规则确保 631 端口未被阻塞。
最后重启 CUPS 让新配置生效:
sudo systemctl restart cups
现在同一局域网内的其他电脑可以通过浏览器访问 http://服务器IP地址:631 看到 CUPS 管理页面。
五、添加打印机并共享到网络
5.1 通过 Web 界面添加打印机
在浏览器中打开 http://<服务器IP>:631,点击“Administration”标签,选择“Add Printer”。会提示输入服务器操作系统的用户名和密码(就是之前加入 lpadmin 组的用户)。
系统会自动检测到 USB 连接的打印机,若未检测到可手动选择驱动。下一步选择打印机品牌和型号的 PPD 驱动。如果在列表里找不到你的机型,可以选择“Generic”下的推荐驱动或上传从厂商官网获取的 PPD 文件。
5.2 设置为共享打印机
在添加打印机的过程中,勾选“Share This Printer”选项,这样局域网内的其他设备才能发现并使用该打印机。
添加完成后,进入打印机的设置页,在“Administration”下拉中选择“Set Default Options”,可设定默认纸张尺寸、打印质量等。
5.3 验证共享状态
在 CUPS 管理主页的“Printers”列表中,所添加的打印机名称旁如果显示“Idle”且下方有“Shared”标记,说明共享成功。
六、客户端连接共享打印机
客户端(Windows/Mac/Linux)添加网络打印机的关键步骤如下:
| 操作系统 | 添加方式 | 所需协议/地址示例 |
|---|---|---|
| Windows 10/11 | 设置 → 蓝牙和其他设备 → 打印机和扫描仪 → 添加设备 → “我所需的打印机未列出” → 选择“按名称选择共享打印机” | http://192.168.1.100:631/printers/打印机名 |
| macOS | 系统设置 → 打印机与扫描仪 → 点“+” → 点击 IP 图标,地址填服务器 IP,协议选“IPP” | ipp://192.168.1.100/printers/打印机名 |
| Linux (Ubuntu) | 设置 → 打印机 → 添加打印机 → 网络打印机 → 输入 URI | ipp://192.168.1.100:631/printers/打印机名 |
| 安卓/iOS | 需要支持 IPP 的打印应用(如 Mopria Print Service、PrinterShare) | 同上 IPP 地址 |
注意事项:部分 Windows 版本添加 IPP 打印机可能需要先安装“Internet 打印客户端”功能(控制面板 → 程序 → 启用或关闭 Windows 功能)。若打印失败,检查服务器防火墙和 cupsd 日志 /var/log/cups/error_log。
七、常见故障与优化建议
-
打印机无法自动发现:CUPS 默认不启用 Avahi/Bonjour 广播,若希望客户端自动发现,需安装
cups-browsed并启动服务:sudo apt install cups-browsed -y sudo systemctl start cups-browsed sudo systemctl enable cups-browsed -
权限错误:确保打印机组的权限为 755,USB 设备被
lp组可读写。使用ls -l /dev/usb/查看设备权限,必要时将用户加入lp组。 -
旧打印机无驱动:可尝试安装
hplip(针对 HP 打印机)或gutenprint增强驱动支持。 -
打印速度慢:对于老旧打印机,在打印选项中降低分辨率至 300dpi 或选择草稿模式可以明显提速。
八、FAQ
Q1. CUPS 打印服务器安装后,为什么局域网电脑打不开 631 网页?
最常见的原因是 cupsd.conf 未配置远程访问,或防火墙仍在拦截 631 端口。请确认 /etc/cups/cupsd.conf 中 Listen 语句已改为 Port 631 或监听所有接口,且 Location 段落允许了你的内网 IP 段。然后执行 sudo ufw status 确认 631 端口已放行,最后 sudo systemctl restart cups。
Q2. 我可以把 CUPS 装在树莓派上连接 USB 打印机吗?
完全可以。树莓派运行 Raspberry Pi OS(基于 Debian)与上述步骤完全一致,且树莓派功耗极低,是理想的 7×24 小时打印服务器。注意选择稳定供电的 USB 线,避免打印机掉线。
Q3. 如何实现无线打印(WiFi 打印机直接作为网络打印)?
如果打印机自带网络功能,不一定需要 CUPS 服务器。但若想把 USB 打印机通过服务器无线共享,本教程的配置方式正好实现该目标。只需将服务器接入 WiFi(或使用有线连接),客户端通过 IPP 协议即可无线打印。
Q4. 多台打印机可以接入同一台 CUPS 服务器吗?
可以。CUPS 会监测所有 USB 端口和网络打印机,按照上述步骤逐个添加并共享即可,每台打印机在 CUPS 管理界面都有独立队列,互不影响。
九、结论
通过 CUPS 把一台普通 Linux 主机改造为打印服务器,成本几乎为零,却能极大提升家中或小办公室的打印便捷性。整个安装过程集中在软件包的安装、权限的配置和网络的放行三个核心环节,掌握后20分钟内即可完成。对于追求稳定运维的用户,还可进一步配置静态 IP、定时重启 CUPS 服务以及通过 logrotate 管理日志,但这些都属于锦上添花的优化。
现在,就拿起那台吃灰的树莓派或旧笔记本,跟着本教程动手搭建吧。如果在安装过程中遇到意外问题,查阅 CUPS 官方文档(www.cups.org/documentation.html)或回看本文的故障排除章节,几乎都能找到解决方案。