| 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.6 2004/06/22 15:34:19 swift Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/quick-samba-howto.xml,v 1.28 2007/06/06 22:42:25 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.4</version> |
23 | <version>1.17</version> |
| 24 | <date>June 22, 2004</date> |
24 | <date>2007-06-06</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> |
| … | |
… | |
| 144 | <ul> |
144 | <ul> |
| 145 | <li>net-fs/samba</li> |
145 | <li>net-fs/samba</li> |
| 146 | <li>app-antivirus/clamav</li> |
146 | <li>app-antivirus/clamav</li> |
| 147 | <li>net-print/cups</li> |
147 | <li>net-print/cups</li> |
| 148 | <li>net-print/foomatic</li> |
148 | <li>net-print/foomatic</li> |
| 149 | <li>net-print/hpijs (if you have an HP printer)</li> |
149 | <li>net-print/hplip (if you have an HP printer)</li> |
| 150 | <li>A kernel of sorts (preferably 2.4.24+ or 2.6.x)</li> |
150 | <li>A kernel of sorts (2.6)</li> |
| 151 | <li>A printer (PS or non-PS, maybe not TOO new or fancy)</li> |
151 | <li>A printer (PS or non-PS, maybe not TOO new or fancy)</li> |
| 152 | <li> |
152 | <li> |
| 153 | A working network (home/office/etc) consisting of more than one machine) |
153 | A working network (home/office/etc) consisting of more than one machine) |
| 154 | </li> |
154 | </li> |
| 155 | </ul> |
155 | </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> |
| … | |
… | |
| 171 | <section> |
172 | <section> |
| 172 | <title>The USE Flags</title> |
173 | <title>The USE Flags</title> |
| 173 | <body> |
174 | <body> |
| 174 | |
175 | |
| 175 | <p> |
176 | <p> |
| 176 | Before emerging anything, take a look at the various USE flags |
177 | Before emerging anything, take a look at some of the various USE flags available |
| 177 | available to Samba. |
178 | 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 acl cups ldap pam readline python oav |
| 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 |
| … | |
… | |
| 196 | <th><b>kerberos</b></th> |
197 | <th><b>kerberos</b></th> |
| 197 | <ti> |
198 | <ti> |
| 198 | Include support for Kerberos. The server will need this if it is |
199 | Include support for Kerberos. The server will need this if it is |
| 199 | intended to join an existing domain or Active Directory. See the note |
200 | intended to join an existing domain or Active Directory. See the note |
| 200 | below for more information. |
201 | below for more information. |
| 201 | </ti> |
|
|
| 202 | </tr> |
|
|
| 203 | <tr> |
|
|
| 204 | <th><b>mysql</b></th> |
|
|
| 205 | <ti> |
|
|
| 206 | This will allow Samba to use MySQL in order to do password authentication. |
|
|
| 207 | It will store ACLs, usernames, passwords, etc in a database versus a |
|
|
| 208 | flat file. If Samba is needed to do password authentication, such as |
|
|
| 209 | acting as a password validation server or a Primary Domain Controller |
|
|
| 210 | (PDC). |
|
|
| 211 | </ti> |
|
|
| 212 | </tr> |
|
|
| 213 | <tr> |
|
|
| 214 | <th><b>xml</b></th> |
|
|
| 215 | <ti> |
|
|
| 216 | The xml USE option for Samba provides a password database backend allowing |
|
|
| 217 | Samba to store account details in XML files, for the same reasons listed in |
|
|
| 218 | the mysql USE flag description. |
|
|
| 219 | </ti> |
202 | </ti> |
| 220 | </tr> |
203 | </tr> |
| 221 | <tr> |
204 | <tr> |
| 222 | <th><b>acl</b></th> |
205 | <th><b>acl</b></th> |
| 223 | <ti> |
206 | <ti> |
| … | |
… | |
| 255 | </ti> |
238 | </ti> |
| 256 | </tr> |
239 | </tr> |
| 257 | <tr> |
240 | <tr> |
| 258 | <th><b>readline</b></th> |
241 | <th><b>readline</b></th> |
| 259 | <ti> |
242 | <ti> |
| 260 | Link Samba again libreadline. This is highly recommended and should |
243 | Link Samba against libreadline. This is highly recommended and should |
| 261 | probably not be disabled |
244 | probably not be disabled |
| 262 | </ti> |
245 | </ti> |
| 263 | </tr> |
246 | </tr> |
| 264 | <tr> |
247 | <tr> |
| 265 | <th><b>python</b></th> |
248 | <th><b>python</b></th> |
| … | |
… | |
| 292 | <li> |
275 | <li> |
| 293 | While Active Directory, ACL, and PDC functions are out of the intended |
276 | 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: |
277 | scope of this HOWTO, you may find these links as helpful to your cause: |
| 295 | <ul> |
278 | <ul> |
| 296 | <li><uri>http://www.bluelightning.org/linux/samba_acl_howto/</uri></li> |
279 | <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> |
280 | <li><uri>http://www.wlug.org.nz/HowtoSamba3AndActiveDirectory</uri></li> |
| 299 | </ul> |
281 | </ul> |
| 300 | </li> |
282 | </li> |
| 301 | </ul> |
283 | </ul> |
| 302 | |
284 | |
| … | |
… | |
| 335 | To optimize performance, size and the time of the build, the |
317 | To optimize performance, size and the time of the build, the |
| 336 | USE flags are specifically included or excluded. |
318 | USE flags are specifically included or excluded. |
| 337 | </p> |
319 | </p> |
| 338 | |
320 | |
| 339 | <pre caption="Emerge Samba"> |
321 | <pre caption="Emerge Samba"> |
| 340 | <comment>(Note the USE flags!)</comment> |
322 | # <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> |
323 | # <i>emerge net-fs/samba</i> |
| 342 | </pre> |
324 | </pre> |
| 343 | |
325 | |
| 344 | <note> |
326 | <note> |
| 345 | The following archs will need to add <e>~</e> to their <e>KEYWORDS</e>: x86, |
327 | The following archs will need to add <e>~</e> to their <e>KEYWORDS</e>: x86, |
| 346 | ppc, sparc, hppa, ia64 and alpha |
328 | ppc, sparc, hppa, ia64 and alpha |
| … | |
… | |
| 351 | </p> |
333 | </p> |
| 352 | |
334 | |
| 353 | </body> |
335 | </body> |
| 354 | </section> |
336 | </section> |
| 355 | <section> |
337 | <section> |
| 356 | <title>Emerging Clam AV</title> |
338 | <title>Emerging ClamAV</title> |
| 357 | <body> |
339 | <body> |
| 358 | |
340 | |
| 359 | <p> |
341 | <p> |
| 360 | Because the <e>oav</e> USE flag only provides an interface to allow on access |
342 | 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 |
343 | virus scanning, the actual virus scanner must be emerged. The scanner |
| 362 | used in this HOWTO is Clam AV. |
344 | used in this HOWTO is ClamAV. |
| 363 | </p> |
345 | </p> |
| 364 | |
346 | |
| 365 | <pre caption="Emerge clam-av"> |
347 | <pre caption="Emerge Clamav"> |
| 366 | # <i>emerge app-antivirus/clamav</i> |
348 | # <i>emerge app-antivirus/clamav</i> |
| 367 | </pre> |
349 | </pre> |
| 368 | |
350 | |
| 369 | </body> |
351 | </body> |
| 370 | </section> |
352 | </section> |
| … | |
… | |
| 377 | </pre> |
359 | </pre> |
| 378 | |
360 | |
| 379 | </body> |
361 | </body> |
| 380 | </section> |
362 | </section> |
| 381 | <section> |
363 | <section> |
| 382 | <title>Emerging net-print/hpijs</title> |
364 | <title>Emerging net-print/hplip</title> |
| 383 | <body> |
365 | <body> |
| 384 | |
366 | |
| 385 | <p> |
367 | <p> |
| 386 | You only need to emerge this if you use an HP printer. |
368 | You only need to emerge this if you use an HP printer. |
| 387 | </p> |
369 | </p> |
| 388 | |
370 | |
| 389 | <pre caption="Emerge hpijs"> |
371 | <pre caption="Emerge hplip"> |
| 390 | # <i>emerge net-print/hpijs</i> |
372 | # <i>emerge net-print/hplip</i> |
| 391 | </pre> |
373 | </pre> |
| 392 | |
374 | |
| 393 | </body> |
375 | </body> |
| 394 | </section> |
376 | </section> |
| 395 | </chapter> |
377 | </chapter> |
| … | |
… | |
| 413 | <pre caption="A Sample /etc/samba/smb.conf"> |
395 | <pre caption="A Sample /etc/samba/smb.conf"> |
| 414 | [global] |
396 | [global] |
| 415 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
397 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
| 416 | workgroup = <comment>MYWORKGROUPNAME</comment> |
398 | workgroup = <comment>MYWORKGROUPNAME</comment> |
| 417 | <comment># Of course this has no REAL purpose other than letting |
399 | <comment># Of course this has no REAL purpose other than letting |
| 418 | # everyone know its not Windows! |
400 | # everyone knows it's not Windows! |
| 419 | # %v prints the version of Samba we are using.</comment> |
401 | # %v prints the version of Samba we are using.</comment> |
| 420 | server string = Samba Server %v |
402 | server string = Samba Server %v |
| 421 | <comment># We are going to use cups, so we are going to put it in here ;-)</comment> |
403 | <comment># We are going to use cups, so we are going to put it in here ;-)</comment> |
| 422 | printcap name = cups |
404 | printcap name = cups |
| 423 | printing = cups |
405 | printing = cups |
| … | |
… | |
| 445 | guest ok = yes |
427 | guest ok = yes |
| 446 | <comment># We now will implement the on access virus scanner. |
428 | <comment># We now will implement the on access virus scanner. |
| 447 | # NOTE: By putting this in our [Global] section, we enable |
429 | # NOTE: By putting this in our [Global] section, we enable |
| 448 | # scanning of ALL shares, you could optionally move |
430 | # scanning of ALL shares, you could optionally move |
| 449 | # these to a specific share and only scan it.</comment> |
431 | # these to a specific share and only scan it.</comment> |
| 450 | vfs object = /usr/lib/samba/vfs/vscan-clamav.so |
432 | |
|
|
433 | <comment># For Samba 3.x. This enables ClamAV on access scanning.</comment> |
|
|
434 | vfs object = vscan-clamav |
| 451 | vfs options = config-file = /etc/samba/vscan-clamav.conf |
435 | vscan-clamav: config-file = /etc/samba/vscan-clamav.conf |
| 452 | |
436 | |
| 453 | <comment># Now we setup our print drivers information!</comment> |
437 | <comment># Now we setup our print drivers information!</comment> |
| 454 | [print$] |
438 | [print$] |
| 455 | comment = Printer Drivers |
439 | comment = Printer Drivers |
| 456 | path = /etc/samba/printer <comment># this path holds the driver structure</comment> |
440 | path = /etc/samba/printer <comment># this path holds the driver structure</comment> |
| 457 | guest ok = no |
441 | guest ok = yes |
| 458 | browseable = yes |
442 | browseable = yes |
| 459 | read only = yes |
443 | read only = yes |
| 460 | <comment># Modify this to "username,root" if you don't want root to |
444 | <comment># Modify this to "username,root" if you don't want root to |
| 461 | # be the only printer admin)</comment> |
445 | # be the only printer admin)</comment> |
| 462 | write list = <i>root</i> |
446 | write list = <i>root</i> |
| … | |
… | |
| 475 | |
459 | |
| 476 | <comment># Now we setup our printers share. This should be |
460 | <comment># Now we setup our printers share. This should be |
| 477 | # browseable, printable, public.</comment> |
461 | # browseable, printable, public.</comment> |
| 478 | [printers] |
462 | [printers] |
| 479 | comment = All Printers |
463 | comment = All Printers |
| 480 | browseable = yes |
464 | browseable = no |
| 481 | printable = yes |
465 | printable = yes |
|
|
466 | writable = no |
| 482 | public = yes |
467 | public = yes |
| 483 | guest ok = yes |
468 | guest ok = yes |
| 484 | path = /var/spool/samba |
469 | path = /var/spool/samba |
| 485 | <comment># Modify this to "username,root" if you don't want root to |
470 | <comment># Modify this to "username,root" if you don't want root to |
| 486 | # be the only printer admin)</comment> |
471 | # be the only printer admin)</comment> |
| … | |
… | |
| 508 | printer user, like <c>printeruser</c> or <c>printer</c> or |
493 | printer user, like <c>printeruser</c> or <c>printer</c> or |
| 509 | <c>printme</c> or whatever. It doesn't hurt and it will certainly |
494 | <c>printme</c> or whatever. It doesn't hurt and it will certainly |
| 510 | protect you from a lot of problems. |
495 | protect you from a lot of problems. |
| 511 | </warn> |
496 | </warn> |
| 512 | |
497 | |
|
|
498 | <warn> |
|
|
499 | Turning on ClamAV on access scanning in the <c>[global]</c> section will slow |
|
|
500 | down the performance of your Samba server dramatically. |
|
|
501 | </warn> |
|
|
502 | |
| 513 | <p> |
503 | <p> |
| 514 | Now create the directories required for the minimum configuration of |
504 | Now create the directories required for the minimum configuration of |
| 515 | Samba to share the installed printer throughout the network. |
505 | Samba to share the installed printer throughout the network. |
| 516 | </p> |
506 | </p> |
| 517 | |
507 | |
| … | |
… | |
| 537 | <p> |
527 | <p> |
| 538 | The Samba passwords need not be the same as the system passwords |
528 | The Samba passwords need not be the same as the system passwords |
| 539 | in <path>/etc/passwd</path>. |
529 | in <path>/etc/passwd</path>. |
| 540 | </p> |
530 | </p> |
| 541 | |
531 | |
|
|
532 | <p> |
|
|
533 | You will also need to update <path>/etc/nsswitch.conf</path> so that Windows |
|
|
534 | systems can be found easily using NetBIOS: |
|
|
535 | </p> |
|
|
536 | |
|
|
537 | <pre caption="Editing /etc/nsswitch.conf"> |
|
|
538 | # <i>nano -w /etc/nsswitch.conf</i> |
|
|
539 | <comment>(Edit the hosts: line)</comment> |
|
|
540 | hosts: files dns <i>wins</i> |
|
|
541 | </pre> |
|
|
542 | |
| 542 | </body> |
543 | </body> |
| 543 | </section> |
|
|
| 544 | <section> |
544 | </section> |
|
|
545 | <section> |
| 545 | <title>Configuring Clam AV</title> |
546 | <title>Configuring ClamAV</title> |
| 546 | <body> |
547 | <body> |
| 547 | |
548 | |
| 548 | <p> |
549 | <p> |
| 549 | The configuration file specified to be used in <path>smb.conf</path> is |
550 | The configuration file specified to be used in <path>smb.conf</path> is |
| 550 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set |
551 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set |
| … | |
… | |
| 606 | <comment>; an entry is invalidated after lru file entry lifetime (in seconds). |
607 | <comment>; an entry is invalidated after lru file entry lifetime (in seconds). |
| 607 | ; (Default: 5)</comment> |
608 | ; (Default: 5)</comment> |
| 608 | lru file entry lifetime = 5 |
609 | lru file entry lifetime = 5 |
| 609 | |
610 | |
| 610 | <comment>; socket name of clamd (default: /var/run/clamd)</comment> |
611 | <comment>; socket name of clamd (default: /var/run/clamd)</comment> |
| 611 | clamd socket name = /var/run/clamd |
612 | clamd socket name = /tmp/clamd |
|
|
613 | |
|
|
614 | <comment>; port number the ScannerDaemon listens on</comment> |
|
|
615 | oav port = 8127 |
| 612 | </pre> |
616 | </pre> |
| 613 | |
617 | |
| 614 | <p> |
618 | <p> |
| 615 | It is generally a good idea to start the virus scanner immediately. Add |
619 | It is generally a good idea to start the virus scanner immediately. Add |
| 616 | it to the <e>default</e> runlevel and then start the <c>clamd</c> service immediately. |
620 | it to the <e>default</e> runlevel and then start the <c>clamd</c> service |
|
|
621 | immediately. The service has two processes: freshclam keeps the virus definition |
|
|
622 | database up to date while clamd is the actual anti-virus daemon. First you may |
|
|
623 | want to set the paths of the logfiles so that it fits your needs. |
|
|
624 | </p> |
|
|
625 | |
|
|
626 | <pre caption="Checking the location of the logfiles"> |
|
|
627 | # <i>vim /etc/clamd.conf</i> |
|
|
628 | <comment>(Check the line "LogFile /var/log/clamd.log")</comment> |
|
|
629 | # <i>vim /etc/freshclam.conf</i> |
|
|
630 | <comment>(Check the line "UpdateLogFile /var/log/freshclam.log")</comment> |
|
|
631 | # <i>vim /etc/conf.d/clamd</i> |
|
|
632 | <comment>(Set "START_CLAMD=yes" and "START_FRESHCLAM=yes")</comment> |
|
|
633 | </pre> |
|
|
634 | |
|
|
635 | <p> |
|
|
636 | Now fire up the virus scanner. |
| 617 | </p> |
637 | </p> |
| 618 | |
638 | |
| 619 | <pre caption="Add clamd to bootup and start it"> |
639 | <pre caption="Add clamd to bootup and start it"> |
| 620 | # <i>rc-update add clamd default</i> |
640 | # <i>rc-update add clamd default</i> |
| 621 | # <i>/etc/init.d/clamd start</i> |
641 | # <i>/etc/init.d/clamd start</i> |
| … | |
… | |
| 634 | in the example are the directives that need to be changed: |
654 | in the example are the directives that need to be changed: |
| 635 | </p> |
655 | </p> |
| 636 | |
656 | |
| 637 | <pre caption="/etc/cups/cupsd.conf"> |
657 | <pre caption="/etc/cups/cupsd.conf"> |
| 638 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
658 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
| 639 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, eg you</comment> |
659 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, e.g. you</comment> |
| 640 | |
660 | |
| 641 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
661 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
| 642 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
662 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
| 643 | |
663 | |
| 644 | LogLevel debug <comment># only while isntalling and testing, should later be |
664 | LogLevel debug <comment># only while isntalling and testing, should later be |
| 645 | # changed to 'info'</comment> |
665 | # changed to 'info'</comment> |
| 646 | |
666 | |
| 647 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
667 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
| 648 | # there seemed to be a bug in CUPS' controlling of the web interface, |
668 | # there seemed to be a bug in CUPS' controlling of the web interface, |
| 649 | # making CUPS think a denial of service attack was in progress when |
669 | # making CUPS think a denial of service attack was in progress when |
| 650 | # I tried to configure a printer with the web interface. weird.</comment> |
670 | # I tried to configure a printer with the web interface. weird.</comment> |
| … | |
… | |
| 653 | |
673 | |
| 654 | <Location /> |
674 | <Location /> |
| 655 | Order Deny,Allow |
675 | Order Deny,Allow |
| 656 | Deny From All |
676 | Deny From All |
| 657 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
677 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
| 658 | # eg 192.168.1.* will allow connections from any host on |
678 | # e.g. 192.168.1.* will allow connections from any host on |
| 659 | # the 192.168.1.0 network. change to whatever suits you</comment> |
679 | # the 192.168.1.0 network. change to whatever suits you</comment> |
| 660 | </Location> |
680 | </Location> |
| 661 | |
681 | |
| 662 | <Location /admin> |
682 | <Location /admin> |
| 663 | AuthType Basic |
683 | AuthType Basic |
| … | |
… | |
| 680 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
700 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
| 681 | application/octet-stream application/vnd.cups-raw 0 |
701 | application/octet-stream application/vnd.cups-raw 0 |
| 682 | </pre> |
702 | </pre> |
| 683 | |
703 | |
| 684 | <p> |
704 | <p> |
| 685 | Edit <path>/etc/cups/mime.convs</path> to uncomment some lines. |
705 | Edit <path>/etc/cups/mime.types</path> to uncomment some lines. |
| 686 | </p> |
706 | </p> |
| 687 | |
707 | |
| 688 | <pre caption="/etc/cups/mime.types"> |
708 | <pre caption="/etc/cups/mime.types"> |
| 689 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
709 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
| 690 | application/octet-stream |
710 | application/octet-stream |
| … | |
… | |
| 695 | </p> |
715 | </p> |
| 696 | |
716 | |
| 697 | <pre caption="Setting up the CUPS service" > |
717 | <pre caption="Setting up the CUPS service" > |
| 698 | <comment>(To start CUPS on boot)</comment> |
718 | <comment>(To start CUPS on boot)</comment> |
| 699 | # <i>rc-update add cupsd default</i> |
719 | # <i>rc-update add cupsd default</i> |
| 700 | <comment>(To start CUPS if it isn't started)</comment> |
720 | <comment>(To start or restart CUPS now)</comment> |
| 701 | # <i>/etc/init.d/cupsd start</i> |
|
|
| 702 | <comment>(If CUPS is already started we'll need to restart it!)</comment> |
|
|
| 703 | # <i>/etc/init.d/cupsd restart</i> |
721 | # <i>/etc/init.d/cupsd restart</i> |
| 704 | </pre> |
722 | </pre> |
| 705 | |
723 | |
| 706 | </body> |
724 | </body> |
| 707 | </section> |
725 | </section> |
| … | |
… | |
| 711 | |
729 | |
| 712 | <p> |
730 | <p> |
| 713 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
731 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
| 714 | find and download the correct PPD file for your printer and CUPS. To do so, |
732 | find and download the correct PPD file for your printer and CUPS. To do so, |
| 715 | click the link Printer Listings to the left. Select your printers manufacturer |
733 | click the link Printer Listings to the left. Select your printers manufacturer |
| 716 | and the model in the pulldown menu, eg HP and DeskJet 930C. Click "Show". On |
734 | and the model in the pulldown menu, e.g. HP and DeskJet 930C. Click "Show". On |
| 717 | the page coming up click the "recommended driver" link after reading the |
735 | the page coming up click the "recommended driver" link after reading the |
| 718 | various notes and information. Then fetch the PPD file from the next page, |
736 | various notes and information. Then fetch the PPD file from the next page, |
| 719 | again after reading the notes and introductions there. You may have to select |
737 | again after reading the notes and introductions there. You may have to select |
| 720 | your printers manufacturer and model again. Reading the <uri |
738 | your printers manufacturer and model again. Reading the <uri |
| 721 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> |
739 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> |
| … | |
… | |
| 730 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
748 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
| 731 | </p> |
749 | </p> |
| 732 | |
750 | |
| 733 | <pre caption="Install the printer via command line"> |
751 | <pre caption="Install the printer via command line"> |
| 734 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
752 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
|
|
753 | # <i>/etc/init.d/cupsd restart</i> |
| 735 | </pre> |
754 | </pre> |
| 736 | |
755 | |
| 737 | <p> |
756 | <p> |
| 738 | Remember to adjust to what you have. Be sure to have the name |
757 | Remember to adjust to what you have. Be sure to have the name |
| 739 | (<c>-p</c> argument) right (the name you set above during the Samba |
758 | (<c>-p</c> argument) right (the name you set above during the Samba |
| … | |
… | |
| 761 | drivers automagically to the connecting client, avoiding the hassle of |
780 | drivers automagically to the connecting client, avoiding the hassle of |
| 762 | manually installing printer drivers locally. |
781 | manually installing printer drivers locally. |
| 763 | </p> |
782 | </p> |
| 764 | |
783 | |
| 765 | <p> |
784 | <p> |
| 766 | There are two sets of printer drivers for this. First, the Adobe PS |
785 | There are two sets of printer drivers for this. First, the Adobe PS drivers |
| 767 | drivers which can be obtained from <uri |
786 | which can be obtained from <uri |
| 768 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> |
787 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> (PostScript |
| 769 | (PostScript printer drivers). Second, there are the CUPS PS drivers, |
788 | printer drivers). Second, there are the CUPS PS drivers, to be obtained <uri |
| 770 | to be obtained from <uri link="http://www.cups.org/software.php">the |
789 | link="http://dev.gentoo.org/~nightmorph/misc/cups-samba-5.0rc2.tar.gz">here</uri>. |
| 771 | CUPS homepage</uri> and selecting "CUPS Driver for Windows" from the |
790 | There doesn't seem to be a difference between the functionality of the two, but |
| 772 | pull down menu. There doesn't seem to be a difference between the |
791 | the Adobe PS drivers need to be extracted on a Windows System since it's a |
| 773 | functionality of the two, but the Adobe PS drivers need to be extracted |
792 | Windows binary. Also the whole procedure of finding and copying the correct |
| 774 | on a Windows System since it's a Windows binary. Also the whole procedure |
793 | files is a bit more hassle. The CUPS drivers seem to support some options the |
| 775 | of finding and copying the correct files is a bit more hassle. The CUPS |
794 | Adobe drivers don't. |
| 776 | drivers seem to support some options the Adobe drivers don't. |
|
|
| 777 | </p> |
795 | </p> |
|
|
796 | <!-- |
|
|
797 | used to be available at www.cups.org/articles.php?L142+p4, but only 6.0 is |
|
|
798 | available. at some point, we should update this for 6.0. |
|
|
799 | --> |
| 778 | |
800 | |
| 779 | <p> |
801 | <p> |
| 780 | This HOWTO uses the CUPS drivers for Windows. The downloaded file is |
802 | This HOWTO uses the CUPS drivers for Windows. The downloaded file is |
| 781 | called <path>cups-samba-5.0rc2.tar.gz</path>. Extract the files |
803 | called <path>cups-samba-5.0rc2.tar.gz</path>. Extract the files |
| 782 | contained into a directory. |
804 | contained into a directory. |
| … | |
… | |
| 794 | <path>cups5.hlp</path>, <path>cupsdrvr5.dll</path> and |
816 | <path>cups5.hlp</path>, <path>cupsdrvr5.dll</path> and |
| 795 | <path>cupsui5.dll</path>. These are the actual driver files. |
817 | <path>cupsui5.dll</path>. These are the actual driver files. |
| 796 | </p> |
818 | </p> |
| 797 | |
819 | |
| 798 | <warn> |
820 | <warn> |
| 799 | The script <c>cups-samba.install</c> may not work for all *nixes (ie FreeBSD) |
821 | The script <c>cups-samba.install</c> may not work for all *nixes (i.e. FreeBSD) |
| 800 | because almost everything which is not part of the base system is |
822 | because almost everything which is not part of the base system is |
| 801 | installed somewhere under the prefix <path>/usr/local/</path>. This |
823 | installed somewhere under the prefix <path>/usr/local/</path>. This |
| 802 | seems not to be the case for most things you install under GNU/Linux. |
824 | seems not to be the case for most things you install under GNU/Linux. |
| 803 | However, if your CUPS installation is somewhere other than |
825 | However, if your CUPS installation is somewhere other than |
| 804 | <path>/usr/share/cups/</path> see the example below. |
826 | <path>/usr/share/cups/</path> see the example below. |
| … | |
… | |
| 815 | # <i>tar -xf cups-samba.ss</i> |
837 | # <i>tar -xf cups-samba.ss</i> |
| 816 | <comment>(This extracts the files to usr/share/cups/drivers under the CURRENT WORKING DIRECTORY)</comment> |
838 | <comment>(This extracts the files to usr/share/cups/drivers under the CURRENT WORKING DIRECTORY)</comment> |
| 817 | # <i>cd usr/share/cups/drivers</i> |
839 | # <i>cd usr/share/cups/drivers</i> |
| 818 | <comment>(no leading / !)</comment> |
840 | <comment>(no leading / !)</comment> |
| 819 | # <i>cp cups* /usr/local/share/cups/drivers</i> |
841 | # <i>cp cups* /usr/local/share/cups/drivers</i> |
|
|
842 | # <i>/etc/init.d/cupsd restart</i> |
| 820 | </pre> |
843 | </pre> |
| 821 | |
844 | |
| 822 | <p> |
845 | <p> |
| 823 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS |
846 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS distribution. |
| 824 | distribution. It's man page is an interesting read. |
847 | Its man page is an interesting read. |
| 825 | </p> |
848 | </p> |
| 826 | |
849 | |
| 827 | <pre caption="Run cupsaddsmb"> |
850 | <pre caption="Run cupsaddsmb"> |
| 828 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
851 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
| 829 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
852 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
| 830 | "export all known printers".)</comment> |
853 | "export all known printers".)</comment> |
| 831 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -a</i> |
854 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -a</i> |
| 832 | </pre> |
855 | </pre> |
| 833 | |
856 | |
| 834 | <warn> |
857 | <warn> |
| 835 | The execution of this command often causes the most trouble. |
858 | The execution of this command often causes the most trouble. Read through the |
| 836 | Reading through the <uri |
|
|
| 837 | link="http://forums.gentoo.org/viewtopic.php?t=110931">posts in this |
859 | <uri link="http://forums.gentoo.org/viewtopic.php?t=110931">posts in this |
| 838 | thread</uri>. |
860 | thread</uri> for some troubleshooting tips. |
| 839 | </warn> |
861 | </warn> |
| 840 | |
862 | |
| 841 | <p> |
863 | <p> |
| 842 | Here are common errors that may happen: |
864 | Here are common errors that may happen: |
| 843 | </p> |
865 | </p> |
| … | |
… | |
| 960 | <section> |
982 | <section> |
| 961 | <title>Printer configuration of *nix based clients</title> |
983 | <title>Printer configuration of *nix based clients</title> |
| 962 | <body> |
984 | <body> |
| 963 | |
985 | |
| 964 | <p> |
986 | <p> |
| 965 | Despite the variation or distribution, the only thing needed is CUPS. |
987 | Despite the variation or distribution, the only thing needed is CUPS. Do the |
| 966 | Do the equivalent on any other UNIX/Linux/BSD client. |
988 | equivalent on any other UNIX/Linux/BSD client. |
| 967 | </p> |
989 | </p> |
| 968 | |
990 | |
| 969 | <pre caption="Configuring a Gentoo system"> |
991 | <pre caption="Configuring a Gentoo system"> |
| 970 | # <i>emerge cups</i> |
992 | # <i>emerge cups</i> |
| 971 | # <i>/etc/init.d/cupsd start</i> |
993 | # <i>nano -w /etc/cups/client.conf</i> |
| 972 | # <i>rc-update add cupsd default</i> |
994 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
| 973 | </pre> |
995 | </pre> |
| 974 | |
996 | |
| 975 | <p> |
|
|
| 976 | That should be it. Nothing else will be needed. Just point your web |
|
|
| 977 | browser to <c>http://localhost:631</c> on the client and you'll see that |
|
|
| 978 | PrintServer broadcasts all available printers to all CUPS clients. |
|
|
| 979 | </p> |
997 | <p> |
| 980 | |
998 | That should be it. Nothing else will be needed. |
| 981 | <p> |
999 | </p> |
| 982 | To print, use for example |
1000 | |
| 983 | </p> |
1001 | <p> |
|
|
1002 | If you use only one printer, it will be your default printer. If your print |
|
|
1003 | server manages several printers, your administrator will have defined a default |
|
|
1004 | printer on the server. If you want to define a different default printer for |
|
|
1005 | yourself, use the <c>lpoptions</c> command. |
|
|
1006 | </p> |
|
|
1007 | |
|
|
1008 | <pre caption="Setting your default printer"> |
|
|
1009 | <comment>(List available printers)</comment> |
|
|
1010 | # <i>lpstat -a</i> |
|
|
1011 | <comment>(Sample output, yours will differ)</comment> |
|
|
1012 | HPDeskJet930C accepting requests since Jan 01 00:00 |
|
|
1013 | laser accepting requests since Jan 01 00:00 |
|
|
1014 | <comment>(Define HPDeskJet930C as your default printer)</comment> |
|
|
1015 | # <i>lpoptions -d HPDeskJet930C</i> |
|
|
1016 | </pre> |
| 984 | |
1017 | |
| 985 | <pre caption="Printing in *nix"> |
1018 | <pre caption="Printing in *nix"> |
|
|
1019 | <comment>(Specify the printer to be used)</comment> |
| 986 | # <i>lpr -pHPDeskJet930C anything.txt</i> |
1020 | # <i>lp -d HPDeskJet930C anything.txt</i> |
| 987 | # <i>lpr -PHPDeskJet930C foobar.whatever.ps</i> |
1021 | <comment>(Use your default printer)</comment> |
| 988 | </pre> |
|
|
| 989 | |
|
|
| 990 | <p> |
|
|
| 991 | In order to setup a default printer, you have to edit |
|
|
| 992 | <path>/etc/cups/client.conf</path> and set the directive |
|
|
| 993 | <c>ServerName</c> to your printserver. In the case of this guide that |
|
|
| 994 | would be the following example. |
|
|
| 995 | </p> |
|
|
| 996 | |
|
|
| 997 | <pre caption="/etc/cups/client.conf"> |
|
|
| 998 | ServerName PrintServer |
|
|
| 999 | </pre> |
|
|
| 1000 | |
|
|
| 1001 | <p> |
|
|
| 1002 | The following will print <path>foorbar.whatever.ps</path> directly to the print |
|
|
| 1003 | server. |
|
|
| 1004 | </p> |
|
|
| 1005 | |
|
|
| 1006 | <pre caption="Printing to the default printer"> |
|
|
| 1007 | $ <i>lpr foobar.whatever.ps</i> |
1022 | # <i>lp foobar.whatever.ps</i> |
| 1008 | </pre> |
1023 | </pre> |
| 1009 | |
1024 | |
| 1010 | <p> |
|
|
| 1011 | Some common observations when setting a default printer in this manner |
|
|
| 1012 | include the following: |
|
|
| 1013 | </p> |
1025 | <p> |
| 1014 | |
1026 | Just point your web browser to <c>http://printserver:631</c> on the client if |
| 1015 | <ul> |
1027 | you want to manage your printers and their jobs with a nice web interface. |
| 1016 | <li> |
1028 | Replace <c>printserver</c> with the name of the <e>machine</e> that acts as |
| 1017 | Setting the <c>ServerName</c> in <path>client.conf</path> seems to |
1029 | your print server, not the name you gave to the cups print server if you used |
| 1018 | work well for only one printer, there may be yet another way to |
1030 | different names. |
| 1019 | set a client's default remote printer. |
1031 | </p> |
| 1020 | </li> |
|
|
| 1021 | <li> |
|
|
| 1022 | Also, when accessing <c>http://localhost:631</c> on the client |
|
|
| 1023 | now, no printers seem to be "found" by the client-CUPS. This is to |
|
|
| 1024 | be expected when setting <c>ServerName</c> in |
|
|
| 1025 | <path>client.conf</path>. |
|
|
| 1026 | </li> |
|
|
| 1027 | </ul> |
|
|
| 1028 | |
1032 | |
| 1029 | </body> |
1033 | </body> |
| 1030 | </section> |
1034 | </section> |
| 1031 | <section> |
1035 | <section> |
| 1032 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
1036 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
| … | |
… | |
| 1119 | troubleshooting your installation: |
1123 | troubleshooting your installation: |
| 1120 | </p> |
1124 | </p> |
| 1121 | |
1125 | |
| 1122 | <ul> |
1126 | <ul> |
| 1123 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
1127 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
|
|
1128 | <li> |
| 1124 | <li><uri link="http://www.samba.org/">Samba Homepage</uri></li> |
1129 | <uri link="http://www.samba.org/">Samba Homepage</uri>, especially the <uri |
|
|
1130 | link="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html">chapter |
|
|
1131 | on Samba/CUPS configuration</uri> |
|
|
1132 | </li> |
| 1125 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
1133 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
| 1126 | <li> |
1134 | <li> |
| 1127 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
1135 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
| 1128 | Pfeifle's Samba Print HOWTO</uri> ( |
1136 | Pfeifle's Samba Print HOWTO</uri> ( |
| 1129 | This HOWTO really covers <e>ANYTHING</e> and <e>EVERYTHING</e> |
1137 | This HOWTO really covers <e>ANYTHING</e> and <e>EVERYTHING</e> |