The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка сервера печати под FreeBSD на базе CUPS и samba+AD (cups samba freebsd print)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: cups, samba, freebsd, print,  (найти похожие документы)
From: Al <tomefrom@list.ru.> Date: Mon, 4 Oct 2007 14:31:37 +0000 (UTC) Subject: Настройка сервера печати под FreeBSD на базе CUPS и samba+AD Оригинал: http://www.lissyara.su/?id=1514 Решил в качестве эксперимента настроить файловый сервер на самбе, с аутентификацией пользователей в 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. Официальный сайт - http://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 меняем disable spoolss = Yes на disable spoolss = No далее запускаем 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. Скорее, просто мой личный опыт работы.. Наверняка, есть более простой и удобный способ настройки. Статья писалась уже после настройки и запуска сервака, на память. Так что возможны неточности. Если есть идеи или проблемы - пишите. Будем вместе разбираться :)

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру