Со смертью моего 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:
[fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][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
Перезагружаем SAMBA.
Настраиваем HPLIP
Создаем файл /etc/devfs.rules:
[system=10] add path 'usb*' group cups add path 'usb*' mode 0660 add path 'ugen*' group cups add path 'ugen*' mode 0660
Добавляем в rc.conf строчку:
devfs_system_ruleset="system"
Выполняем команду:
# /etc/rc.d/devfs restart
Делаем:
# hp-setup
Может быть такое, что будет не найдет файл PPD. Тогда вам надо его скачать отсюда.
ВАЖНО! У меня все равно не получилось установить принтер с помощью hp-setup, т.к. в конце всегда возникала ошибка:
error: Printer queue setup failed. Please restart CUPS and try again.
Перезагрузка CUPS не помогала. Решил проблему, просто установив принтер через панель управления CUPS.
Настраиваем CUPS
В файле /usr/local/etc/cups/cupsd.conf проверяем наличие следующих строк:
# здесь ip адрес сервера, у меня 192.168.0.3 Listen 192.168.0.3:631 <Location> Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.0.* </Location> <Location> Encryption Required Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.0.* </Location>
Запускаем cupsd и заходим на https://192.168.0.3:631 (тут указывайте адрес сервера). И настраиваем там принтер. Там все интуитивно понятно.
Настраиваем автоматическую загрузку драйверов с сервера. Иными словами, как сделать так, чтобы не надо было постоянно тыкать диск с драйверами для принтера в каждый компьютер.
Рекомендуется использовать родные драйвера cups. Но их я поставить так и не смог. Жаль. Вместо них можно использовать драйвера Adobe PhostScript. Качаем их отсюда.
Распаковываем, там будет папка WinXP. Все файлы из нее надо скопировать в папку /usr/local/share/cups/drivers на сервере. Важно, чтобы имена файлов были в нижнем регистре!!!
После этого выполняем команду:
# cupsaddsmb -U av3nger -v -a
Это означает, что мы используем имя пользователя av3nger, чтобы установить все принтера в самбу. Чтобы выполнить команду, надо ввести пароль пользователя av3nger в самбе (у вас пользователь, конечно же, будет другой).
Все. На этом установка завершена. Принтер настроен, драйвера установлены.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]