Настройка принт-сервера на Linux (CUPS) для офиса со смешанным парком МФУ

Проблема

В офисе со смешанным парком устройств старые USB-принтеры, современные сетевые МФУ, ноутбуки на Windows, Linux и macOS организация централизованной печати превращается в головную боль. Каждый принтер требует отдельной настройки на каждом компьютере, драйверы для разных ОС несовместимы, а при замене или перемещении устройства приходится перенастраивать всех пользователей. Без единой точки управления печатью поддержка превращается в бесконечную рутину: «у меня не печатает», «принтер не найден», «документ ушёл в неизвестном направлении».

Выход выделенный сервер печати на Linux с системой CUPS (Common UNIX Printing System). Он принимает задания от любых устройств в сети и направляет их на нужные принтеры, избавляя от необходимости настраивать каждый клиент отдельно.

Решение

CUPS (Common UNIX Printing System) это стандартный менеджер печати в Linux, который также поддерживает клиентов Windows, macOS и мобильных устройств по протоколам IPP и SMB/CIFS. Он позволяет централизованно управлять очередями печати, разграничивать доступ и вести журнал заданий. Для Windows-клиентов, у которых нет встроенной поддержки IPP, потребуется Samba, которая сделает CUPS-принтеры видимыми как обычные сетевые принтеры Windows.

В этой статье мы настроим на Ubuntu Server 24.04 LTS:

  • Установку и базовую настройку CUPS.
  • Веб-интерфейс для удалённого управления принтерами.
  • Подключение принтеров по USB и по сети.
  • Расшаривание принтеров для Windows-клиентов через Samba.
  • Управление драйверами и устранение типичных проблем.

Вот пошаговая инструкция, как развернуть CUPS.

1. Предварительные требования

Убедитесь, что сервер соответствует минимальным требованиям:

  • Ubuntu Server 24.04 LTS (или Debian 12) с правами суперпользователя.
  • Постоянный (статический) IP-адрес в локальной сети.
  • Открытый порт TCP 631 для CUPS.
  • Не менее 2 ГБ ОЗУ и 10 ГБ свободного места на диске.

2. Установка CUPS

Подключаемся к серверу и устанавливаем пакеты.

sudo apt update
sudo apt install cups cups-client cups-filters cups-ipp-utils system-config-printer -y

3. Настройка CUPS

После установки нужно разрешить доступ к веб-интерфейсу из локальной сети и настроить права администраторов. CUPS управляется через веб-интерфейс на порту 631.

3.1. Разрешаем удалённое управление и печать

По умолчанию CUPS принимает команды только с локального хоста. Чтобы разрешить доступ с других компьютеров, отредактируйте /etc/cups/cupsd.conf.

sudo nano /etc/cups/cupsd.conf

Найдите строку Listen localhost:631 и измените её на:

Listen 0.0.0.0:631

Если нужен доступ только из определённой подсети, укажите её адрес. Добавьте разрешения для локальной сети:

<Location />
  Order allow,deny
  Allow localhost
  Allow 192.168.1.0/24
</Location>

<Location /admin>
  AuthType Basic
  Require user @SYSTEM
  Order allow,deny
  Allow localhost
  Allow 192.168.1.0/24
</Location>

Сохраните изменения и перезапустите службу:

sudo systemctl restart cups

3.2. Добавление пользователя в группу администраторов

Для управления принтерами через веб-интерфейс пользователь должен состоять в группе lpadmin.

sudo usermod -a -G lpadmin $USER

4. Настройка брандмауэра

Открываем порт 631 для CUPS и, опционально, 5353 для Avahi (автообнаружение принтеров).

sudo ufw allow 631/tcp
sudo ufw allow 5353/udp
sudo ufw reload

5. Добавление принтеров через веб-интерфейс

Откройте браузер и перейдите по адресу http://<IP-адрес_сервера>:631. Перейдите во вкладку Administration и нажмите Add Printer.

Система запросит логин и пароль пользователя, входящего в группу lpadmin. Далее вы увидите список доступных принтеров:

  • Локальные USB-принтеры отобразятся автоматически, если подключены напрямую.
  • Сетевые принтеры можно найти через «Find Network Printer» или добавить вручную, указав протокол и IP-адрес (например, ipp://192.168.1.50:631/ipp/port1).

Выбрав принтер, укажите его имя, описание и местоположение. CUPS попытается подобрать драйвер автоматически. Если автоматический выбор не подходит, выберите PPD-файл или укажите производителя и модель из списка. После добавления принтера обязательно распечатайте тестовую страницу.

6. Расшаривание принтеров для Windows-клиентов через Samba

Windows не поддерживает IPP «из коробки», но может подключаться к принтерам через протокол SMB/CIFS. Для этого настроим Samba.

6.1. Установка и настройка Samba

sudo apt install samba smbclient -y

Создайте резервную копию конфигурационного файла и отредактируйте его.

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf

В секции [global] задайте имя рабочей группы (должно совпадать с настройками ваших Windows-компьютеров) и включите расшаривание принтеров.

[global]
   workgroup = WORKGROUP
   server string = Print Server
   security = user
   map to guest = Bad User
   load printers = yes
   printing = cups
   printcap name = cups
   [printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = yes
   guest ok = yes
   writable = no
   printable = yes
   printer admin = root, @lpadmin

Сохраните файл, перезапустите службы и проверьте доступность принтеров.

sudo systemctl restart smbd nmbd
smbclient -L localhost -N

6.2. Подключение принтера на Windows-клиенте

На компьютере с Windows откройте «Панель управления» → «Устройства и принтеры» → «Добавление принтера». Выберите «Искомый принтер отсутствует в списке» → «Выбрать общий принтер по имени» и введите UNC-путь: \\<IP-адрес_сервера>\<имя_принтера>. Если принтер не отображается, проверьте сетевую доступность сервера и настройки Samba.

7. Управление драйверами

Для корректной работы принтеров, особенно МФУ, часто требуются специальные драйверы. Самый простой способ получить их — установить пакеты производителя.

Для принтеров HP:

sudo apt install hplip

Для принтеров Epson:

sudo apt install printer-driver-escpr

Для принтеров Brother: скачайте драйверы с официального сайта.

Универсальные драйверы: если точный драйвер отсутствует, попробуйте драйвер Generic или Text Only. Они дают базовую функциональность, но не поддерживают цветную печать и сканирование.

8. Мониторинг и ведение логов

CUPS хранит все задания в веб-интерфейсе (вкладка Jobs), а также в системных логах.

sudo journalctl -u cups -f
sudo tail -f /var/log/cups/error_log

Для отслеживания успешных и неудачных печатей можно включить подробное логирование через веб-интерфейс (Server → Settings → Save debugging information).

Устранение распространённых проблем

ПроблемаВероятная причинаРешение
Не удаётся войти в веб-интерфейсПользователь не входит в группу lpadminДобавьте пользователя в группу и перезапустите сеанс: sudo usermod -a -G lpadmin $USER
Принтер не отображается в WindowsSamba не настроена или служба не запущенаПроверьте sudo systemctl status smbd. Убедитесь, что в smb.conf разрешён гостевой доступ
Windows запрашивает пароль при подключенииВ smb.conf отключён гостевой доступИзмените map to guest = Bad User и guest ok = yes в секции [printers]
Ошибка «Filter failed» при печатиНеподходящий драйвер или отсутствует PPD-файлСмените драйвер принтера в веб-интерфейсе CUPS. Попробуйте универсальный драйвер
Принтер не добавляется через веб-интерфейсНеправильный URI или недоступность принтера по сетиПроверьте подключение к принтеру: ping <IP-адрес> или telnet <IP-адрес> 9100
Печать зависает в очередиНеисправность принтера или отсутствие бумагиПроверьте статус принтера через веб-интерфейс. Удалите зависшее задание и очистите очередь
Нет звука при завершении печатиНе настроены уведомления CUPSВ веб-интерфейсе: Server → Settings → Notifications

Итог

Мы развернули централизованный принт-сервер на базе CUPS, который позволяет управлять всеми принтерами и МФУ офиса из единой точки. Cups принт сервер linux избавляет от необходимости настраивать каждое устройство на каждом компьютере, централизует учёт и контроль печати, а также решает проблему совместимости между разными ОС. При подключении Windows-клиентов через Samba сотрудники могут отправлять задания на печать так же, как если бы принтер был подключён напрямую. А благодаря веб-интерфейсу вы можете добавлять новые принтеры и отслеживать состояние очередей из любой точки сети.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Популярные
Новые Старые

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Menu