Автор Тема: Print Server (Сервер печати)  (Прочитано 8835 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 655
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
Print Server (Сервер печати)
« : 16 Апрель 2012, 18:33:00 »
Wiki формат

==============
Обсуждаем ТУТ
==============

Наш сервер печати  - 192.168.10.44
NetBios имя - prn-server

Подразумевается, что:
1. samba (собранная с поддержкой ADS) и apache установлены.
2. компьютер(сервер) введен в домен MYDOMAIN (net ads join).

Для организации сервера печати на SlackWare c возможностью печатать и администрировать с Windows машин (при помощи галочек),
отредактируем файл  /etc/cups/cupsd.conf
LogLevel warn
SystemGroup sys root
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseRemoteProtocols cups ldap
BrowseAddress @LOCAL
BrowseLocalProtocols cups ldap
DefaultAuthType Basic
<Location />
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow all
</Location>
<Policy default>
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    Order deny,allow
  </Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Sch
edule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>
<Policy authenticated>
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    AuthType Default
    Order deny,allow
  </Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
    AuthType Default                                                                                                                                                                                                                         
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>
BrowseWebIF Yes

Запускаем CUPS не забыв дать права на запуск файлу /etc/rc.d/rc.cupsd
/etc/rc.d/rc.cupsd start   
На любой машине с браузером заходим на http://192.168.10.44:631 или https://192.168.10.44:631/admin/, потому-что, наверняка, вас сюда перешлют, в дальнейшем :)
и начинаем добавлять принтеры (необходимо знать root'овый пароль):
Переходим на вкладку "Администрирование"


и жмем на кнопку "Найти новый принтер".
Иногда, не находит (у меня не нашел, почему-то), тогда жмем на  "Добавить принтер" и выбираем нужный нам принтер из списка.


Для примера я выбрал HP 2015, куда и что вбивать, думаю и так понятно.
Нажимаем "Продолжить"


Выбираем Модель принтера и драйвер из списка, если есть драйвер в формате PPD, можно указать его.
Если принтера нет в списке, выбираем близкий к нему по смыслу.
Чревато тем, что  линукс клиенты, возможно печатать не смогут (надо искать драйвера в интернете "PPD"), но если есть драйвера под Windows, то при дальнейшей настройке, Windows клиенты печатать будут.
Нажимаем "Добавить принтер"


Тут можно оставить как есть.
Жмем "Сохранить параметры по умолчанию".


в итоге, получаем картинку с описанием принтера и возможностью его администрировать:


Таким способом нужно установить ВСЕ ПРИНТЕРЫ которым планируется давать доступ используя наш сервер печати.
Для примера я поставил три принтера

Обратите внимание, у принтера Brother MFC-7840W Printer установлены не родные драйвера!
Вот его и попробуем установить на Windows XP.

Но сначала настроим smb.conf и приведем его к следующему виду (каждый поставит свой домен, нужные IP, интерфейсы и кодировки):
[global]                                                                                                                                                                                                                                     
interfaces = eth0 lo
hosts allow = 192.168.10. 127.
netbios name = prn-server
workgroup = MYDOMAIN
# ваш DC
password server = 192.168.10.123
server string = Print Server
security = ADS
realm = MYDOMAIN
allow trusted domains = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 0
preferred master = No
local master = No
domain master = No
dns proxy = No
ldap ssl = no
strict locking = No
time server = no
auth methods = winbind
encrypt passwords = yes
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
log file = /var/log/samba/log.%m
max log size = 1024
log level = 1
display charset = utf8
unix charset = utf8
dos charset = cp866
nt acl support = yes

# тут про печать
load printers = yes
printing = cups
printcap name = cups
cups options = raw
show add printer wizard = yes
disable spoolss = no

[printers]
comment = All Printers
path = /var/spool/samba
use client driver = no
browseable = no
public = yes
guest ok = yes
printable = yes
default devmode = yes

[print$]
comment = drivers for printers
path = /etc/samba/drivers
browseable = yes
create mask = 1775
directory mask = 1775
guest ok = no
read only = yes
write list = root, "@MYDOMAIN\администраторы домена"
read list="@MYDOMAIN\пользователи домена"

Далее, создаем необходимые нам каталоги и раздаем соответствующие права на них:
# mkdir -p /etc/samba/drivers
# сd /etc/samba
# mkdir -p drivers/{W32ALPHA,W32MIPS.W32PPC}
# mkdir -p drivers/{W32X86/{2,3},WIN40,COLOR,IA64,x64}
# chown -R root:"MYDOMAIN\\администраторы домена" /etc/samba/drivers
# chmod -R 0775 /etc/samba/drivers
# mkdir -p /var/spool/samba
# chown -R root:"MYDOMAIN\\пользователи домена" /var/spool/samba
# chmod -R 0770 /var/spool/samba

Перезапускаем SAMBA
/etc/rc.d/rc.samba restart
Теперь установим Windows драйвера принтеров на наш сервер печати.
Для этого, зарегистрируемся на рабочей станции Windows в качестве администратора домена .
“Пуск”  →  “Выполнить”  → вводим “\\192.168.10.44”
Входим в  “Принтеры и факсы”. Мы увидем принтеры, доступные через систему печати Linux (те те, что мы ставили через CUPS).
Будем устанавливать драйвера для  принтера Brother MFC-7840W Printer .
Кликаем правой кнопкой мыши на этом принтере и выбираем пункт "Свойства".


На вопрос об установке драйвера, говорим "Нет"


Переходим на вкладку "Дополнительно" и нажимаем на кнопку "Сменить..."


В появившемся мастере установки драйверов нажимаем на "Далее >"


В списке, думаю, драйверов нет, но они есть на диске идущем вместе с принтером (или где-нибудь валяются у вас в сети ;) ).
Вот с него и будем ставить драйвера.
Поэтому жмём на "Установить с диска" и указываем расположение драйвера.


Нашли! Выбираем нужный (тут он у нас один) и жмём  "Далее >"


И видим, что процесс пошёл!
Обращаем внимание, что файлы копируются на наш сервер печати ( \\192.168.10.44\print$\W32X86)


Всё, процесс закончен, жмём "Готово".


Можем настроить нужные нам свойства и нажимаем "Ок"


Ну, и сразу же подключим.
Для этого, правой кнопкой мыши на ярлыке принтера, выбираем пункт "Подключить"


И...., вуаля! :)


Теперь для  установки драйвера на других рабочих станциях Windows, достаточно будет просто щелкнуть на ярлыке принтера и драйвер будет установлен без запроса на разрешение выполнения установки драйвера.
Как побочный эффект процесса установки драйвера на сервер, драйвер одновременно будет установлен и на рабочей станции с которой шла установка.

=== Ссылался на.... ====
 
http://gazette.linux.ru.net/lg90/ward.html
http://www.opennet.ru/base/net/samba_print_2.txt.html

“ЗАПУСКАЕМ LINUX”
Пятое издание,
Maттиac Калле Далхаимер и МэттУэлш
Санкт-Петербург―Москва
2008 г.
Глава 15

Wiki версия

==============
Обсуждаем ТУТ
==============
« Последнее редактирование: 30 Ноябрь 2012, 09:44:27 от Graf »
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

 

Copyright (c) Aiwan. Kolobok Smiles

@Mail.ru