В сегодняшней заметке я разберу, как поднять свой собственный принт-сервер CUPS на базе миникомпьютера Raspberry Pi 3 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 сетевой принтер 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:
После чего вместо режима «Обслуживание» выбираю «Печать пробной страницы принтера» и тут же производится печать тестовой страницы:
Из этого делаю вывод что сервис 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
и нажимаю «Далее»
Следом указывать через «Установить с диска» где лежат в моей локальной сети драйвера на этот принтер: «Обзор», «ОК», «OK». Происходит подключение к принтеру и установка драйверов и принтер установлен успешно.
Нажимаю «Далее», «Печать пробной страницы» и в этот же момент тестовая страница успешно распечаталась, нажимаю «Закрыть», «Готово»
В системе теперь этот добавленный принтер видится как:
Все оказывается просто когда есть цель сделать что-то хорошо. Так вот и вот этот миникомпьютер Raspberry Pi 3 Model B можно приспособить, как единый центр сервера печати в малой конторе или дома. Ведь у Вас не один принтер, а не сколько? Я свой миникомпьютер использую под все что мне может понадобиться, как в роли тестов так и боевом назначении, а уже исходя из наработки опыта делать вывод переносить ли сервис на настоящую систему Ubuntu или тут он может работать. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik, заметка полностью работоспособна.
Thank you very much for your blog.
I enjoyed reading this article.