| 1 | <?xml version='1.0' encoding='UTF-8'?> |
1 | <?xml version='1.0' encoding='UTF-8'?> |
| 2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/quick-samba-howto.xml,v 1.9 2004/08/01 11:40:20 swift Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/quick-samba-howto.xml,v 1.27 2007/06/05 21:33:31 nightmorph Exp $ --> |
| 3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 4 | <guide link="quick-samba-howto.xml"> |
4 | <guide link="/doc/en/quick-samba-howto.xml"> |
| 5 | <title>Gentoo Samba3/CUPS/Clam AV HOWTO</title> |
5 | <title>Gentoo Samba3/CUPS/ClamAV HOWTO</title> |
| 6 | <author title="Author"> |
6 | <author title="Author"> |
| 7 | <mail link="daff at dword dot org">Andreas "daff" Ntaflos</mail> |
7 | <mail link="daff at dword dot org">Andreas "daff" Ntaflos</mail> |
| 8 | </author> |
8 | </author> |
| 9 | <author title="Author"> |
9 | <author title="Author"> |
| 10 | <mail link="joshua@sungentoo.homeunix.com">Joshua Preston</mail> |
10 | <mail link="joshua@sungentoo.homeunix.com">Joshua Preston</mail> |
| … | |
… | |
| 18 | |
18 | |
| 19 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
19 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
| 20 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
20 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
| 21 | <license/> |
21 | <license/> |
| 22 | |
22 | |
| 23 | <version>1.6</version> |
23 | <version>1.16</version> |
| 24 | <date>August 01, 2004</date> |
24 | <date>2007-06-05</date> |
| 25 | |
25 | |
| 26 | <chapter> |
26 | <chapter> |
| 27 | <title>Introduction to this HOWTO</title> |
27 | <title>Introduction to this HOWTO</title> |
| 28 | <section> |
28 | <section> |
| 29 | <title>Purpose</title> |
29 | <title>Purpose</title> |
| … | |
… | |
| 107 | </p> |
107 | </p> |
| 108 | |
108 | |
| 109 | <ul> |
109 | <ul> |
| 110 | <li>On the Samba server: |
110 | <li>On the Samba server: |
| 111 | <ul> |
111 | <ul> |
| 112 | <li>Install and configure CLAM-AV</li> |
112 | <li>Install and configure ClamAV</li> |
| 113 | <li>Install and configure Samba</li> |
113 | <li>Install and configure Samba</li> |
| 114 | <li>Install and configure CUPS</li> |
114 | <li>Install and configure CUPS</li> |
| 115 | <li>Adding the printer to CUPS</li> |
115 | <li>Adding the printer to CUPS</li> |
| 116 | <li>Adding the PS drivers for the Windows clients</li> |
116 | <li>Adding the PS drivers for the Windows clients</li> |
| 117 | </ul> |
117 | </ul> |
| … | |
… | |
| 157 | <p> |
157 | <p> |
| 158 | The main package we use here is net-fs/samba, however, you will need |
158 | The main package we use here is net-fs/samba, however, you will need |
| 159 | a kernel with smbfs support enabled in order to mount a samba or windows |
159 | a kernel with smbfs support enabled in order to mount a samba or windows |
| 160 | share from another computer. CUPS will be emerged if it is not already. |
160 | share from another computer. CUPS will be emerged if it is not already. |
| 161 | app-antivirus/clamav will be used also, but others should be easily adapted |
161 | app-antivirus/clamav will be used also, but others should be easily adapted |
| 162 | to work with Samba. |
162 | to work with Samba. Gentoo's samba ebuild supports all kinds of virus scanning |
|
|
163 | technologies, such as Sophos, FProt, Fsav, Trend, Icap, Nai, ... |
| 163 | </p> |
164 | </p> |
| 164 | |
165 | |
| 165 | </body> |
166 | </body> |
| 166 | </section> |
167 | </section> |
| 167 | </chapter> |
168 | </chapter> |
| … | |
… | |
| 176 | Before emerging anything, take a look at the various USE flags |
177 | Before emerging anything, take a look at the various USE flags |
| 177 | available to Samba. |
178 | available to Samba. |
| 178 | </p> |
179 | </p> |
| 179 | |
180 | |
| 180 | <pre caption="Samba uses the following USE Variables:"> |
181 | <pre caption="Samba uses the following USE Variables:"> |
| 181 | kerberos mysql xml acl cups ldap pam readline python oav |
182 | kerberos mysql xml acl cups ldap pam readline python oav libclamav |
| 182 | </pre> |
183 | </pre> |
| 183 | |
184 | |
| 184 | <p> |
185 | <p> |
| 185 | Depending on the network topology and the specific requirements of |
186 | Depending on the network topology and the specific requirements of |
| 186 | the server, the USE flags outlined below will define what to include or |
187 | the server, the USE flags outlined below will define what to include or |
| … | |
… | |
| 255 | </ti> |
256 | </ti> |
| 256 | </tr> |
257 | </tr> |
| 257 | <tr> |
258 | <tr> |
| 258 | <th><b>readline</b></th> |
259 | <th><b>readline</b></th> |
| 259 | <ti> |
260 | <ti> |
| 260 | Link Samba again libreadline. This is highly recommended and should |
261 | Link Samba against libreadline. This is highly recommended and should |
| 261 | probably not be disabled |
262 | probably not be disabled |
| 262 | </ti> |
263 | </ti> |
| 263 | </tr> |
264 | </tr> |
| 264 | <tr> |
265 | <tr> |
| 265 | <th><b>python</b></th> |
266 | <th><b>python</b></th> |
| … | |
… | |
| 274 | Provides on-access scanning of Samba shares with FRISK F-Prot |
275 | Provides on-access scanning of Samba shares with FRISK F-Prot |
| 275 | Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep |
276 | Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep |
| 276 | (SAVI), Symantec CarrierScan, and Trend Micro (VSAPI). |
277 | (SAVI), Symantec CarrierScan, and Trend Micro (VSAPI). |
| 277 | </ti> |
278 | </ti> |
| 278 | </tr> |
279 | </tr> |
|
|
280 | <tr> |
|
|
281 | <th><b>libclamav</b></th> |
|
|
282 | <ti> |
|
|
283 | Use the ClamAV library instead of the clamd daemon |
|
|
284 | </ti> |
|
|
285 | </tr> |
| 279 | </table> |
286 | </table> |
| 280 | |
287 | |
| 281 | <p> |
288 | <p> |
| 282 | A couple of things worth mentioning about the USE flags and different |
289 | A couple of things worth mentioning about the USE flags and different |
| 283 | Samba functions include: |
290 | Samba functions include: |
| … | |
… | |
| 292 | <li> |
299 | <li> |
| 293 | While Active Directory, ACL, and PDC functions are out of the intended |
300 | While Active Directory, ACL, and PDC functions are out of the intended |
| 294 | scope of this HOWTO, you may find these links as helpful to your cause: |
301 | scope of this HOWTO, you may find these links as helpful to your cause: |
| 295 | <ul> |
302 | <ul> |
| 296 | <li><uri>http://www.bluelightning.org/linux/samba_acl_howto/</uri></li> |
303 | <li><uri>http://www.bluelightning.org/linux/samba_acl_howto/</uri></li> |
| 297 | <li><uri>http://open-projects.linuxcare.com/research-papers/winbind-08162000.html</uri></li> |
|
|
| 298 | <li><uri>http://www.wlug.org.nz/HowtoSamba3AndActiveDirectory</uri></li> |
304 | <li><uri>http://www.wlug.org.nz/HowtoSamba3AndActiveDirectory</uri></li> |
| 299 | </ul> |
305 | </ul> |
| 300 | </li> |
306 | </li> |
| 301 | </ul> |
307 | </ul> |
| 302 | |
308 | |
| … | |
… | |
| 335 | To optimize performance, size and the time of the build, the |
341 | To optimize performance, size and the time of the build, the |
| 336 | USE flags are specifically included or excluded. |
342 | USE flags are specifically included or excluded. |
| 337 | </p> |
343 | </p> |
| 338 | |
344 | |
| 339 | <pre caption="Emerge Samba"> |
345 | <pre caption="Emerge Samba"> |
| 340 | <comment>(Note the USE flags!)</comment> |
346 | # <i>echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use</i> |
| 341 | # <i>USE="oav readline cups pam -python -ldap -kerberos -xml -acl -mysql" emerge net-fs/samba</i> |
347 | # <i>emerge net-fs/samba</i> |
| 342 | </pre> |
348 | </pre> |
| 343 | |
349 | |
| 344 | <note> |
350 | <note> |
| 345 | The following archs will need to add <e>~</e> to their <e>KEYWORDS</e>: x86, |
351 | The following archs will need to add <e>~</e> to their <e>KEYWORDS</e>: x86, |
| 346 | ppc, sparc, hppa, ia64 and alpha |
352 | ppc, sparc, hppa, ia64 and alpha |
| … | |
… | |
| 351 | </p> |
357 | </p> |
| 352 | |
358 | |
| 353 | </body> |
359 | </body> |
| 354 | </section> |
360 | </section> |
| 355 | <section> |
361 | <section> |
| 356 | <title>Emerging Clam AV</title> |
362 | <title>Emerging ClamAV</title> |
| 357 | <body> |
363 | <body> |
| 358 | |
364 | |
| 359 | <p> |
365 | <p> |
| 360 | Because the <e>oav</e> USE flag only provides an interface to allow on access |
366 | Because the <e>oav</e> USE flag only provides an interface to allow on access |
| 361 | virus scanning, the actual virus scanner must be emerged. The scanner |
367 | virus scanning, the actual virus scanner must be emerged. The scanner |
| 362 | used in this HOWTO is Clam AV. |
368 | used in this HOWTO is ClamAV. |
| 363 | </p> |
369 | </p> |
| 364 | |
370 | |
| 365 | <pre caption="Emerge clam-av"> |
371 | <pre caption="Emerge Clamav"> |
| 366 | # <i>emerge app-antivirus/clamav</i> |
372 | # <i>emerge app-antivirus/clamav</i> |
| 367 | </pre> |
373 | </pre> |
| 368 | |
374 | |
| 369 | </body> |
375 | </body> |
| 370 | </section> |
376 | </section> |
| … | |
… | |
| 413 | <pre caption="A Sample /etc/samba/smb.conf"> |
419 | <pre caption="A Sample /etc/samba/smb.conf"> |
| 414 | [global] |
420 | [global] |
| 415 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
421 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
| 416 | workgroup = <comment>MYWORKGROUPNAME</comment> |
422 | workgroup = <comment>MYWORKGROUPNAME</comment> |
| 417 | <comment># Of course this has no REAL purpose other than letting |
423 | <comment># Of course this has no REAL purpose other than letting |
| 418 | # everyone know its not Windows! |
424 | # everyone knows it's not Windows! |
| 419 | # %v prints the version of Samba we are using.</comment> |
425 | # %v prints the version of Samba we are using.</comment> |
| 420 | server string = Samba Server %v |
426 | server string = Samba Server %v |
| 421 | <comment># We are going to use cups, so we are going to put it in here ;-)</comment> |
427 | <comment># We are going to use cups, so we are going to put it in here ;-)</comment> |
| 422 | printcap name = cups |
428 | printcap name = cups |
| 423 | printing = cups |
429 | printing = cups |
| … | |
… | |
| 446 | <comment># We now will implement the on access virus scanner. |
452 | <comment># We now will implement the on access virus scanner. |
| 447 | # NOTE: By putting this in our [Global] section, we enable |
453 | # NOTE: By putting this in our [Global] section, we enable |
| 448 | # scanning of ALL shares, you could optionally move |
454 | # scanning of ALL shares, you could optionally move |
| 449 | # these to a specific share and only scan it.</comment> |
455 | # these to a specific share and only scan it.</comment> |
| 450 | |
456 | |
| 451 | <comment># For Samba 3.x</comment> |
457 | <comment># For Samba 3.x. This enables ClamAV on access scanning.</comment> |
| 452 | vfs object = vscan-clamav |
458 | vfs object = vscan-clamav |
| 453 | vscan-clamav: config-file = /etc/samba/vscan-clamav.conf |
459 | vscan-clamav: config-file = /etc/samba/vscan-clamav.conf |
| 454 | |
|
|
| 455 | <comment># For Samba 2.2.x</comment> |
|
|
| 456 | vfs object = /usr/lib/samba/vfs/vscan-clamav.so |
|
|
| 457 | vfs options = config-file = /etc/samba/vscan-clamav.conf |
|
|
| 458 | |
460 | |
| 459 | <comment># Now we setup our print drivers information!</comment> |
461 | <comment># Now we setup our print drivers information!</comment> |
| 460 | [print$] |
462 | [print$] |
| 461 | comment = Printer Drivers |
463 | comment = Printer Drivers |
| 462 | path = /etc/samba/printer <comment># this path holds the driver structure</comment> |
464 | path = /etc/samba/printer <comment># this path holds the driver structure</comment> |
| 463 | guest ok = no |
465 | guest ok = yes |
| 464 | browseable = yes |
466 | browseable = yes |
| 465 | read only = yes |
467 | read only = yes |
| 466 | <comment># Modify this to "username,root" if you don't want root to |
468 | <comment># Modify this to "username,root" if you don't want root to |
| 467 | # be the only printer admin)</comment> |
469 | # be the only printer admin)</comment> |
| 468 | write list = <i>root</i> |
470 | write list = <i>root</i> |
| … | |
… | |
| 481 | |
483 | |
| 482 | <comment># Now we setup our printers share. This should be |
484 | <comment># Now we setup our printers share. This should be |
| 483 | # browseable, printable, public.</comment> |
485 | # browseable, printable, public.</comment> |
| 484 | [printers] |
486 | [printers] |
| 485 | comment = All Printers |
487 | comment = All Printers |
| 486 | browseable = yes |
488 | browseable = no |
| 487 | printable = yes |
489 | printable = yes |
|
|
490 | writable = no |
| 488 | public = yes |
491 | public = yes |
| 489 | guest ok = yes |
492 | guest ok = yes |
| 490 | path = /var/spool/samba |
493 | path = /var/spool/samba |
| 491 | <comment># Modify this to "username,root" if you don't want root to |
494 | <comment># Modify this to "username,root" if you don't want root to |
| 492 | # be the only printer admin)</comment> |
495 | # be the only printer admin)</comment> |
| … | |
… | |
| 514 | printer user, like <c>printeruser</c> or <c>printer</c> or |
517 | printer user, like <c>printeruser</c> or <c>printer</c> or |
| 515 | <c>printme</c> or whatever. It doesn't hurt and it will certainly |
518 | <c>printme</c> or whatever. It doesn't hurt and it will certainly |
| 516 | protect you from a lot of problems. |
519 | protect you from a lot of problems. |
| 517 | </warn> |
520 | </warn> |
| 518 | |
521 | |
|
|
522 | <warn> |
|
|
523 | Turning on ClamAV on access scanning in the <c>[global]</c> section will slow |
|
|
524 | down the performance of your Samba server dramatically. |
|
|
525 | </warn> |
|
|
526 | |
| 519 | <p> |
527 | <p> |
| 520 | Now create the directories required for the minimum configuration of |
528 | Now create the directories required for the minimum configuration of |
| 521 | Samba to share the installed printer throughout the network. |
529 | Samba to share the installed printer throughout the network. |
| 522 | </p> |
530 | </p> |
| 523 | |
531 | |
| … | |
… | |
| 557 | </pre> |
565 | </pre> |
| 558 | |
566 | |
| 559 | </body> |
567 | </body> |
| 560 | </section> |
568 | </section> |
| 561 | <section> |
569 | <section> |
| 562 | <title>Configuring Clam AV</title> |
570 | <title>Configuring ClamAV</title> |
| 563 | <body> |
571 | <body> |
| 564 | |
572 | |
| 565 | <p> |
573 | <p> |
| 566 | The configuration file specified to be used in <path>smb.conf</path> is |
574 | The configuration file specified to be used in <path>smb.conf</path> is |
| 567 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set |
575 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set |
| … | |
… | |
| 623 | <comment>; an entry is invalidated after lru file entry lifetime (in seconds). |
631 | <comment>; an entry is invalidated after lru file entry lifetime (in seconds). |
| 624 | ; (Default: 5)</comment> |
632 | ; (Default: 5)</comment> |
| 625 | lru file entry lifetime = 5 |
633 | lru file entry lifetime = 5 |
| 626 | |
634 | |
| 627 | <comment>; socket name of clamd (default: /var/run/clamd)</comment> |
635 | <comment>; socket name of clamd (default: /var/run/clamd)</comment> |
| 628 | clamd socket name = /var/run/clamd |
636 | clamd socket name = /tmp/clamd |
|
|
637 | |
|
|
638 | <comment>; port number the ScannerDaemon listens on</comment> |
|
|
639 | oav port = 8127 |
| 629 | </pre> |
640 | </pre> |
| 630 | |
641 | |
| 631 | <p> |
642 | <p> |
| 632 | It is generally a good idea to start the virus scanner immediately. Add |
643 | It is generally a good idea to start the virus scanner immediately. Add |
| 633 | it to the <e>default</e> runlevel and then start the <c>clamd</c> service immediately. |
644 | it to the <e>default</e> runlevel and then start the <c>clamd</c> service |
|
|
645 | immediately. The service has two processes: freshclam keeps the virus definition |
|
|
646 | database up to date while clamd is the actual anti-virus daemon. First you may |
|
|
647 | want to set the paths of the logfiles so that it fits your needs. |
|
|
648 | </p> |
|
|
649 | |
|
|
650 | <pre caption="Checking the location of the logfiles"> |
|
|
651 | # <i>vim /etc/clamd.conf</i> |
|
|
652 | <comment>(Check the line "LogFile /var/log/clamd.log")</comment> |
|
|
653 | # <i>vim /etc/freshclam.conf</i> |
|
|
654 | <comment>(Check the line "UpdateLogFile /var/log/freshclam.log")</comment> |
|
|
655 | # <i>vim /etc/conf.d/clamd</i> |
|
|
656 | <comment>(Set "START_CLAMD=yes" and "START_FRESHCLAM=yes")</comment> |
|
|
657 | </pre> |
|
|
658 | |
|
|
659 | <p> |
|
|
660 | Now fire up the virus scanner. |
| 634 | </p> |
661 | </p> |
| 635 | |
662 | |
| 636 | <pre caption="Add clamd to bootup and start it"> |
663 | <pre caption="Add clamd to bootup and start it"> |
| 637 | # <i>rc-update add clamd default</i> |
664 | # <i>rc-update add clamd default</i> |
| 638 | # <i>/etc/init.d/clamd start</i> |
665 | # <i>/etc/init.d/clamd start</i> |
| … | |
… | |
| 651 | in the example are the directives that need to be changed: |
678 | in the example are the directives that need to be changed: |
| 652 | </p> |
679 | </p> |
| 653 | |
680 | |
| 654 | <pre caption="/etc/cups/cupsd.conf"> |
681 | <pre caption="/etc/cups/cupsd.conf"> |
| 655 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
682 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
| 656 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, eg you</comment> |
683 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, e.g. you</comment> |
| 657 | |
684 | |
| 658 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
685 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
| 659 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
686 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
| 660 | |
687 | |
| 661 | LogLevel debug <comment># only while isntalling and testing, should later be |
688 | LogLevel debug <comment># only while isntalling and testing, should later be |
| 662 | # changed to 'info'</comment> |
689 | # changed to 'info'</comment> |
| 663 | |
690 | |
| 664 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
691 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
| 665 | # there seemed to be a bug in CUPS' controlling of the web interface, |
692 | # there seemed to be a bug in CUPS' controlling of the web interface, |
| 666 | # making CUPS think a denial of service attack was in progress when |
693 | # making CUPS think a denial of service attack was in progress when |
| 667 | # I tried to configure a printer with the web interface. weird.</comment> |
694 | # I tried to configure a printer with the web interface. weird.</comment> |
| … | |
… | |
| 670 | |
697 | |
| 671 | <Location /> |
698 | <Location /> |
| 672 | Order Deny,Allow |
699 | Order Deny,Allow |
| 673 | Deny From All |
700 | Deny From All |
| 674 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
701 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
| 675 | # eg 192.168.1.* will allow connections from any host on |
702 | # e.g. 192.168.1.* will allow connections from any host on |
| 676 | # the 192.168.1.0 network. change to whatever suits you</comment> |
703 | # the 192.168.1.0 network. change to whatever suits you</comment> |
| 677 | </Location> |
704 | </Location> |
| 678 | |
705 | |
| 679 | <Location /admin> |
706 | <Location /admin> |
| 680 | AuthType Basic |
707 | AuthType Basic |
| … | |
… | |
| 697 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
724 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
| 698 | application/octet-stream application/vnd.cups-raw 0 |
725 | application/octet-stream application/vnd.cups-raw 0 |
| 699 | </pre> |
726 | </pre> |
| 700 | |
727 | |
| 701 | <p> |
728 | <p> |
| 702 | Edit <path>/etc/cups/mime.convs</path> to uncomment some lines. |
729 | Edit <path>/etc/cups/mime.types</path> to uncomment some lines. |
| 703 | </p> |
730 | </p> |
| 704 | |
731 | |
| 705 | <pre caption="/etc/cups/mime.types"> |
732 | <pre caption="/etc/cups/mime.types"> |
| 706 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
733 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
| 707 | application/octet-stream |
734 | application/octet-stream |
| … | |
… | |
| 712 | </p> |
739 | </p> |
| 713 | |
740 | |
| 714 | <pre caption="Setting up the CUPS service" > |
741 | <pre caption="Setting up the CUPS service" > |
| 715 | <comment>(To start CUPS on boot)</comment> |
742 | <comment>(To start CUPS on boot)</comment> |
| 716 | # <i>rc-update add cupsd default</i> |
743 | # <i>rc-update add cupsd default</i> |
| 717 | <comment>(To start CUPS if it isn't started)</comment> |
744 | <comment>(To start or restart CUPS now)</comment> |
| 718 | # <i>/etc/init.d/cupsd start</i> |
|
|
| 719 | <comment>(If CUPS is already started we'll need to restart it!)</comment> |
|
|
| 720 | # <i>/etc/init.d/cupsd restart</i> |
745 | # <i>/etc/init.d/cupsd restart</i> |
| 721 | </pre> |
746 | </pre> |
| 722 | |
747 | |
| 723 | </body> |
748 | </body> |
| 724 | </section> |
749 | </section> |
| … | |
… | |
| 728 | |
753 | |
| 729 | <p> |
754 | <p> |
| 730 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
755 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
| 731 | find and download the correct PPD file for your printer and CUPS. To do so, |
756 | find and download the correct PPD file for your printer and CUPS. To do so, |
| 732 | click the link Printer Listings to the left. Select your printers manufacturer |
757 | click the link Printer Listings to the left. Select your printers manufacturer |
| 733 | and the model in the pulldown menu, eg HP and DeskJet 930C. Click "Show". On |
758 | and the model in the pulldown menu, e.g. HP and DeskJet 930C. Click "Show". On |
| 734 | the page coming up click the "recommended driver" link after reading the |
759 | the page coming up click the "recommended driver" link after reading the |
| 735 | various notes and information. Then fetch the PPD file from the next page, |
760 | various notes and information. Then fetch the PPD file from the next page, |
| 736 | again after reading the notes and introductions there. You may have to select |
761 | again after reading the notes and introductions there. You may have to select |
| 737 | your printers manufacturer and model again. Reading the <uri |
762 | your printers manufacturer and model again. Reading the <uri |
| 738 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> |
763 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> |
| … | |
… | |
| 747 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
772 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
| 748 | </p> |
773 | </p> |
| 749 | |
774 | |
| 750 | <pre caption="Install the printer via command line"> |
775 | <pre caption="Install the printer via command line"> |
| 751 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
776 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
|
|
777 | # <i>/etc/init.d/cupsd restart</i> |
| 752 | </pre> |
778 | </pre> |
| 753 | |
779 | |
| 754 | <p> |
780 | <p> |
| 755 | Remember to adjust to what you have. Be sure to have the name |
781 | Remember to adjust to what you have. Be sure to have the name |
| 756 | (<c>-p</c> argument) right (the name you set above during the Samba |
782 | (<c>-p</c> argument) right (the name you set above during the Samba |
| … | |
… | |
| 778 | drivers automagically to the connecting client, avoiding the hassle of |
804 | drivers automagically to the connecting client, avoiding the hassle of |
| 779 | manually installing printer drivers locally. |
805 | manually installing printer drivers locally. |
| 780 | </p> |
806 | </p> |
| 781 | |
807 | |
| 782 | <p> |
808 | <p> |
| 783 | There are two sets of printer drivers for this. First, the Adobe PS |
809 | There are two sets of printer drivers for this. First, the Adobe PS drivers |
| 784 | drivers which can be obtained from <uri |
810 | which can be obtained from <uri |
| 785 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> |
811 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> (PostScript |
| 786 | (PostScript printer drivers). Second, there are the CUPS PS drivers, |
812 | printer drivers). Second, there are the CUPS PS drivers, to be obtained <uri |
| 787 | to be obtained from <uri link="http://www.cups.org/software.php">the |
813 | link="http://dev.gentoo.org/~nightmorph/misc/cups-samba-5.0rc2.tar.gz">here</uri>. |
| 788 | CUPS homepage</uri> and selecting "CUPS Driver for Windows" from the |
814 | There doesn't seem to be a difference between the functionality of the two, but |
| 789 | pull down menu. There doesn't seem to be a difference between the |
815 | the Adobe PS drivers need to be extracted on a Windows System since it's a |
| 790 | functionality of the two, but the Adobe PS drivers need to be extracted |
816 | Windows binary. Also the whole procedure of finding and copying the correct |
| 791 | on a Windows System since it's a Windows binary. Also the whole procedure |
817 | files is a bit more hassle. The CUPS drivers seem to support some options the |
| 792 | of finding and copying the correct files is a bit more hassle. The CUPS |
818 | Adobe drivers don't. |
| 793 | drivers seem to support some options the Adobe drivers don't. |
|
|
| 794 | </p> |
819 | </p> |
|
|
820 | <!-- |
|
|
821 | used to be available at www.cups.org/articles.php?L142+p4, but only 6.0 is |
|
|
822 | available. at some point, we should update this for 6.0. |
|
|
823 | --> |
| 795 | |
824 | |
| 796 | <p> |
825 | <p> |
| 797 | This HOWTO uses the CUPS drivers for Windows. The downloaded file is |
826 | This HOWTO uses the CUPS drivers for Windows. The downloaded file is |
| 798 | called <path>cups-samba-5.0rc2.tar.gz</path>. Extract the files |
827 | called <path>cups-samba-5.0rc2.tar.gz</path>. Extract the files |
| 799 | contained into a directory. |
828 | contained into a directory. |
| … | |
… | |
| 811 | <path>cups5.hlp</path>, <path>cupsdrvr5.dll</path> and |
840 | <path>cups5.hlp</path>, <path>cupsdrvr5.dll</path> and |
| 812 | <path>cupsui5.dll</path>. These are the actual driver files. |
841 | <path>cupsui5.dll</path>. These are the actual driver files. |
| 813 | </p> |
842 | </p> |
| 814 | |
843 | |
| 815 | <warn> |
844 | <warn> |
| 816 | The script <c>cups-samba.install</c> may not work for all *nixes (ie FreeBSD) |
845 | The script <c>cups-samba.install</c> may not work for all *nixes (i.e. FreeBSD) |
| 817 | because almost everything which is not part of the base system is |
846 | because almost everything which is not part of the base system is |
| 818 | installed somewhere under the prefix <path>/usr/local/</path>. This |
847 | installed somewhere under the prefix <path>/usr/local/</path>. This |
| 819 | seems not to be the case for most things you install under GNU/Linux. |
848 | seems not to be the case for most things you install under GNU/Linux. |
| 820 | However, if your CUPS installation is somewhere other than |
849 | However, if your CUPS installation is somewhere other than |
| 821 | <path>/usr/share/cups/</path> see the example below. |
850 | <path>/usr/share/cups/</path> see the example below. |
| … | |
… | |
| 832 | # <i>tar -xf cups-samba.ss</i> |
861 | # <i>tar -xf cups-samba.ss</i> |
| 833 | <comment>(This extracts the files to usr/share/cups/drivers under the CURRENT WORKING DIRECTORY)</comment> |
862 | <comment>(This extracts the files to usr/share/cups/drivers under the CURRENT WORKING DIRECTORY)</comment> |
| 834 | # <i>cd usr/share/cups/drivers</i> |
863 | # <i>cd usr/share/cups/drivers</i> |
| 835 | <comment>(no leading / !)</comment> |
864 | <comment>(no leading / !)</comment> |
| 836 | # <i>cp cups* /usr/local/share/cups/drivers</i> |
865 | # <i>cp cups* /usr/local/share/cups/drivers</i> |
|
|
866 | # <i>/etc/init.d/cupsd restart</i> |
| 837 | </pre> |
867 | </pre> |
| 838 | |
868 | |
| 839 | <p> |
869 | <p> |
| 840 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS |
870 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS distribution. |
| 841 | distribution. It's man page is an interesting read. |
871 | Its man page is an interesting read. |
| 842 | </p> |
872 | </p> |
| 843 | |
873 | |
| 844 | <pre caption="Run cupsaddsmb"> |
874 | <pre caption="Run cupsaddsmb"> |
| 845 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
875 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
| 846 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
876 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
| 847 | "export all known printers".)</comment> |
877 | "export all known printers".)</comment> |
| 848 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -a</i> |
878 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -a</i> |
| 849 | </pre> |
879 | </pre> |
| 850 | |
880 | |
| 851 | <warn> |
881 | <warn> |
| 852 | The execution of this command often causes the most trouble. |
882 | The execution of this command often causes the most trouble. Read through the |
| 853 | Reading through the <uri |
|
|
| 854 | link="http://forums.gentoo.org/viewtopic.php?t=110931">posts in this |
883 | <uri link="http://forums.gentoo.org/viewtopic.php?t=110931">posts in this |
| 855 | thread</uri>. |
884 | thread</uri> for some troubleshooting tips. |
| 856 | </warn> |
885 | </warn> |
| 857 | |
886 | |
| 858 | <p> |
887 | <p> |
| 859 | Here are common errors that may happen: |
888 | Here are common errors that may happen: |
| 860 | </p> |
889 | </p> |
| … | |
… | |
| 977 | <section> |
1006 | <section> |
| 978 | <title>Printer configuration of *nix based clients</title> |
1007 | <title>Printer configuration of *nix based clients</title> |
| 979 | <body> |
1008 | <body> |
| 980 | |
1009 | |
| 981 | <p> |
1010 | <p> |
| 982 | Despite the variation or distribution, the only thing needed is CUPS. |
1011 | Despite the variation or distribution, the only thing needed is CUPS. Do the |
| 983 | Do the equivalent on any other UNIX/Linux/BSD client. |
1012 | equivalent on any other UNIX/Linux/BSD client. |
| 984 | </p> |
1013 | </p> |
| 985 | |
1014 | |
| 986 | <pre caption="Configuring a Gentoo system"> |
1015 | <pre caption="Configuring a Gentoo system"> |
| 987 | # <i>emerge cups</i> |
1016 | # <i>emerge cups</i> |
| 988 | # <i>/etc/init.d/cupsd start</i> |
1017 | # <i>nano -w /etc/cups/client.conf</i> |
| 989 | # <i>rc-update add cupsd default</i> |
1018 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
| 990 | </pre> |
1019 | </pre> |
| 991 | |
1020 | |
| 992 | <p> |
|
|
| 993 | That should be it. Nothing else will be needed. Just point your web |
|
|
| 994 | browser to <c>http://localhost:631</c> on the client and you'll see that |
|
|
| 995 | PrintServer broadcasts all available printers to all CUPS clients. |
|
|
| 996 | </p> |
1021 | <p> |
| 997 | |
1022 | That should be it. Nothing else will be needed. |
| 998 | <p> |
1023 | </p> |
| 999 | To print, use for example |
1024 | |
| 1000 | </p> |
1025 | <p> |
|
|
1026 | If you use only one printer, it will be your default printer. If your print |
|
|
1027 | server manages several printers, your administrator will have defined a default |
|
|
1028 | printer on the server. If you want to define a different default printer for |
|
|
1029 | yourself, use the <c>lpoptions</c> command. |
|
|
1030 | </p> |
|
|
1031 | |
|
|
1032 | <pre caption="Setting your default printer"> |
|
|
1033 | <comment>(List available printers)</comment> |
|
|
1034 | # <i>lpstat -a</i> |
|
|
1035 | <comment>(Sample output, yours will differ)</comment> |
|
|
1036 | HPDeskJet930C accepting requests since Jan 01 00:00 |
|
|
1037 | laser accepting requests since Jan 01 00:00 |
|
|
1038 | <comment>(Define HPDeskJet930C as your default printer)</comment> |
|
|
1039 | # <i>lpoptions -d HPDeskJet930C</i> |
|
|
1040 | </pre> |
| 1001 | |
1041 | |
| 1002 | <pre caption="Printing in *nix"> |
1042 | <pre caption="Printing in *nix"> |
|
|
1043 | <comment>(Specify the printer to be used)</comment> |
| 1003 | # <i>lpr -pHPDeskJet930C anything.txt</i> |
1044 | # <i>lp -d HPDeskJet930C anything.txt</i> |
| 1004 | # <i>lpr -PHPDeskJet930C foobar.whatever.ps</i> |
1045 | <comment>(Use your default printer)</comment> |
| 1005 | </pre> |
|
|
| 1006 | |
|
|
| 1007 | <p> |
|
|
| 1008 | In order to setup a default printer, you have to edit |
|
|
| 1009 | <path>/etc/cups/client.conf</path> and set the directive |
|
|
| 1010 | <c>ServerName</c> to your printserver. In the case of this guide that |
|
|
| 1011 | would be the following example. |
|
|
| 1012 | </p> |
|
|
| 1013 | |
|
|
| 1014 | <pre caption="/etc/cups/client.conf"> |
|
|
| 1015 | ServerName PrintServer |
|
|
| 1016 | </pre> |
|
|
| 1017 | |
|
|
| 1018 | <p> |
|
|
| 1019 | The following will print <path>foorbar.whatever.ps</path> directly to the print |
|
|
| 1020 | server. |
|
|
| 1021 | </p> |
|
|
| 1022 | |
|
|
| 1023 | <pre caption="Printing to the default printer"> |
|
|
| 1024 | $ <i>lpr foobar.whatever.ps</i> |
1046 | # <i>lp foobar.whatever.ps</i> |
| 1025 | </pre> |
1047 | </pre> |
| 1026 | |
1048 | |
| 1027 | <p> |
|
|
| 1028 | Some common observations when setting a default printer in this manner |
|
|
| 1029 | include the following: |
|
|
| 1030 | </p> |
1049 | <p> |
| 1031 | |
1050 | Just point your web browser to <c>http://printserver:631</c> on the client if |
| 1032 | <ul> |
1051 | you want to manage your printers and their jobs with a nice web interface. |
| 1033 | <li> |
1052 | Replace <c>printserver</c> with the name of the <e>machine</e> that acts as |
| 1034 | Setting the <c>ServerName</c> in <path>client.conf</path> seems to |
1053 | your print server, not the name you gave to the cups print server if you used |
| 1035 | work well for only one printer, there may be yet another way to |
1054 | different names. |
| 1036 | set a client's default remote printer. |
1055 | </p> |
| 1037 | </li> |
|
|
| 1038 | <li> |
|
|
| 1039 | Also, when accessing <c>http://localhost:631</c> on the client |
|
|
| 1040 | now, no printers seem to be "found" by the client-CUPS. This is to |
|
|
| 1041 | be expected when setting <c>ServerName</c> in |
|
|
| 1042 | <path>client.conf</path>. |
|
|
| 1043 | </li> |
|
|
| 1044 | </ul> |
|
|
| 1045 | |
1056 | |
| 1046 | </body> |
1057 | </body> |
| 1047 | </section> |
1058 | </section> |
| 1048 | <section> |
1059 | <section> |
| 1049 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
1060 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
| … | |
… | |
| 1136 | troubleshooting your installation: |
1147 | troubleshooting your installation: |
| 1137 | </p> |
1148 | </p> |
| 1138 | |
1149 | |
| 1139 | <ul> |
1150 | <ul> |
| 1140 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
1151 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
|
|
1152 | <li> |
| 1141 | <li><uri link="http://www.samba.org/">Samba Homepage</uri></li> |
1153 | <uri link="http://www.samba.org/">Samba Homepage</uri>, especially the <uri |
|
|
1154 | link="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html">chapter |
|
|
1155 | on Samba/CUPS configuration</uri> |
|
|
1156 | </li> |
| 1142 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
1157 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
| 1143 | <li> |
1158 | <li> |
| 1144 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
1159 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
| 1145 | Pfeifle's Samba Print HOWTO</uri> ( |
1160 | Pfeifle's Samba Print HOWTO</uri> ( |
| 1146 | This HOWTO really covers <e>ANYTHING</e> and <e>EVERYTHING</e> |
1161 | This HOWTO really covers <e>ANYTHING</e> and <e>EVERYTHING</e> |