|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> cups-samba на samba+AD
CUPS - сервер печати с использованием samba+AD
Автор: Al.
Решил в качестве эксперимента настроить файловый сервер на самбе, с аутентификацией пользователей в AD. После танцев с бубном наконец-то получил билет кербереса и все заработало (самбу настраивал по статье urgor'a SAMBA+AD+NT ACL, за что ему огроменное спасибо). Вместе с самбой поставил и CUPS. Вот только сетевой принтер фирмы HP на стандартных CUPS'овых дровах работать не захотел.... И так, начнем превращение нашей самбы еще и в принт-сервер. Предполагается, что самба+купс уже настроены и аутентификация пользователей в AD проходит успешно.
Заходим на http://192.168.0.201:631 и пробуем добавить принтер. Если есть сетевые принтеры(имеющие свой IP) - купс часть нанюхает сам, но не все. Итак, добавляем принтер.
При попытке напечатать тестовую страницу у меня появилась ошибка "Unsupported format 'application/postscript'!". ищем дрова на принтеры HP, не забыв перед этим обновить коллекцию портов :)
[srv:/usr/ports]#make search name=hplip
Port: hplip-1.6.7
Path: /usr/ports/print/hplip
Info: Drivers and utilities for HP Printers and All-in-One devices
| Ставим. Если принтер не HP, то, возможно, подойдет Gimp-print. Официальный сайт – gimp-print.sourceforge.net
Устанавливаем принтер заново, но уже с драйверами из свежеустановленного пакета. (В моем случае было несколько драйверов для моей модели. Я поставил с PostScript).
Пробуем напечатать тестовую страницу - у меня получилось. Таже принтер должен появиться рядом с расшаренными папками (смотрим с виндусового компа).
Можно даже попробовать его подключить, но драйверов сервак не даст,а предложит выбрать из существующих или установить с диска. Я поставил первые попавшиеся (даж не от моего прринтера, даж не HP). Тестовая страница теперь печатается еще и из винды.
А дальше начинается самое интересное. Как заставить наш принт-сервер отдавать клиентам дрова, шоб не пришлось каждый раз бегать с диском? Вот этим-то мы и займемся. Ради этого,собственно,я и писал эту статью... Отвечает за все это дело пакет cups-samba. Его и ставим.
[srv:/usr/ports]#make search name=cups-samba
Port: cups-samba-5.0.r3
Path: /usr/ports/print/cups-samba
Info: The Common UNIX Printing System: MS Windows client drivers
| После установки видим подробную инструкцию к действиям. Ей и последуем.
В smb.conf в секцию [global] дописываем (если такие параметры есть-заменяем)
load printers = yes
printing = cups
printcap name = cups
| Добавляем секции для принтеров (приводим их к такому виду)
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root
[print$]
comment = Printer Drivers
path = /usr/local/share/cups/drivers
browseable = yes
# guest ok = yes works too
guest ok = no
read only = yes
write list = root
| и перезапускаем самбу
/usr/local/etc/rc.d/samba restart
| А дальше - проверка Вашей везучести:
cupsaddsmb -U root cups_printer_1 cups_printer_2
|
где cups_printer_1 - имя вашего принтера
или
cupsaddsmb -U root -H localhost -a -v
| для добавления всех принтеров.
Как выглядит успешное завершение этой программы я не знаю, на если на экране бегут строчки,где в блоках меняется только /var/spool/cups/tmp/470334f09f627, или есть сообщения об ошибке (driver not installed, напр) то, судя по всему, Вам не повезло... Жмем ctrl+C и готовимся к танцам.. С бубном...
Весь процесс состоит из 3 шагов, но для начала, находим на виндовой машине файлы ps5ui.dll, pscript.hlp, pscript.ntf, pscript5.dll и копируем их в /usr/local/share/cups/drivers. Все имена файлов должны быть в НИЖНЕМ регистре.
1. Создаем необходимые папки и копирует туда файлы (одна длиная строка!)
smbclient -H //localhost/print$ -Uroot -c 'mkdir W32X86;put /var/spool/cups/tmp/470334eed261d W32X86/hp2420_y3.ppd;put /usr/local/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/local/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/local/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/local/share/cups/drivers/pscript5.dll W32X86/pscript5.dll'
|
суть этой команды такова: заходим smbclient'ом на //localhost/print$ (это тоже шара,просто скрытая)
и выполняем команды начиная с mkdir W32X86.Основная проблема,которая может возникнуть на этом шаге-запрет записи.Я поставил права доступа 777 на /usr/local/share/cups/drivers и заменил write list = root на
write list = root, guest, nobody в smb.conf
после успешного выполнения в /usr/local/share/cups/drivers должна появиться папка W32X86.
и еще - снова одной строкой
smbclient //localhost/print$ -Uroot -c 'put /usr/local/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/local/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/local/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll'
|
2. В smb.conf меняем
на
далее запускаем
cupsaddsmb -U root -H localhost -a -v
| и ищем там строчку:
rpcclient localhost -N -A /var/spool/cups/tmp/47034d38731a2 -c 'adddriver [...]'
| и запускаем ее как:
rpcclient localhost -Uroot -c 'adddriver [...]'
|
3. Теперь надо сказать самбе какой драйвер для какого принтера
rpcclient localhost -N -U'root%toor' -c 'setdriver printer_name driver_name'
| Обычно printer_name и driver_name идентичны. Если получаем:
result was WERR_ACCESS_DENIED
| то пробуем:
1) в секции [global] дописываем 'use client driver = no' - говорит клиенту стягивать дрова на приттер с нашего cups-сервака
2)Меняем /etc/pam.d/login на стандартный и smb.conf - на дефолтовый,при этом убираем из него все "лишнее",оставляя минимум.
После завершения установки дров все ставим на место и рестартим самбу.
ВСЕ!
После успешного завершения при подключении сетевого принтера дрова на винду должны ставиться автоматически
Эта статья не претендует на подробное руководство по настройке CUPS-SAMBA. Скорее, просто мой личный опыт работы.. Наверняка, есть более простой и удобный способ настройки. Статья писалась уже после настройки и запуска сервака, на память. Так что возможны неточности. Если есть идеи или проблемы - пишите. Будем вместе разбираться :)
размещено: 2007-10-04,
последнее обновление: 2007-10-04,
автор: Al
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
|
Статистика сайта
|
Сейчас на сайте находится: 42 чел.
|
За последние 30 мин было: 102 человек
|
За сегодня было 2492 показов, 611 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [16 шт.]