CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.
Решил для себя сделать небольшое руководство по установке принт-сервера CUPS на домашний сервер под FreeBSD10
И так поехали:
# uname -a FreeBSD alexnettm.org.ua 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64
Samba сервер у меня уже был настроенный, ставим принт-сервер CUPS
Устанавливаем все нужные пакеты из портов:
# cd /usr/ports/print/cups && make install clean # cd /usr/ports/print/cups-base && make install clean # cd /usr/ports/print/cups-bjnp && make install clean # cd /usr/ports/print/cups-client && make install clean # cd /usr/ports/print/cups-image && make install clean # cd /usr/ports/print/cups-pdf && make install clean # cd /usr/ports/print/cups-pk-helper && make install clean # cd /usr/ports/print/cups-pstoraster && make install clean # cd /usr/ports/print/cups-samba && make install clean # cd /usr/ports/print/cups-smb-backend && make install clean # cd /usr/ports/print/gutenprint-cups && make install clean
# cd /usr/ports/print/foomatic-db && make install clean # cd /usr/ports/print/foomatic-db-engine && make install clean # cd /usr/ports/print/foomatic-db-hpijs && make install clean # cd /usr/ports/print/foomatic-filters && make install clean # cd /usr/ports/print/gutenprint-foomatic && make install clean
# cd /usr/ports/print/ghostscript9 && make install clean # cd /usr/ports/print/ghostview && make install clean
Устанавливаем HPLIP для поддержки принтеров HP
# cd /usr/ports/print/hplip && make install clean
Устанавливаем foo2zjs
# cd /usr/ports/print/foo2zjs && make install clean
Должно быть так:
# portversion -v | grep cups cups-1.5.4 = up-to-date with port cups-base-1.5.4_1 = up-to-date with port cups-bjnp-1.2.1_4 = up-to-date with port cups-client-1.5.4_1 = up-to-date with port cups-image-1.5.4_1 = up-to-date with port cups-pdf-2.6.1_1 = up-to-date with port cups-pk-helper-0.2.5 = up-to-date with port cups-pstoraster-8.15.4_7 = up-to-date with port cups-samba-6.0_7 = up-to-date with port cups-smb-backend-1.0_6 = up-to-date with port gutenprint-cups-5.2.8_1 = up-to-date with port py27-cups-1.9.66 = up-to-date with port
# portversion -v | grep foomatic foomatic-db-20140106 = up-to-date with port foomatic-db-engine-4.0.9,2 = up-to-date with port foomatic-db-hpijs-1.4 = up-to-date with port foomatic-filters-4.0.17 = up-to-date with port gutenprint-foomatic-5.2.8_1 = up-to-date with port
# portversion -v | grep hplip hplip-3.14.1 = up-to-date with port
Создаем директории:
# mkdir /usr/local/share/foo2zjs/firmware # mkdir /usr/local/share/foo2zjs/icm # mkdir /usr/local/share/foo2hp/icm
cd /tmp
Скачиваем прошивки:
# getweb all
После закачки копируем закаченные файлы:
cp DL*.icm CP*.icm km2430*.icm /usr/local/share/foo2zjs/icm cp sihp*.img /usr/local/share/foo2zjs/firmware cp hpclj26*.icm km2430*.icm /usr/local/share/foo2hp/icm rm *.icm *.img
Переходим в /usr/local/share/foo2zjs/firmware
cd /usr/local/share/foo2zjs/firmware
Преобразовываем прошивку утилитой arm2hpdl:
arm2hpdl sihp1000.img > sihp1000.dl arm2hpdl sihp1005.img > sihp1005.dl arm2hpdl sihp1018.img > sihp1018.dl arm2hpdl sihpP1005.img > sihpP1005.dl arm2hpdl sihpP1006.img > sihpP1006.dl arm2hpdl sihpP1505.img > sihpP1505.dl
Копируем /usr/local/share/examples/cups/ulpt-cupsd.conf -> /usr/local/etc/devd/
# cp /usr/local/share/examples/cups/ulpt-cupsd.conf /usr/local/etc/devd/
Создаем правило:
attach 120 { device-name "ulpt[0-9]+"; match "vendor" "0x03f0"; match "product" "0x4117"; action "cat /usr/local/share/foo2zjs/firmware/sihp1018.dl > /dev/$device-name"; };
Прописываем это в /usr/local/etc/devd/ulpt-cupsd.conf после строк:
attach 110 { device-name "ulpt[0-9]+"; action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name"; };
Для печати из под Windows машин делаем следующее:
Раскомментируем строчки:
в файле /usr/local/etc/cups/mime.types:
application/octet-stream
в файле /usr/local/etc/cups/mime.convs:
application/octet-stream application/vnd.cups-raw 0 -
Если установлен ghostscript, то закомментировать строку в:
в файле /usr/local/etc/cups/mime.convs:
application/vnd.cups-postscript application/vnd.cups-raster 100 pstoraster
Делаем рестарт cupsd:
# service cupsd restart
Создаем файл devfs.rules в /etc/
touch /etc/devfs.rules
Добавляем доступ группе ‘cups’ к устройствам в /dev
[system=10] add path 'unlpt*' mode 0660 group cups add path 'ulpt*' mode 0660 group cups add path 'lpt*' mode 0660 group cups add path 'usb*' mode 0770 group cups add path 'ugen*' mode 0660 group cups add path 'usb/*' mode 0660 group cups
В /etc/rc.conf добавляем строчку:
devfs_system_ruleset="system"
Делаем рестарт devfs:
# /etc/rc.d/devfs restart
Выключаем и снова включаем принтер. Принтер должен отработать два раза.Первый раз при включении, а второй при загрузке прошивки.
Установка принтера.
В адресной строке браузера вводим
https://ip:631
меню -> < Администрирование>
пункт -> < Добавить принтер>
выбираем HP LaserJet 1018 (HP LaserJet 1018)
жмем -> < продолжить> — ставим галочку < Разрешить совместный доступ к этому принтеру>
жмем -> < продолжить>
жмем -> < выбрать модель>
я выбрал
жмем -> < добавить принтер>
жмем — < сохранить параметры>
Все принтер установлен.
Проверяем — < обслуживание> -> < печать пробной страницы>
Если по https://ip:631 нет доступа, проблема может быть в cupsd.conf там необходимо добавить ServerAlias (имя сервера)
Ещё была проблема что принтер в CUPS по адресу https://ip:631 отсутствовал, решилось добавлением в devfs.rules строчки:
add path 'usb/*' mode 0660 group cups