Принт-сервер CUPS на Raspberry Pi 3

Posted by

В сегодняшней заметке я разберу, как поднять свой собственный принт-сервер на базе миникомпьютера Model B. А подключать к данному сервису CUPS (Common UNIX Printing System) буду свой сетевой принтер HP LaserJet P2055dn через локальную сеть.

В наличии:

  • Raspberry Pi 3 Model B (ось Raspbian релиз Stretch, так же работает и на Jessie)
  • Сетевой принтер HP LaserJet P2055dn
  • Локальная сеть

Начинаю.

pi@raspberrypi:~ $ sudo rm -Rf /var/lib/apt/lists

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade -y

pi@raspberrypi:~ $ sudo rpi-update

pi@raspberrypi:~ $ sudo nano /etc/hosts

#::1 localhost ip6-localhost ip6-loopback

#ff02::1 ip6-allnodes

#ff02::2 ip6-allrouters

pi@raspberrypi:~ $ sudo reboot

Устанавливаем приложением CUPS и сопутствующую стандартную базу драйверов для принтеров:

pi@raspberrypi:~ $ sudo apt-get install cups avahi-daemon avahi-discover foomatic-db foomatic-db-engine -y

Далее чтобы появилась возможность управлять принт сервером от имени текущего пользователя, т. е. Учетной записи pi следует добавить ее в группу ориентированную для работы с принт сервером:

pi@raspberrypi:~ $ sudo adduser pi lpadmin

Adding user `pi' to group `lpadmin' ...

Adding user pi to group lpadmin

Done.

Перехожу к редактированию конфигурационного файла сервиса печати:

pi@raspberrypi:~ $ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.backup

На заметку: Чтобы зайти в режим настройки сервиса CUPS с другой не локальной системы нужно открыть доступ через правку конфигурационного файла cupsd.conf.

pi@raspberrypi:~ $ sudo nano /etc/cups/cupsd.conf

#Listen localhost:631

Port 631

<Location />

Order allow,deny

Allow @Local

</Location>

<Location /admin>

Order allow,deny

Allow @Local

</Location>

<Location /admin/conf>

AuthType Default

Require user @SYSTEM

Order allow,deny

Allow @Local

</Location>

После не забываем сохранить внесенные изменения. Затем проверяем конфигурационный файл на ошибки:

pi@raspberrypi:~ $ cupsd -t

"/etc/cups/cups-files.conf" is OK.

"/etc/cups/cupsd.conf" is OK.

Как видно все OK, а значит можно для принятия изменений перезапустить сервис:

pi@raspberrypi:~ $ sudo service cups restart

Проверяю, что в системе открылся порт 631:

pi@raspberrypi:~ $ sudo netstat -tulpn | grep cupsd

tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 357/cupsd

tcp6 0 0 :::631 :::* LISTEN 357/cupsd

запись 0.0.0.0:631 говорит, что на всех сетевых интерфейсах миникомпьютера Raspberry Pi 3 Model B идет вещание Web-интерфейса CUPS обратившись к нему по ссылке вида: http://IP&DNS:631

Открываю браузер с рабочей системы Ubuntu Trusty Desktop amd64 (Рабочее окружение Gnome Classic) и ввожу IP адрес миникомпьютера узнать который можно командой:

pi@raspberrypi:~ $ ip r | head -n 1

default via 10.7.8.1 dev enxb827eb9c7efa src 10.7.9.161 metric 202

ПриложенияИнтернетMozilla Firefox, http://10.7.9.161:631

Сервис CUPS успешно установлен на Raspbian Jessie

Теперь мне нужно подключить к CUPS сетевой принтер HP LaserJet P2055dn, для этого перехожу на вкладку «Администрирование»:

  • Разрешить совместный доступ к принтерам, подключенным к этой системе: отмечаю галочкой
  • Разрешить удаленное администрирование: отмечаю галочкой
  • Разрешить пользователям отменять любое задание: отмечаю галочкой

После нажимаю (Принтеры) «Добавить принтер» и мне предлагается перейти на защищенную страницу с префиксам в URL строке https. Что ж соглашаюсь раз без этого никуда. Нажимаю снова «Добавить принтер», на требование аутентификации соглашаюсь вводом:

  • Имя пользователя: pi
  • Пароль: 712mbddr@

и нажимаю OK.

Затем выбираю (Другие сетевые принтеры) «Протокол интернет-печати (http)» и нажимаю «Продолжить»:

  • Подключение: socket://172.25.25.251:9100

и нажимаю «Продолжить».

  • Название: CabIT
  • Совместный доступ: отмечаю галочкой (Разрешить совместный доступ к этом принтеру)

и нажимаю «Продолжить». Сейчас нужно указать какой это принтер или использовать файл PPD, у меня нет файла PPD, значит:

Создать: выбираю HP и нажимаю «Продолжить».

Теперь указываю модель принтера:

  • Модель: HP LaserJet P2055dn hpijs pcl3, 3.16.11 (en)

и нажимаю «Добавить принтер». Параметры по умолчанию для добавляемого принтера оставляю дефолтными и нажимаю «Сохранить параметры».

Проверяю, как идет печать. Для этого перехожу на вкладку «Принтеры», щелкаю по добавленному принтеру с наименованием CabIT:

Сетевой принтер HP P2055dn успешно заведен в CUPS

После чего вместо режима «Обслуживание» выбираю «Печать пробной страницы принтера» и тут же производится печать тестовой страницы:

Печатаю пробную страницу - успешно

Из этого делаю вывод что сервис CUPS работает. Теперь протестирую добавление принтера в систему Ubuntu Trusty Desktop:

Приложения — Системные утилиты — Параметры системы — затем (Оборудование) Принтеры — Добавить

  • Введите URI устройства: https://10.7.9.161:631/printers/CabIT

и нажимаю «Вперед», выбираю какой использовать драйвер:

  • Выберите драйвер: Выберите принтер из базы данных.
  • Производители: HP

и нажимаю «Вперед».

Модель: LaserJet p2055dn (драйвер: HP LaserJet p2055dn pcl3, hpcups 3.14.3 [en])

  • и нажимаю «Вперед», «Вперед». Описываю добавляемый принтер:
  • Имя принтера: CabIT
  • Описание: HP LaserJet P2055dn

и нажимаю «Применить», на уведомление желаю ли я распечатать пробную страницу отвечаю положительно. И тестовая страница распечатывается успешно. Из всего этого я делаю вывод, что сетевой принтер успешно заведен на сервис CUPS развернутый на Raspberry Pi 3 Model B плюс к этому посредством него я подключил принтер на рабочую систему Ubuntu Trusty.

Отлично, а какие действия нужно сделать чтобы подключить принтер заведенный на CUPS в Windows 7?

На заметку: дальнейшие действия по подключению принтеры выполняется с правами Администратора на рабочей станции под управлением любого релиза Windows.

(for Windows 7 Pro SP1)

«Пуск» — «Панель управления» — Просмотр: Категория: Мелкие значки — «Устройства и принтеры» — «Установка принтера»

  • Выбор типа устанавливаемого принтера: Добавить сетевой, беспроводной или bluetooth-принтер

затем нажимаю «Нужный принтер отсутствует в списке»

  • Выбрать общий принтер по имени: http://10.7.9.161:631/printers/CabIT

и нажимаю «Далее»

Подключаю принтер с CUPS сервиса на Windows 7Следом указывать через «Установить с диска» где лежат в моей локальной сети драйвера на этот принтер: «Обзор», «ОК», «OK». Происходит подключение к принтеру и установка драйверов и принтер установлен успешно.

Настраиваю подключение принтера с сервиса печати на Raspbian JessieНажимаю «Далее», «Печать пробной страницы» и в этот же момент тестовая страница успешно распечаталась, нажимаю «Закрыть», «Готово»

Принтер подключен. Отправляю тестовую страницу на печать. Страница распечаталась.

В системе теперь этот добавленный принтер видится как:

Как система Windows 7 видит подключенный принтер с CUPS сервиса

 

 

Все оказывается просто когда есть цель сделать что-то хорошо. Так вот и вот этот миникомпьютер Raspberry Pi 3 Model B можно приспособить, как единый центр сервера печати в малой конторе или дома. Ведь у Вас не один принтер, а не сколько? Я свой миникомпьютер использую под все что мне может понадобиться, как в роли тестов так и боевом назначении, а уже исходя из наработки опыта делать вывод переносить ли сервис на настоящую систему Ubuntu или тут он может работать. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik, заметка полностью работоспособна.

One comment

  1. Уведомление: Milana Travis

Comments are closed.