вторник, апреля 28, 2009

HP LaserJet 1018 + Debian Etch в качестве сетевого принт сервера

На днях озаботился я на работе установкой принтера HP LaserJet 1018 в качестве сетевого принтера. Т.к. само устройство в силу своей бюджетности не имеет сетевого порта, то понадобился принт-сервер. Под эту задачу был выбран мой любимый Debian.
Итак, что мы имеем? А имеем мы древний компутер на целероне 1.7 МГц + 40 Гб HDD + 256 RAM. Как раз то, что нам нужно.
Данное руководство писалось путём проб и ошибок, которые были допущены мной во время казалось бы не такой сложной процедуры, как установка компьютера в качестве принт-сервера. Не уверен, что всё делал верно, но в итоге всё работает и работает стабильно. Буду рад, если данное руководство кому-нибудь поможет.

Итак, приступим.
В первую очередь качаем необходимые пакеты:
cd /usr/src
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
wget http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs862/ghostscript-8.62.tar.bz2
wget http://ftp.easysw.com/pub/cups/1.3.7/cups-1.3.7-source.tar.gz
- более поздние версии качать не рекомендую, т.к. с ними возникают проблемы.
Далее устанавливаем необходимые бинарники из репозитария:
aptitude update
aptitude install g++ openssl libssl0.9.8 libssl-dev ssl-cert foomatic-db foomatic-db-engine foomatic-filters libtiff4-dev libttf2 ttf-dejavu


Компилируем пакеты ghostscript и cups(Там всё стандартно в README и INTALL описано подробно). После этого ставим foo2zjs:
tar zxf foo2zjs.tar.gz
cd foo2zjs
make
./getweb 1018
make install && make install-hotplug && make cups

После этого делаем первый финт ушами:
cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0

Далее правим конфиг cupsd.conf

print-server:~# nano -w /etc/cups/cupsd.conf

Listen localhost:631
Listen /var/run/cups/cups.sock
Listen [ip-адрес данного компьютера]

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all

Далее в секциях Location /, Location /admin и Location /admin/conf добавляем строчку Allow all. Можете в принципе и не открывать на полный доступ, дело ваше. Мой компьютер стоит в локальной сети, лишний на него не зайдёт.

делаем рестарт сервиса:
/etc/init.d/cups restart

После чего заходим по http на ip-адрес вашего принт-сервера по порту 631
http://[ip-адрес]:631

Должно появиться стандартное окно Cups, в нём выбираем "add printer" и далее следуем инструкциям. Во время данной процедуры капс запросит вас указать из списка драйвер для принтера. И вот тут вылазит второй финт. Почему то в данном списке моего принтера не было и я сделал проще - качнул пакет foo2zjs.tar.gz на свой виндовый комп, разархивировал его и из папки foo2zjs.tar\foo2zjs\foo2zjs\PPD\ вручную выбрал драйвер для моего принтера. Принтер установился без проблем.
После того, как добавили принтер, идём в закладку "Printers" и наблюдаем там наш принтер. Нажимаем "Print test page" и любуемся тестовой страницей. Если вдруг капс ругнётся на foomatic rip, то нужно найти данный файл(у меня он был в папке /usr/bin/) и скопировать в /cups/filter/ :
cp /usr/bin/foomatic-rip /usr/lib/cups/filter/

После этого всё должно работать.
Далее на виндовом компе настраиваем подключение к принтеру. Качаем с сайта hp драйвер: ftp://ftp.hp.com/pub/softlib/software10/COL22196/bi-58438-2/lj1018-HB-pd-win32-ru.exe , устанавливаем его и в папке принтеры и факсы добавляем принтер. Мой принтер выглядит следующим образом:
http://10.15.1.198:631/printers/HP_LaserJet_1018
у вас будет что то похожее. После этого можно печатать. Наш принт-сервер работает уже полторы недели и как говорится, не жужжит))

Комментариев нет: