Установка и настройка принт-сервера CUPS на Orange Pi Zero
- Опубликовано в Статьи
Принт-сервер (англ. print server — сервер печати) — это программное обеспечение или устройство, которое позволяет использовать принтер пользователями внутри локальной сети.
В качестве такого устройства могут быть роутеры, оснащенные портами для подключения USB-устройств, отдельные устройства с портами USB и Ethernet, а также продвинутые модели принтеров, обладающие поддержкой беспроводной печати.
Но если вы являетесь обладателем принтера без поддержки беспроводной печати, можно создать Принт-сервер, подключив принтер по средствам USB к одноплатному компьютеру Orange Pi Zero и настроив на нем сервера печати CUPS (Common UNIX Printing System).
CUPS позволяет управлять заданиями печати, обеспечивает сетевую печать с использованием стандарта IPP (интернет протокол печати), поддерживая также PostScript описание принтеров (PPD) и автоопределение сетевых принтеров, а также позволяет осуществлять администрирование через web-интерфейс.
Необходимое оборудование
Для реализации сервера печати нам понадобится:
- USB-принтер
- Orange Pi Zero (или другая) + mini SD card (на 2 ГБ или более)
- Локальная сеть
Предварительно на свой Orange Pi необходимо установить операционную систему Armbian (Debian), предназначенную для однопалатных компьютеров на базе ARM-процессоров. Как установить Armbian в данной статье не будем рассматривать, так как об этом в Интернете имеется много статей.
Установка и настройка принт-сервера CUPS
В стандартных репозиториях Debian (Armbian на базе Debian) имеется пакет CUPS, установить который необходимо через терминал следующей командой:
sudo apt-get install cups avahi-daemon avahi-discover
Дополнительно можно установить Foomatic, который является одновременно базой описаний моделей принтеров, а также интерфейсом настройки:
sudo apt-get install foomatic-db foomatic-db-engine
Для управления принтерами добавим пользователя pi в группу lpadmin. Следует отметить, что если у вас имя пользователя отличается от pi, необходимо указать его.
sudo adduser pi lpadmin
Теперь требуется отредактировать файл конфигурации:
sudo nano /etc/cups/cupsd.conf
При использовании настроек CUPS по умолчанию административный веб-интерфейс доступен только локально (из самой апельсинки).
Нам необходимо настроить доступ для любого устройства в локальной сети, поэтому нужно найти и закомментировать строку Listen localhost:631, а вместо нее добавить строку Port 631:
# Only listen for connections from local machine.
#Listen localhost:631 ///закомментировали строку
Port 631 ///добавили строку
По умолчанию CUPS слушает назначенный для себя порт 631 только с локальной машины, а после замены он будет слушать обращения к этому порту с любого устройства.
Далее необходимо открыть доступ к админ-панели по локальной сети, добавив параметр Allow @Local в следующие участки строк:
# Restrict access to the server...
<Location />
Order allow,deny
Allow @Local
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @Local
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @Local
</Location>
Не забываем сохранить файл, а затем перезапустить CUPS для применения проделанных изменений следующей командой:
sudo service cups restart
Если все прошло успешно, то веб-интерфейс CUPS будет доступен из браузера по адресу http://IP-адрес:631.
Установка и настройка принтера
На следующем этапе необходимо установить и настроить принтер.
Итак, подключаем принтер через USB к Orange Pi, убеждаемся, что принтер включен и заходим в веб-интерфейс CUPS (в моем случае http://192.168.0.59:631).
Переходим на вкладку «Администрирование»:
Необходимо убедиться, что установлена галочка на «Разрешить совместный доступ к принтерам, подключенным к этой системе» (в разделе «Параметры сервера») и нажимаем на кнопку «Добавить принтер»:
В нем выбираем свой принтер из списка обнаруженных системой. В моем случае это принтер HP LaserJet 1010. Нажимаем «Применить» и выбираем подходящий драйвер из списка драйверов для своей модели принтера. Однако если таковой отсутствует — скорее всего подойдет драйвер от соседней модели того же модельного ряда. В моем случае устанавливается драйвер для модели HP LaserJet 1015. Далее кликаем «Добавить принтер».
В разделе «Настроить параметры принтера» жмем кнопку «Сохранить параметры»:
Принтер успешно установлен!
Теперь можно распечатать пробную страницу. Для этого переходим на вкладку «Принтеры», выбираем добавленный принтер и печатаем пробную страницу через меню «Печать пробной страницы»:
Стоит отметить что, если с пробной страницей возникают проблемы (принтер ее не печатает или выдает пустые листы) — значит проблема в подборе драйвера. Нужно удалять установленный принтер и устанавливать его заново, указывая при этом другой драйвер.
Подключение и настройка сетевого принтера к Windows ПК
После успешной настройки принтера на принт-сервере CUPS нужно подружить этот принтер с компьютером, работающий под управлением Windows.
Первым делом из адресной строки браузера копируем сетевой путь принтера:
Далее будут описаны операции по установке принтера для ОС Windows 10.
Итак, через «Пуск» открываем «Параметры» -> «Устройства» -> «Принтеры и сканеры».
Кликаем «Добавить принтеры или сканеры» и ждем. После безуспешного поиска нового устройства выбираем «Необходимый принтер отсутствует в списке». В открывшемся окне выбираем «Выбрать общий принтер по имени» и в поле для ввода вставляем скопированный ранее путь и жмем «Далее»:
В мастере установки принтера выбираем необходимый принтер и жмем «ОК»
Установка принтера завершается. Теперь его можно использовать также как принтер установленный непосредственно к компьютеру.
Стоит отметить, что теперь Orange PI можно спрятать под корпус принтера, чтобы не занимать дополнительное место на полке. В моем случае также удалось и запитать устройство от 5V выдаваемых блоком питания принтера.