RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Со смертью моего D-Link
роутера, который одновременно и являлся принт-сервером в сети, пропала
возможность печати. Можно, конечно было, подключить принтер к
какому-нибудь другому компьютеру и сделать его сетевым, но провод просто
не дотягивался. К тому же все компьютеры периодически выключаются,
перезагружаются и т.д. Решил поставить его на сервер. Воткнул провод
от принтера в сервак. Сразу же на консоли увидел две строчки,
сообщающие мне, что принтер успешно подключен. Попытался прикрутить его к SAMBA. Но компьютеры с Windows его не видели почему-то :- ( Полазил в портах, нашел утилиту hplip — утилиты для принтеров HP. Что ж, ставим:
# cd /usr/local/print/hplip
# make install clean
Убираем
галочку с поддержки GUI. Не надо это. Лично у меня, порт ставился минут
30, т.к. утянул за собой просто немеренное количество библиотек. Что не
сделаешь для принтера. Пока ждал, узнал, что в портах обновился php до
версии 5.2.6 ))) ВАЖНО! hplip тянет за собой ghostscript-gpl и
почему-то не показывает окошко с опциями (make config). А по умолчанию
ставится версия с поддержкой X11. У меня нет X11 и я не хочу, чтобы они
ставились только ради этого. По этому, до установки hplip, я поставил
ghostscript-gpl-nox11.
После установки, нам сообщается, что
принтер должен быть подключен как устройство ugen (4), а не ulpt.
Поэтому в конфиге ядра надо удалить строчку:
device ulpt
Делаем это, пересобираем ядро, добавляем в rc.conf строчки:
cupsd_enable="YES"
hpssd_enable="YES"
и перезагружаемся, чтобы заработало ядро.
Так же надо поставить cups-samba:
# cd /usr/ports/print/cups-samba
# make install clean
После установки на экран будет выведена инструкция по дальнейшим действиям. Надо поправиться файлы /usr/local/etc/cups/mime.convs и mime.types и раскомментировать в них строчку:
application/octet-stream
Далее правим файл /usr/local/etc/smb.conf:
view sourceprint?[global]
load printers = yes
# взять из /etc/printcap, то, что до знака |
printing = cups
printcap name = cups
[HP_LaserJet_1010]
comment = Printer
path = /var/spool/samba
guest ok = yes
printable = yes
browseable = yes
public = yes
writable = no
printer admin = av3nger
[print$]
comment = Printer Drivers
path = /usr/local/share/cups/drivers
browseable = yes
guest ok = yes
read only = yes
write list = av3nger
Перезагрузка CUPS не помогала. Решил проблему, просто установив принтер через панель управления CUPS.
Настраиваем CUPS
В файле /usr/local/etc/cups/cupsd.conf проверяем наличие следующих строк:
view sourceprint?# здесь ip адрес сервера, у меня 192.168.0.3
Listen 192.168.0.3:631
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.*
Encryption Required
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.*
Запускаем
cupsd и заходим на https://192.168.0.3:631 (тут указывайте адрес
сервера). И настраиваем там принтер. Там все интуитивно понятно.
Настраиваем
автоматическую загрузку драйверов с сервера. Иными словами, как сделать
так, чтобы не надо было постоянно тыкать диск с драйверами для принтера
в каждый компьютер. Рекомендуется использовать родные драйвера
cups. Но их я поставить так и не смог. Жаль. Вместо них можно
использовать драйвера Adobe PhostScript. Качаем их отсюда. Распаковываем,
там будет папка WinXP. Все файлы из нее надо скопировать в папку
/usr/local/share/cups/drivers на сервере. Важно, чтобы имена файлов были
в нижнем регистре!!! После этого выполняем команду:
# cupsaddsmb -U av3nger -v -a
Это
означает, что мы используем имя пользователя av3nger, чтобы установить
все принтера в самбу. Чтобы выполнить команду, надо ввести пароль
пользователя av3nger в самбе (у вас пользователь, конечно же, будет
другой). Все. На этом установка завершена. Принтер настроен, драйвера установлены.