Biến Ubuntu thành Print Server với CUPS: Giải pháp in ấn ổn định cho văn phòng nhỏ

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

Tại sao nên dùng Ubuntu làm Print Server?

Cảnh tượng cầm dây USB chạy quanh văn phòng để cắm vào máy in có lẽ đã quá quen thuộc, nhưng cũng cực kỳ phiền phức. Thay vì chi 3-5 triệu đồng mua máy in mạng (Network Printer) mới, bạn có thể tận dụng một chiếc Mini PC cũ hoặc Raspberry Pi chạy Ubuntu để làm máy chủ in ấn.

Tôi đã triển khai hệ thống này cho một văn phòng 15 người với chiếc HP LaserJet 1020 cũ kỹ. Sau hơn 6 tháng, hệ thống vẫn chạy mượt mà, không cần khởi động lại. Một chiếc Mini PC chỉ tiêu thụ khoảng 10-15W điện, thấp hơn nhiều so với việc duy trì một máy tính Windows 24/7 (thường ngốn trên 100W) chỉ để share máy in. Ubuntu Server rất nhẹ, quản lý tập trung và tương thích tốt với cả Windows, macOS lẫn Linux.

Cài đặt CUPS trên Ubuntu

Các bước dưới đây áp dụng tốt trên cả Ubuntu 22.04 và 24.04. Trước tiên, hãy kết nối máy in vào cổng USB của server và đảm bảo máy đã nhận diện thiết bị.

Cập nhật kho phần mềm và cài đặt gói CUPS (Common Unix Printing System):

sudo apt update
sudo apt install cups -y

Kiểm tra trạng thái dịch vụ bằng lệnh:

sudo systemctl status cups

Nếu thấy dòng active (running) màu xanh, dịch vụ đã sẵn sàng. Để thuận tiện quản lý, bạn nên thêm tài khoản hiện tại vào nhóm lpadmin. Thao tác này giúp bạn chỉnh sửa cấu hình máy in mà không cần dùng quyền root:

sudo usermod -aG lpadmin $USER

Mở quyền quản trị từ xa qua Web UI

Theo mặc định, CUPS chỉ cho phép truy cập giao diện quản lý từ chính máy đó (localhost). Với Ubuntu Server không có màn hình, chúng ta cần mở quyền để truy cập từ trình duyệt của máy tính khác trong mạng nội bộ.

Chỉnh sửa file cấu hình chính:

sudo nano /etc/cups/cupsd.conf

Bạn hãy tìm và thay đổi các tham số sau để CUPS lắng nghe trên mọi địa chỉ IP và cho phép máy con trong LAN truy cập:

# Đổi Listen localhost:631 thành:
Listen 0.0.0.0:631

# Tại các đoạn <Location /> và <Location /admin>, thêm dòng Allow @LOCAL:
<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Nhấn Ctrl + O để lưu và Ctrl + X để thoát. Kích hoạt thay đổi bằng cách khởi động lại dịch vụ:

sudo systemctl restart cups

Đừng quên mở cổng 631 trên tường lửa nếu bạn đang bật UFW:

sudo ufw allow 631/tcp

Thêm máy in qua giao diện Web

Sử dụng một máy tính khác trong mạng, mở trình duyệt và truy cập: https://[IP-Server-Ubuntu]:631. Trình duyệt sẽ cảnh báo về chứng chỉ bảo mật, bạn chỉ cần chọn “Advanced” (Nâng cao) và tiếp tục truy cập.

  1. Truy cập tab Administration và nhấn Add Printer.
  2. Nhập Username và Password của máy Ubuntu khi được hỏi.
  3. Chọn đúng tên máy in đang cắm ở cổng USB trong danh sách rồi nhấn Continue.
  4. Đặt tên gợi nhớ (ví dụ: Ke_Toan_HP), viết liền không dấu. Đánh dấu vào ô Share This Printer.
  5. Chọn Driver phù hợp. Nếu không tìm thấy model chính xác, hãy cài thêm bộ driver phổ biến sau:
sudo apt install hplip printer-driver-all -y

Kết nối từ máy tính cá nhân

Dành cho Windows

Windows hỗ trợ cực tốt giao thức IPP của CUPS. Bạn thường không cần cài driver riêng cho từng máy con nếu server đã cấu hình đúng.

  1. Mở Settings > Bluetooth & devices > Printers & scanners.
  2. Chọn Add device, sau đó nhấn The printer that I want isn’t listed.
  3. Chọn Select a shared printer by name.
  4. Nhập đường dẫn: http://[IP-Server-Ubuntu]:631/printers/[Tên-Máy-In].

Dành cho Linux và macOS

Hệ thống sẽ tự động dò quét thấy máy in trong mạng nội bộ. Bạn chỉ cần vào phần thiết lập Printer, nhấn Add và chọn máy in được chia sẻ từ Ubuntu là xong.

Lưu ý để hệ thống vận hành ổn định

Kinh nghiệm thực tế cho thấy Print Server có thể gặp vài lỗi nhỏ sau một thời gian sử dụng:

  • Lỗi kẹt giấy (Paused): Khi hết giấy hoặc kẹt giấy, CUPS thường tạm dừng (Pause) hàng chờ in. Sau khi xử lý phần cứng, bạn phải vào Web UI, chọn máy in và nhấn “Resume Printer” để tiếp tục.
  • Cố định địa chỉ IP: Hãy thiết lập IP tĩnh cho Ubuntu Server. Nếu IP thay đổi, toàn bộ máy con sẽ mất kết nối với máy in ngay lập tức.
  • Kiểm tra Log: Nếu in không ra, hãy đọc file log để tìm nguyên nhân chính xác:
tail -f /var/log/cups/error_log

Việc tự dựng Print Server không chỉ giúp tiết kiệm ngân sách mà còn mang lại khả năng quản lý linh hoạt. Chỉ cần một chiếc máy tính cũ và vài phút cấu hình, bạn đã giải quyết triệt để bài toán in ấn cho cả văn phòng.

Share: