Установка сетевого принтера в FreeBSD

Со смертью моего 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]

Добавить комментарий

Ваш адрес email не будет опубликован.