]> git.ipfire.org Git - thirdparty/cups.git/blob - doc/help/ref-cupsd-conf.html
Load cups into easysw/current.
[thirdparty/cups.git] / doc / help / ref-cupsd-conf.html
1 <HTML>
2 <!-- SECTION: References -->
3 <HEAD>
4 <TITLE>cupsd.conf</TITLE>
5 </HEAD>
6 <BODY>
7
8 <!-- MISSING:
9
10 BrowseLDAPBindDN
11 BrowseLDAPDN
12 BrowseLDAPPassword
13 BrowseLDAPServer
14 BrowseLocalProtocols
15 BrowseRemoteProtocols
16 DefaultAuthType
17 DefaultPolicy
18 FilterNice
19 JobRetryInterval
20 JobRetryLimit
21 PassEnv
22 Policy
23 ServerTokens
24 SetEnv
25
26 -->
27
28 <P>The <VAR>/etc/cups/cupsd.conf</VAR> file contains
29 configuration <I>directives</I> that control how the server
30 functions. Each directive is listed on a line by itself followed
31 by its value. Comments are introduced using the number sign ("#")
32 character at the beginning of a line.</P>
33
34 <P>Since the server configuration file consists of plain text,
35 you can use your favorite text editor to make changes to it.
36 After making any changes, restart the <CODE>cupsd(8)</CODE>
37 process using the startup script for your operating system:</P>
38
39 <UL>
40
41 <LI>AIX:
42 <PRE CLASS="command">
43 /etc/init.d/cups restart
44 </PRE></LI>
45
46 <LI>HP-UX:
47 <PRE CLASS="command">
48 /sbin/init.d/cups restart
49 </PRE></LI>
50
51 <LI>IRIX:
52 <PRE CLASS="command">
53 /etc/init.d/cups restart
54 </PRE></LI>
55
56 <LI>Linux:
57 <PRE CLASS="command">
58 /etc/init.d/cups restart
59 </PRE></LI>
60
61 <LI>MacOS X:
62 <PRE CLASS="command">
63 /System/Library/StartupItems/PrintingServices/PrintingServices restart
64 </PRE></LI>
65
66 <LI>Solaris:
67 <PRE CLASS="command">
68 /etc/init.d/cups restart
69 </PRE></LI>
70
71 </UL>
72
73 <P>You can also edit this file from the CUPS web interface, which
74 automatically handles restarting the scheduler.</P>
75
76
77 <H3 CLASS="title"><A NAME="AccessLog">AccessLog</A></H3>
78
79 <H4>Examples</H4>
80
81 <PRE CLASS="command">
82 AccessLog /var/log/cups/access_log
83 AccessLog /var/log/cups/access_log-%s
84 AccessLog syslog
85 </PRE>
86
87 <H4>Description</H4>
88
89 <P>The <CODE>AccessLog</CODE> directive sets the name of the
90 access log file. If the filename is not absolute then it is
91 assumed to be relative to the <A
92 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
93 access log file is stored in "common log format" and can be used
94 by any web access reporting tool to generate a report on CUPS
95 server activity.</P>
96
97 <P>The server name can be included in the filename by using
98 <CODE>%s</CODE> in the name.</P>
99
100 <P>The special name "syslog" can be used to send the access
101 information to the system log instead of a plain file.</P>
102
103 <P>The default access log file is
104 <VAR>/var/log/cups/access_log</VAR>.</P>
105
106
107 <H3 CLASS="title"><A NAME="Allow">Allow</A></H3>
108
109 <H4>Examples</H4>
110
111 <PRE CLASS="command">
112 Allow from All
113 Allow from None
114 Allow from *.domain.com
115 Allow from .domain.com
116 Allow from host.domain.com
117 Allow from nnn.*
118 Allow from nnn.nnn.*
119 Allow from nnn.nnn.nnn.*
120 Allow from nnn.nnn.nnn.nnn
121 Allow from nnn.nnn.nnn.nnn/mm
122 Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
123 Allow from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
124 Allow from @LOCAL
125 Allow from @IF(name)
126 </PRE>
127
128 <H4>Description</H4>
129
130 <P>The <CODE>Allow</CODE> directive specifies a hostname, IP address,
131 or network that is allowed access to the server. <CODE>Allow</CODE>
132 directives are cummulative, so multiple <CODE>Allow</CODE> directives
133 can be used to allow access for multiple hosts or networks. The
134 <CODE>/mm</CODE> notation specifies a CIDR netmask:</P>
135
136 <DIV CLASS="table"><TABLE>
137 <TR>
138 <TH WIDTH="10%">mm</TH>
139 <TH WIDTH="20%">netmask</TH>
140 <TH WIDTH="10%">mm</TH>
141 <TH WIDTH="20%">netmask</TH>
142 </TR>
143 <TR>
144 <TD ALIGN="CENTER">0</TD>
145 <TD ALIGN="CENTER">0.0.0.0</TD>
146 <TD ALIGN="CENTER">8</TD>
147 <TD ALIGN="CENTER">255.0.0.0</TD>
148 </TR>
149 <TR>
150 <TD ALIGN="CENTER">1</TD>
151 <TD ALIGN="CENTER">128.0.0.0</TD>
152 <TD ALIGN="CENTER">16</TD>
153 <TD ALIGN="CENTER">255.255.0.0</TD>
154 </TR>
155 <TR>
156 <TD ALIGN="CENTER">2</TD>
157 <TD ALIGN="CENTER">192.0.0.0</TD>
158 <TD ALIGN="CENTER">24</TD>
159 <TD ALIGN="CENTER">255.255.255.0</TD>
160 </TR>
161 <TR>
162 <TD ALIGN="CENTER">...</TD>
163 <TD ALIGN="CENTER">...</TD>
164 <TD ALIGN="CENTER">32</TD>
165 <TD ALIGN="CENTER">255.255.255.255</TD>
166 </TR>
167 </TABLE></DIV>
168
169 <P>The <CODE>@LOCAL</CODE> name will allow access from all local
170 interfaces. The <CODE>@IF(name)</CODE> name will allow access
171 from the named interface.</P>
172
173 <P>The <CODE>Allow</CODE> directive must appear inside a <A
174 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
175
176
177 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H3>
178
179 <H4>Examples</H4>
180
181 <PRE CLASS="command">
182 AuthClass Anonymous
183 AuthClass User
184 AuthClass System
185 AuthClass Group
186 </PRE>
187
188 <H4>Description</H4>
189
190 <P>The <CODE>AuthClass</CODE> directive defines what level of
191 authentication is required:</P>
192
193 <UL>
194
195 <LI><CODE>Anonymous</CODE> - No authentication should be
196 performed (default)</LI>
197
198 <LI><CODE>User</CODE> - A valid username and password is
199 required</LI>
200
201 <LI><CODE>System</CODE> - A valid username and password
202 is required, and the username must belong to the "sys"
203 group; this can be changed using the <A
204 HREF="#SystemGroup"><CODE>SystemGroup</CODE></A>
205 directive</LI>
206
207 <LI><CODE>Group</CODE> - A valid username and password is
208 required, and the username must belong to the group named
209 by the <A
210 HREF="#AuthGroupName"><CODE>AuthGroupName</CODE></A>
211 directive</LI>
212
213 </UL>
214
215 <P>The <CODE>AuthClass</CODE> directive must appear inside a <A
216 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
217
218 <P><B>This directive is deprecated and will be removed from a
219 future release of CUPS.</B> Consider using the more flexible <A
220 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
221
222
223 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H3>
224
225 <H4>Examples</H4>
226
227 <PRE CLASS="command">
228 AuthGroupName mygroup
229 AuthGroupName lp
230 </PRE>
231
232 <H4>Description</H4>
233
234 <P>The <CODE>AuthGroupName</CODE> directive sets the group to use
235 for <CODE>Group</CODE> authentication.</P>
236
237 <P>The <CODE>AuthGroupName</CODE> directive must appear inside a
238 <A HREF="#Location"><CODE>Location</CODE></A> directive.</P>
239
240 <P><B>This directive is deprecated and will be removed from a
241 future release of CUPS.</B> Consider using the more flexible <A
242 HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
243
244
245 <H3 CLASS="title"><A NAME="AuthType">AuthType</A></H3>
246
247 <H4>Examples</H4>
248
249 <PRE CLASS="command">
250 AuthType None
251 AuthType Basic
252 AuthType Digest
253 AuthType BasicDigest
254 </PRE>
255
256 <H4>Description</H4>
257
258 <P>The <CODE>AuthType</CODE> directive defines the type of
259 authentication to perform:</P>
260
261 <UL>
262
263 <LI><CODE>None</CODE> - No authentication should be
264 performed (default)</LI>
265
266 <LI><CODE>Basic</CODE> - Basic authentication should be
267 performed using the UNIX password and group files</LI>
268
269 <LI><CODE>Digest</CODE> - Digest authentication should be
270 performed using the <VAR>/etc/cups/passwd.md5</VAR>
271 file</LI>
272
273 <LI><CODE>BasicDigest</CODE> - Basic authentication
274 should be performed using the
275 <VAR>/etc/cups/passwd.md5</VAR> file</LI>
276
277 </UL>
278
279 <P>When using <CODE>Basic</CODE>, <CODE>Digest</CODE>, or
280 <CODE>BasicDigest</CODE> authentication, clients connecting
281 through the <CODE>localhost</CODE> interface can also
282 authenticate using certificates.</P>
283
284 <P>The <CODE>AuthType</CODE> directive must appear inside a <A
285 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
286
287
288 <H3 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H3>
289
290 <H4>Examples</H4>
291
292 <PRE CLASS="command">
293 AutoPurgeJobs Yes
294 AutoPurgeJobs No
295 </PRE>
296
297 <H4>Description</H4>
298
299 <P>The <CODE>AutoPurgeJobs</CODE> directive specifies whether or
300 not to purge completed jobs once they are no longer required for
301 quotas. This option has no effect if quotas are not enabled. The
302 default setting is <CODE>No</CODE>.</P>
303
304
305 <H3 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H3>
306
307 <H4>Examples</H4>
308
309 <PRE CLASS="command">
310 BrowseAddress 255.255.255.255:631
311 BrowseAddress 192.0.2.255:631
312 BrowseAddress host.domain.com:631
313 BrowseAddress @LOCAL
314 BrowseAddress @IF(name)
315 </PRE>
316
317 <H4>Description</H4>
318
319 <P>The <CODE>BrowseAddress</CODE> directive specifies an address
320 to send browsing information to. Multiple
321 <CODE>BrowseAddress</CODE> directives can be specified to send
322 browsing information to different networks or systems.</P>
323
324 <P>The <CODE>@LOCAL</CODE> name will broadcast printer
325 information to all local interfaces. The <CODE>@IF(name)</CODE>
326 name will broadcast to the named interface.</P>
327
328 <P>There is no default browse address.</P>
329
330 <BLOCKQUOTE><B>Note:</B>
331
332 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
333 16, or 8 bits, printer browsing (and in fact all broadcast
334 reception) will not work. This problem appears to be fixed in
335 HP-UX 11.0.</P>
336
337 </BLOCKQUOTE>
338
339
340 <H3 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H3>
341
342 <H4>Examples</H4>
343
344 <PRE CLASS="command">
345 BrowseAllow from all
346 BrowseAllow from none
347 BrowseAllow from 192.0.2
348 BrowseAllow from 192.0.2.0/24
349 BrowseAllow from 192.0.2.0/255.255.255.0
350 BrowseAllow from *.domain.com
351 BrowseAllow from @LOCAL
352 BrowseAllow from @IF(name)
353 </PRE>
354
355 <H4>Description</H4>
356
357 <P>The <CODE>BrowseAllow</CODE> directive specifies a system or
358 network to accept browse packets from. The default is to accept
359 browse packets from all hosts.</P>
360
361 <P>Host and domain name matching require that you enable the <A
362 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
363 directive.</P>
364
365 <P>IP address matching supports exact matches, partial addresses
366 that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
367 255.255.255.0, or network addresses using the specified netmask
368 or bit count.</P>
369
370 <P>The <CODE>@LOCAL</CODE> name will allow browse data from all
371 local interfaces. The <CODE>@IF(name)</CODE> name will allow
372 browse data from the named interface.</P>
373
374
375 <H3 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H3>
376
377 <H4>Examples</H4>
378
379 <PRE CLASS="command">
380 BrowseDeny from all
381 BrowseDeny from none
382 BrowseDeny from 192.0.2
383 BrowseDeny from 192.0.2.0/24
384 BrowseDeny from 192.0.2.0/255.255.255.0
385 BrowseDeny from *.domain.com
386 BrowseDeny from @LOCAL
387 BrowseDeny from @IF(name)
388 </PRE>
389
390 <H4>Description</H4>
391
392 <P>The <CODE>BrowseDeny</CODE> directive specifies a system or
393 network to reject browse packets from. The default is to not deny
394 browse packets from any hosts.</P>
395
396 <P>Host and domain name matching require that you enable the <A
397 HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
398 directive.</P>
399
400 <P>IP address matching supports exact matches, partial addresses
401 that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
402 255.255.255.0, or network addresses using the specified netmask
403 or bit count.</P>
404
405 <P>The <CODE>@LOCAL</CODE> name will block browse data from all
406 local interfaces. The <CODE>@IF(name)</CODE> name will block
407 browse data from the named interface.</P>
408
409
410 <H3 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H3>
411
412 <H4>Examples</H4>
413
414 <PRE CLASS="command">
415 BrowseOrder allow,deny
416 BrowseOrder deny,allow
417 </PRE>
418
419 <H4>Description</H4>
420
421 <P>The <CODE>BrowseOrder</CODE> directive specifies the order of
422 allow/deny processing. The default order is
423 <CODE>deny,allow</CODE>:</P>
424
425 <UL>
426
427 <LI><CODE>allow,deny</CODE> - Deny browse packets by
428 default, then check <CODE>BrowseAllow</CODE> lines
429 followed by <CODE>BrowseDeny</CODE> lines.</LI>
430
431 <LI><CODE>deny,allow</CODE> - Allow browse packets by
432 default, then check <CODE>BrowseDeny</CODE> lines
433 followed by <CODE>BrowseAllow</CODE> lines.</LI>
434
435 </UL>
436
437
438 <H3 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H3>
439
440 <H4>Examples</H4>
441
442 <PRE CLASS="command">
443 BrowseInterval 0
444 BrowseInterval 30
445 </PRE>
446
447 <H4>Description</H4>
448
449 <P>The <CODE>BrowseInterval</CODE> directive specifies the
450 maximum amount of time between browsing updates. Specifying a
451 value of 0 seconds disables outgoing browse updates but allows a
452 server to receive printer information from other hosts.</P>
453
454 <P>The <CODE>BrowseInterval</CODE> value should always be less
455 than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
456 value. Otherwise printers and classes will disappear from client
457 systems between updates.</P>
458
459
460 <H3 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H3>
461
462 <H4>Examples</H4>
463
464 <PRE CLASS="command">
465 BrowsePoll 192.0.2.2:631
466 BrowsePoll host.domain.com:631
467 </PRE>
468
469 <H4>Description</H4>
470
471 <P>The <CODE>BrowsePoll</CODE> directive polls a server for
472 available printers once every <A
473 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> seconds.
474 Multiple <CODE>BrowsePoll</CODE> directives can be specified to
475 poll multiple servers.</P>
476
477 <P>If <CODE>BrowseInterval</CODE> is set to 0 then the server is
478 polled once every 30 seconds.</P>
479
480
481 <H3 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H3>
482
483 <H4>Examples</H4>
484
485 <PRE CLASS="command">
486 BrowsePort 631
487 BrowsePort 9999
488 </PRE>
489
490 <H4>Description</H4>
491
492 <P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
493 used for browse packets. The default port number is 631.</P>
494
495 <BLOCKQUOTE><B>Note:</B>
496
497 <P>You must set the <CODE>BrowsePort</CODE> to the same value
498 on all of the systems that you want to see.
499
500 </BLOCKQUOTE>
501
502
503 <H3 CLASS="title"><A NAME="BrowseProtocols">BrowseProtocols</A></H3>
504
505 <H4>Examples</H4>
506
507 <PRE CLASS="command">
508 BrowseProtocols CUPS
509 BrowseProtocols SLP
510 BrowseProtocols CUPS SLP
511 BrowseProtocols all
512 </PRE>
513
514 <H4>Description</H4>
515
516 <P>The <CODE>BrowseProtocols</CODE> directive specifies the
517 protocols to use when collecting and distributing shared printers
518 on the local network. The default protocol is <CODE>CUPS</CODE>,
519 which is a broadcast-based protocol.</P>
520
521 <BLOCKQUOTE><B>Note:</B>
522
523 <P>When using the <CODE>SLP</CODE> protocol, you must have at least
524 one Directory Agent (DA) server on your network. Otherwise the
525 CUPS scheduler (<CODE>cupsd</CODE>) will not respond to client
526 requests for several seconds while polling the network.</P>
527
528 </BLOCKQUOTE>
529
530
531 <H3 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H3>
532
533 <H4>Examples</H4>
534
535 <PRE CLASS="command">
536 BrowseRelay 193.0.2.1 192.0.2.255
537 BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
538 BrowseRelay 193.0.2.0/24 192.0.2.255
539 BrowseRelay *.domain.com 192.0.2.255
540 BrowseRelay host.domain.com 192.0.2.255
541 </PRE>
542
543 <H4>Description</H4>
544
545 <P>The <CODE>BrowseRelay</CODE> directive specifies source and
546 destination addresses for relaying browsing information from one
547 host or network to another. Multiple <CODE>BrowseRelay</CODE>
548 directives can be specified as needed.</P>
549
550 <P><CODE>BrowseRelay</CODE> is typically used on systems that
551 bridge multiple subnets using one or more network interfaces. It
552 can also be used to relay printer information from polled servers
553 with the line:</P>
554
555 <PRE CLASS="command">
556 BrowseRelay 127.0.0.1 @LOCAL
557 </PRE>
558
559 <P>This effectively provides access to printers on a WAN for all
560 clients on the LAN(s).</P>
561
562
563 <H3 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H3>
564
565 <H4>Examples</H4>
566
567 <PRE CLASS="command">
568 BrowseShortNames Yes
569 BrowseShortNames No
570 </PRE>
571
572 <H4>Description</H4>
573
574 <P>The <CODE>BrowseShortNames</CODE> directive specifies whether
575 or not short names are used for remote printers when possible.
576 Short names are just the remote printer name, without the server
577 ("printer"). If more than one remote printer is detected with the
578 same name, the printers will have long names ("printer@server1",
579 "printer@server2".)</P>
580
581 <P>The default value for this option is <CODE>Yes</CODE>.</P>
582
583
584 <H3 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H3>
585
586 <H4>Examples</H4>
587
588 <PRE CLASS="command">
589 BrowseTimeout 300
590 BrowseTimeout 60
591 </PRE>
592
593 <H4>Description</H4>
594
595 <P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
596 printer or class information that is received in browse packets.
597 Once a printer or class times out it is removed from the list of
598 available destinations.</P>
599
600 <P>The <CODE>BrowseTimeout</CODE> value should always be greater
601 than the <A
602 HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> value.
603 Otherwise printers and classes will disappear from client systems
604 between updates.</P>
605
606
607 <H3 CLASS="title"><A NAME="Browsing">Browsing</A></H3>
608
609 <H4>Examples</H4>
610
611 <PRE CLASS="command">
612 Browsing On
613 Browsing Off
614 </PRE>
615
616 <H4>Description</H4>
617
618 <P>The <CODE>Browsing</CODE> directive controls whether or not
619 network printer browsing is enabled. The default setting is
620 <CODE>On</CODE>.</P>
621
622 <P>This directive does not enable sharing of local printers by
623 itself; you must also use the <A
624 HREF="#BrowseAddress"><CODE>BrowseAddress</CODE></A> or <A
625 HREF="#BrowseProtocols"><CODE>BrowseProtocols</CODE></A>
626 directives to advertise local printers to other systems.</P>
627
628 <BLOCKQUOTE><B>Note:</B>
629
630 <P>If you are using HP-UX 10.20 and a subnet that is not 24,
631 16, or 8 bits, printer browsing (and in fact all broadcast
632 reception) will not work. This problem appears to be fixed in
633 HP-UX 11.0.</P>
634
635 </BLOCKQUOTE>
636
637
638 <H3 CLASS="title"><A NAME="Classification">Classification</A></H3>
639
640 <H4>Examples</H4>
641
642 <PRE CLASS="command">
643 Classification
644 Classification classified
645 Classification confidential
646 Classification secret
647 Classification topsecret
648 Classification unclassified
649 </PRE>
650
651 <H4>Description</H4>
652
653 <P>The <CODE>Classification</CODE> directive sets the
654 classification level on the server. When this option is set, at
655 least one of the banner pages is forced to the classification
656 level, and the classification is placed on each page of output.
657 The default is no classification level.</P>
658
659
660 <H3 CLASS="title"><A NAME="ClassifyOverride">ClassifyOverride</A></H3>
661
662 <H4>Examples</H4>
663
664 <PRE CLASS="command">
665 ClassifyOverride Yes
666 ClassifyOverride No
667 </PRE>
668
669 <H4>Description</H4>
670
671 <P>The <CODE>ClassifyOverride</CODE> directive specifies whether
672 users can override the default classification level on the
673 server. When the server classification is set, users can change
674 the classification using the <CODE>job-sheets</CODE> option and
675 can choose to only print one security banner before or after the
676 job. If the <CODE>job-sheets</CODE> option is set to
677 <CODE>none</CODE> then the server default classification is
678 used.</P>
679
680 <P>The default is to not allow classification overrides.</P>
681
682
683 <H3 CLASS="title"><A NAME="ConfigFilePerm">ConfigFilePerm</A></H3>
684
685 <H4>Examples</H4>
686
687 <PRE CLASS="command">
688 ConfigFilePerm 0644
689 ConfigFilePerm 0600
690 </PRE>
691
692 <H4>Description</H4>
693
694 <P>The <CODE>ConfigFilePerm</CODE> directive specifies the
695 permissions to use when writing configuration files. The default
696 is 0600.</P>
697
698
699 <H3 CLASS="title"><A NAME="DataDir">DataDir</A></H3>
700
701 <H4>Examples</H4>
702
703 <PRE CLASS="command">
704 DataDir /usr/share/cups
705 </PRE>
706
707 <H4>Description</H4>
708
709 <P>The <CODE>DataDir</CODE> directive sets the directory to use
710 for data files.</P>
711
712
713 <H3 CLASS="title"><A NAME="DefaultCharset">DefaultCharset</A></H3>
714
715 <H4>Examples</H4>
716
717 <PRE CLASS="command">
718 DefaultCharset utf-8
719 DefaultCharset iso-8859-1
720 DefaultCharset windows-1251
721 </PRE>
722
723 <H4>Description</H4>
724
725 <P>The <CODE>DefaultCharset</CODE> directive sets the default
726 character set to use for client connections. The default
727 character set is <CODE>utf-8</CODE> but is overridden by the
728 character set for the language specified by the client or the
729 <CODE>DefaultLanguage</CODE> directive.</P>
730
731
732 <H3 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H3>
733
734 <H4>Examples</H4>
735
736 <PRE CLASS="command">
737 DefaultLanguage de
738 DefaultLanguage en
739 DefaultLanguage es
740 DefaultLanguage fr
741 DefaultLanguage it
742 </PRE>
743
744 <H4>Description</H4>
745
746 <P>The <CODE>DefaultLanguage</CODE> directive specifies the
747 default language to use for client connections. Setting the
748 default language also sets the default character set if a
749 language localization file exists for it. The default language
750 is "en" for English.</P>
751
752
753 <H3 CLASS="title"><A NAME="Deny">Deny</A></H3>
754
755 <H4>Examples</H4>
756
757 <PRE CLASS="command">
758 Deny from All
759 Deny from None
760 Deny from *.domain.com
761 Deny from .domain.com
762 Deny from host.domain.com
763 Deny from nnn.*
764 Deny from nnn.nnn.*
765 Deny from nnn.nnn.nnn.*
766 Deny from nnn.nnn.nnn.nnn
767 Deny from nnn.nnn.nnn.nnn/mm
768 Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
769 Deny from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
770 Deny from @LOCAL
771 Deny from @IF(name)
772 </PRE>
773
774 <H4>Description</H4>
775
776 <P>The <CODE>Deny</CODE> directive specifies a hostname, IP
777 address, or network that is allowed access to the server.
778 <CODE>Deny</CODE> directives are cummulative, so multiple
779 <CODE>Deny</CODE> directives can be used to allow access for
780 multiple hosts or networks. The <CODE>/mm</CODE> notation
781 specifies a CIDR netmask:</P>
782
783 <DIV CLASS="table"><TABLE>
784 <TR>
785 <TH WIDTH="10%">mm</TH>
786 <TH WIDTH="20%">netmask</TH>
787 <TH WIDTH="10%">mm</TH>
788 <TH WIDTH="20%">netmask</TH>
789 </TR>
790 <TR>
791 <TD ALIGN="CENTER">0</TD>
792 <TD ALIGN="CENTER">0.0.0.0</TD>
793 <TD ALIGN="CENTER">8</TD>
794 <TD ALIGN="CENTER">255.0.0.0</TD>
795 </TR>
796 <TR>
797 <TD ALIGN="CENTER">1</TD>
798 <TD ALIGN="CENTER">128.0.0.0</TD>
799 <TD ALIGN="CENTER">16</TD>
800 <TD ALIGN="CENTER">255.255.0.0</TD>
801 </TR>
802 <TR>
803 <TD ALIGN="CENTER">2</TD>
804 <TD ALIGN="CENTER">192.0.0.0</TD>
805 <TD ALIGN="CENTER">24</TD>
806 <TD ALIGN="CENTER">255.255.255.0</TD>
807 </TR>
808 <TR>
809 <TD ALIGN="CENTER">...</TD>
810 <TD ALIGN="CENTER">...</TD>
811 <TD ALIGN="CENTER">32</TD>
812 <TD ALIGN="CENTER">255.255.255.255</TD>
813 </TR>
814 </TABLE></DIV>
815
816 <P>The <CODE>@LOCAL</CODE> name will deny access from all local
817 interfaces. The <CODE>@IF(name)</CODE> name will deny access from
818 the named interface.</P>
819
820 <P>The <CODE>Deny</CODE> directive must appear inside a <A
821 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
822
823
824 <H3 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H3>
825
826 <H4>Examples</H4>
827
828 <PRE CLASS="command">
829 DocumentRoot /usr/share/doc/cups
830 DocumentRoot /foo/bar/doc/cups
831 </PRE>
832
833 <H4>Description</H4>
834
835 <P>The <CODE>DocumentRoot</CODE> directive specifies the location
836 of web content for the HTTP server in CUPS. If an absolute path
837 is not specified then it is assumed to be relative to the <A
838 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
839 default directory is <VAR>/usr/share/doc/cups</VAR>.</P>
840
841 <P>Documents are first looked up in a sub-directory for the
842 primary language requested by the client (e.g.
843 <VAR>/usr/share/doc/cups/fr/...</VAR>) and then directly under
844 the <CODE>DocumentRoot</CODE> directory (e.g.
845 <VAR>/usr/share/doc/cups/...</VAR>), so it is possible to
846 localize the web content by providing subdirectories for each
847 language needed.</P>
848
849
850 <H3 CLASS="title"><A NAME="Encryption">Encryption</A></H3>
851
852 <H4>Examples</H4>
853
854 <PRE CLASS="command">
855 Encryption Never
856 Encryption IfRequested
857 Encryption Required
858 </PRE>
859
860 <H4>Description</H4>
861
862 <P>The <CODE>Encryption</CODE> directive must appear instead a <A
863 HREF="#Location"><CODE>Location</CODE></A> section and specifies
864 the encryption settings for that location. The default setting is
865 <CODE>IfRequested</CODE> for all locations.</P>
866
867
868 <H3 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H3>
869
870 <H4>Examples</H4>
871
872 <PRE CLASS="command">
873 ErrorLog /var/log/cups/error_log
874 ErrorLog /var/log/cups/error_log-%s
875 ErrorLog syslog
876 </PRE>
877
878 <H4>Description</H4>
879
880 <P>The <CODE>ErrorLog</CODE> directive sets the name of the error
881 log file. If the filename is not absolute then it is assumed to
882 be relative to the <A
883 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
884 default error log file is <VAR>/var/log/cups/error_log</VAR>.</P>
885
886 <P>The server name can be included in the filename by using
887 <CODE>%s</CODE> in the name.</P>
888
889 <P>The special name "syslog" can be used to send the error
890 information to the system log instead of a plain file.</P>
891
892
893 <H3 CLASS="title"><A NAME="FileDevice">FileDevice</A></H3>
894
895 <H4>Examples</H4>
896
897 <PRE CLASS="command">
898 FileDevice Yes
899 FileDevice No
900 </PRE>
901
902 <H4>Description</H4>
903
904 <P>The <CODE>FileDevice</CODE> directive determines whether the
905 scheduler allows new printers to be added using device URIs of
906 the form <CODE>file:/filename</CODE>. File devices are most often
907 used to test new printer drivers and do not support raw file
908 printing.</P>
909
910 <P>The default setting is <CODE>No</CODE>.</P>
911
912 <BLOCKQUOTE><B>Note:</B>
913
914 <P>File devices are managed by the scheduler. Since the
915 scheduler normally runs as the root user, file devices
916 can be used to overwrite system files and potentially
917 gain unauthorized access to the system. If you must
918 create printers using file devices, we recommend that
919 you set the <CODE>FileDevice</CODE> directive to
920 <CODE>Yes</CODE> for only as long as you need to add the
921 printers to the system, and then reset the directive to
922 <CODE>No</CODE>.</P>
923
924 </BLOCKQUOTE>
925
926
927 <H3 CLASS="title"><A NAME="FilterLimit">FilterLimit</A></H3>
928
929 <H4>Examples</H4>
930
931 <PRE CLASS="command">
932 FilterLimit 0
933 FilterLimit 200
934 FilterLimit 1000
935 </PRE>
936
937 <H4>Description</H4>
938
939 <P>The <CODE>FilterLimit</CODE> directive sets the maximum cost
940 of all running job filters. It can be used to limit the number of
941 filter programs that are run on a server to minimize disk,
942 memory, and CPU resource problems. A limit of 0 disables filter
943 limiting.</P>
944
945 <P>An average print to a non-PostScript printer needs a filter
946 limit of about 200. A PostScript printer needs about half that
947 (100). Setting the limit below these thresholds will effectively
948 limit the scheduler to printing a single job at any time.</P>
949
950 <P>The default limit is 0.</P>
951
952
953 <H3 CLASS="title"><A NAME="FontPath">FontPath</A></H3>
954
955 <H4>Examples</H4>
956
957 <PRE CLASS="command">
958 FontPath /foo/bar/fonts
959 FontPath /usr/share/cups/fonts:/foo/bar/fonts
960 </PRE>
961
962 <H4>Description</H4>
963
964 <P>The <CODE>FontPath</CODE> directive specifies the font path to
965 use when searching for fonts. The default font path is
966 <CODE>/usr/share/cups/fonts</CODE>.</P>
967
968
969 <H3 CLASS="title"><A NAME="Group">Group</A></H3>
970
971 <H4>Examples</H4>
972
973 <PRE CLASS="command">
974 Group nobody
975 </PRE>
976
977 <H4>Description</H4>
978
979 <P>The <CODE>Group</CODE> directive specifies the UNIX group that
980 filter and CGI programs run as. The default group is
981 <CODE>nobody</CODE>.</P>
982
983
984 <H3 CLASS="title"><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
985
986 <H4>Examples</H4>
987
988 <PRE CLASS="command">
989 HideImplicitMembers Yes
990 HideImplicitMembers No
991 </PRE>
992
993 <H4>Description</H4>
994
995 <P>The <CODE>HideImplicitMembers</CODE> directive controls
996 whether the individual printers in an implicit class are hidden
997 from the user. The default is <CODE>Yes</CODE>.</P>
998
999 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1000 must be enabled for this directive to have any effect.</P>
1001
1002
1003 <H3 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H3>
1004
1005 <H4>Examples</H4>
1006
1007 <PRE CLASS="command">
1008 HostNameLookups On
1009 HostNameLookups Off
1010 HostNameLookups Double
1011 </PRE>
1012
1013 <H4>Description</H4>
1014
1015 <P>The <CODE>HostNameLookups</CODE> directive controls whether or
1016 not CUPS looks up the hostname for connecting clients. The
1017 <CODE>Double</CODE> setting causes CUPS to verify that the
1018 hostname resolved from the address matches one of the addresses
1019 returned for that hostname. <CODE>Double</CODE> lookups also
1020 prevent clients with unregistered addresses from connecting to
1021 your server.</P>
1022
1023 <P>The default is <CODE>Off</CODE> to avoid the potential server
1024 performance problems with hostname lookups. Set this option to
1025 <CODE>On</CODE> or <CODE>Double</CODE> only if absolutely
1026 required.</P>
1027
1028
1029 <H3 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H3>
1030
1031 <H4>Examples</H4>
1032
1033 <PRE CLASS="command">
1034 ImplicitClasses On
1035 ImplicitClasses Off
1036 </PRE>
1037
1038 <H4>Description</H4>
1039
1040 <P>The <CODE>ImplicitClasses</CODE> directive controls whether
1041 implicit classes are created based upon the available network
1042 printers and classes. The default setting is <CODE>On</CODE> but
1043 is automatically turned <CODE>Off</CODE> if <A
1044 HREF="#Browsing"><CODE>Browsing</CODE></A> is turned
1045 <CODE>Off</CODE>.</P>
1046
1047
1048 <H3 CLASS="title"><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
1049
1050 <H4>Examples</H4>
1051
1052 <PRE CLASS="command">
1053 ImplicitAnyClasses On
1054 ImplicitAnyClasses Off
1055 </PRE>
1056
1057 <H4>Description</H4>
1058
1059 <P>The <CODE>ImplicitAnyClasses</CODE> directive controls
1060 whether implicit classes for local and remote printers are
1061 created with the name <CODE>AnyPrinter</CODE>. The default
1062 setting is <CODE>Off</CODE>.</P>
1063
1064 <P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
1065 must be enabled for this directive to have any effect.</P>
1066
1067
1068 <H3 CLASS="title"><A NAME="Include">Include</A></H3>
1069
1070 <H4>Examples</H4>
1071
1072 <PRE CLASS="command">
1073 Include filename
1074 Include /foo/bar/filename
1075 </PRE>
1076
1077 <H4>Description</H4>
1078
1079 <P>The <CODE>Include</CODE> directive includes the named file in
1080 the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
1081 the file is assumed to be relative to the <A
1082 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
1083
1084
1085 <H3 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H3>
1086
1087 <H4>Examples</H4>
1088
1089 <PRE CLASS="command">
1090 KeepAlive On
1091 KeepAlive Off
1092 </PRE>
1093
1094 <H4>Description</H4>
1095
1096 <P>The <CODE>KeepAlive</CODE> directive controls whether or not
1097 to support persistent HTTP connections. The default is
1098 <CODE>On</CODE>.</P>
1099
1100 <P>HTTP/1.1 clients automatically support persistent connections,
1101 while HTTP/1.0 clients must specifically request them using the
1102 <CODE>Keep-Alive</CODE> attribute in the <CODE>Connection:</CODE>
1103 field of each request.</P>
1104
1105
1106 <H3 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H3>
1107
1108 <H4>Examples</H4>
1109
1110 <PRE CLASS="command">
1111 KeepAliveTimeout 60
1112 KeepAliveTimeout 30
1113 </PRE>
1114
1115 <H4>Description</H4>
1116
1117 <P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
1118 a persistent HTTP connection will remain open after the last
1119 request. The default is 60 seconds.</P>
1120
1121
1122 <H3 CLASS="title"><A NAME="Limit">Limit</A></H3>
1123
1124 <H4>Examples</H4>
1125
1126 <PRE CLASS="command">
1127 &lt;Limit GET POST&gt;
1128 ...
1129 &lt;/Limit&gt;
1130
1131 &lt;Limit ALL&gt;
1132 ...
1133 &lt;/Limit&gt;
1134 </PRE>
1135
1136 <H4>Description</H4>
1137
1138 <P>The <CODE>Limit</CODE> directive groups access control
1139 directives for specific types of HTTP requests and must appear
1140 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1141 Access can be limited for individual request types
1142 (<CODE>DELETE</CODE>, <CODE>GET</CODE>, <CODE>HEAD</CODE>,
1143 <CODE>OPTIONS</CODE>, <CODE>POST</CODE>, <CODE>PUT</CODE>, and
1144 <CODE>TRACE</CODE>) or for all request types (<CODE>ALL</CODE>).
1145 The request type names are case-sensitive for compatibility with
1146 Apache.</P>
1147
1148
1149 <H3 CLASS="title"><A NAME="LimitExcept">LimitExcept</A></H3>
1150
1151 <H4>Examples</H4>
1152
1153 <PRE CLASS="command">
1154 &lt;LimitExcept GET POST&gt;
1155 ...
1156 &lt;/LimitExcept&gt;
1157 </PRE>
1158
1159 <H4>Description</H4>
1160
1161 <P>The <CODE>LimitExcept</CODE> directive groups access control
1162 directives for specific types of HTTP requests and must appear
1163 inside a <A HREF="#Location"><CODE>Location</CODE></A> section.
1164 Unlike the <A HREF="#Limit"><CODE>Limit</CODE></A> directive,
1165 <CODE>LimitExcept</CODE> restricts access for all requests
1166 <I>except</I> those listed on the <CODE>LimitExcept</CODE>
1167 line.</P>
1168
1169
1170 <H3 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H3>
1171
1172 <H4>Examples</H4>
1173
1174 <PRE CLASS="command">
1175 LimitRequestBody 10485760
1176 LimitRequestBody 10m
1177 LimitRequestBody 0
1178 </PRE>
1179
1180 <H4>Description</H4>
1181
1182 <P>The <CODE>LimitRequestBody</CODE> directive controls the
1183 maximum size of print files, IPP requests, and HTML form data in
1184 HTTP POST requests. The default limit is 0 which disables the
1185 limit check.</P>
1186
1187
1188 <H3 CLASS="title"><A NAME="Listen">Listen</A></H3>
1189
1190 <H4>Examples</H4>
1191
1192 <PRE CLASS="command">
1193 Listen 127.0.0.1:631
1194 Listen 192.0.2.1:631
1195 Listen [::1]:631
1196 Listen *:631
1197 </PRE>
1198
1199 <H4>Description</H4>
1200
1201 <P>The <CODE>Listen</CODE> directive specifies a network address
1202 and port to listen for connections. Multiple <CODE>Listen</CODE>
1203 directives can be provided to listen on multiple addresses.</P>
1204
1205 <P>The <CODE>Listen</CODE> directive is similar to the <A
1206 HREF="#Port"><CODE>Port</CODE></A> directive but allows you to
1207 restrict access to specific interfaces or networks.</P>
1208
1209
1210 <H3 CLASS="title"><A NAME="Location">Location</A></H3>
1211
1212 <H4>Examples</H4>
1213
1214 <PRE CLASS="command">
1215 &lt;Location /&gt;
1216 ...
1217 &lt;/Location&gt;
1218
1219 &lt;Location /admin&gt;
1220 ...
1221 &lt;/Location&gt;
1222
1223 &lt;Location /admin/conf&gt;
1224 ...
1225 &lt;/Location&gt;
1226
1227 &lt;Location /admin/log&gt;
1228 ...
1229 &lt;/Location&gt;
1230
1231 &lt;Location /classes&gt;
1232 ...
1233 &lt;/Location&gt;
1234
1235 &lt;Location /classes/name&gt;
1236 ...
1237 &lt;/Location&gt;
1238
1239 &lt;Location /jobs&gt;
1240 ...
1241 &lt;/Location&gt;
1242
1243 &lt;Location /printers&gt;
1244 ...
1245 &lt;/Location&gt;
1246
1247 &lt;Location /printers/name&gt;
1248 ...
1249 &lt;/Location&gt;
1250
1251 </PRE>
1252
1253 <H4>Description</H4>
1254
1255 <P>The <CODE>Location</CODE> directive specifies access control
1256 and authentication options for the specified HTTP resource or
1257 path. The <A HREF="#Allow"><CODE>Allow</CODE></A>, <A
1258 HREF="#AuthType"><CODE>AuthType</CODE></A>, <A
1259 HREF="#Deny"><CODE>Deny</CODE></A>, <A
1260 HREF="#Encryption"><CODE>Encryption</CODE></A>, <A
1261 HREF="#Limit"><CODE>Limit</CODE></A>, <A
1262 HREF="#LimitExcept"><CODE>LimitExcept</CODE></A>, <A
1263 HREF="#Order"><CODE>Order</CODE></A>, <A
1264 HREF="#Require"><CODE>Require</CODE></A>, and <A
1265 HREF="#Satisfy"><CODE>Satisfy</CODE></A> directives may all
1266 appear inside a location.</P>
1267
1268 <P>Note that more specific resources override the less specific
1269 ones. So the directives inside the <CODE>/printers/name</CODE>
1270 location will override ones from <CODE>/printers</CODE>.
1271 Directives inside <CODE>/printers</CODE> will override ones from
1272 <CODE>/</CODE>. None of the directives are inherited.</P>
1273
1274 <DIV CLASS="table"><TABLE>
1275 <CAPTION>Common Locations on the Server</CAPTION>
1276 <TR><TH>Location</TH><TH>Description</TH></TR>
1277 <TR><TD><CODE>/</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)</TD></TR>
1278 <TR><TD><CODE>/admin</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)</TD></TR>
1279 <TR><TD><CODE>/admin/conf</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)</TD></TR>
1280 <TR><TD><CODE>/admin/log</CODE></TD><TD>The path for access to the CUPS log files (access_log, error_log, page_log)</TD></TR>
1281 <TR><TD><CODE>/classes</CODE></TD><TD>The path for all classes</TD></TR>
1282 <TR><TD><CODE>/classes/name</CODE></TD><TD>The resource for class <CODE>name</CODE></TD></TR>
1283 <TR><TD><CODE>/jobs</CODE></TD><TD>The path for all jobs (hold-job, release-job, etc.)</TD></TR>
1284 <TR><TD><CODE>/jobs/id</CODE></TD><TD>The resource for job <CODE>id</CODE></TD></TR>
1285 <TR><TD><CODE>/printers</CODE></TD><TD>The path for all printers</TD></TR>
1286 <TR><TD><CODE>/printers/name</CODE></TD><TD>The path for printer <CODE>name</CODE></TD></TR>
1287 <TR><TD><CODE>/printers/name.ppd</CODE></TD><TD>The PPD file path for printer <CODE>name</CODE></TD></TR>
1288 </TABLE></DIV>
1289
1290
1291 <H3 CLASS="title"><A NAME="LogFilePerm">LogFilePerm</A></H3>
1292
1293 <H4>Examples</H4>
1294
1295 <PRE CLASS="command">
1296 LogFilePerm 0644
1297 LogFilePerm 0600
1298 </PRE>
1299
1300 <H4>Description</H4>
1301
1302 <P>The <CODE>LogFilePerm</CODE> directive specifies the
1303 permissions to use when writing configuration files. The default
1304 is 0644.</P>
1305
1306
1307 <H3 CLASS="title"><A NAME="LogLevel">LogLevel</A></H3>
1308
1309 <H4>Examples</H4>
1310
1311 <PRE CLASS="command">
1312 LogLevel none
1313 LogLevel emerg
1314 LogLevel alert
1315 LogLevel crit
1316 LogLevel error
1317 LogLevel warn
1318 LogLevel notice
1319 LogLevel info
1320 LogLevel debug
1321 LogLevel debug2
1322 </PRE>
1323
1324 <H4>Description</H4>
1325
1326 <P>The <CODE>LogLevel</CODE> directive specifies the level of
1327 logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
1328 file. The following values are recognized (each level logs
1329 everything under the preceding levels):</P>
1330
1331 <UL>
1332
1333 <LI><CODE>none</CODE> - Log nothing</LI>
1334
1335 <LI><CODE>emerg</CODE> - Log emergency conditions that
1336 prevent the server from running</LI>
1337
1338 <LI><CODE>alert</CODE> - Log alerts that must be handled
1339 immediately</LI>
1340
1341 <LI><CODE>crit</CODE> - Log critical errors that don't
1342 prevent the server from running</LI>
1343
1344 <LI><CODE>error</CODE> - Log general errors</LI>
1345
1346 <LI><CODE>warn</CODE> - Log errors and warnings</LI>
1347
1348 <LI><CODE>notice</CODE> - Log temporary error conditions</LI>
1349
1350 <LI><CODE>info</CODE> - Log all requests and state
1351 changes (default)</LI>
1352
1353 <LI><CODE>debug</CODE> - Log basic debugging
1354 information</LI>
1355
1356 <LI><CODE>debug2</CODE> - Log all debugging
1357 information</LI>
1358
1359 </UL>
1360
1361
1362 <H3 CLASS="title"><A NAME="MaxClients">MaxClients</A></H3>
1363
1364 <H4>Examples</H4>
1365
1366 <PRE CLASS="command">
1367 MaxClients 100
1368 MaxClients 1024
1369 </PRE>
1370
1371 <H4>Description</H4>
1372
1373 <P>The <CODE>MaxClients</CODE> directive controls the maximum
1374 number of simultaneous clients that will be allowed by the
1375 server. The default is 100 clients.</P>
1376
1377 <BLOCKQUOTE><B>Note:</B>
1378
1379 <P>Since each print job requires a file descriptor for the status
1380 pipe, the scheduler internally limits the <CODE>MaxClients</CODE>
1381 value to 1/3 of the available file descriptors to avoid possible
1382 problems when printing large numbers of jobs.</P>
1383
1384 </BLOCKQUOTE>
1385
1386
1387 <H3 CLASS="title"><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H3>
1388
1389 <H4>Examples</H4>
1390
1391 <PRE CLASS="command">
1392 MaxClientsPerHost 10
1393 </PRE>
1394
1395 <H4>Description</H4>
1396
1397 <P>The <CODE>MaxClientsPerHost</CODE> directive controls the
1398 maximum number of simultaneous clients that will be allowed from
1399 a single host by the server. The default is the
1400 <CODE>MaxClients</CODE> value.</P>
1401
1402 <P>This directive provides a small measure of protection against
1403 Denial of Service attacks from a single host.</P>
1404
1405
1406 <H3 CLASS="title"><A NAME="MaxCopies">MaxCopies</A></H3>
1407
1408 <H4>Examples</H4>
1409
1410 <PRE CLASS="command">
1411 MaxCopies 100
1412 MaxCopies 65535
1413 </PRE>
1414
1415 <H4>Description</H4>
1416
1417 <P>The <CODE>MaxCopies</CODE> directive controls the maximum
1418 number of copies that a user can print of a job. The default is
1419 100 copies.</P>
1420
1421 <BLOCKQUOTE><B>Note:</B>
1422
1423 <P>Most HP PCL laser printers internally limit the number of
1424 copies to 100.</P>
1425
1426 </BLOCKQUOTE>
1427
1428
1429
1430 <H3 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H3>
1431
1432 <H4>Examples</H4>
1433
1434 <PRE CLASS="command">
1435 MaxJobs 100
1436 MaxJobs 9999
1437 MaxJobs 0
1438 </PRE>
1439
1440 <H4>Description</H4>
1441
1442 <P>The <CODE>MaxJobs</CODE> directive controls the maximum number
1443 of jobs that are kept in memory. Once the number of jobs reaches
1444 the limit, the oldest completed job is automatically purged from
1445 the system to make room for the new one. If all of the known jobs
1446 are still pending or active then the new job will be
1447 rejected.</P>
1448
1449 <P>Setting the maximum size to 0 disables this functionality. The
1450 default setting is 0.</P>
1451
1452
1453 <H3 CLASS="title"><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H3>
1454
1455 <H4>Examples</H4>
1456
1457 <PRE CLASS="command">
1458 MaxJobsPerPrinter 100
1459 MaxJobsPerPrinter 9999
1460 MaxJobsPerPrinter 0
1461 </PRE>
1462
1463 <H4>Description</H4>
1464
1465 <P>The <CODE>MaxJobsPerPrinter</CODE> directive controls the
1466 maximum number of active jobs that are allowed for each printer
1467 or class. Once a printer or class reaches the limit, new jobs
1468 will be rejected until one of the active jobs is completed,
1469 stopped, aborted, or canceled.</P>
1470
1471 <P>Setting the maximum to 0 disables this functionality. The
1472 default setting is 0.</P>
1473
1474
1475 <H3 CLASS="title"><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H3>
1476
1477 <H4>Examples</H4>
1478
1479 <PRE CLASS="command">
1480 MaxJobsPerUser 100
1481 MaxJobsPerUser 9999
1482 MaxJobsPerUser 0
1483 </PRE>
1484
1485 <H4>Description</H4>
1486
1487 <P>The <CODE>MaxJobsPerUser</CODE> directive controls the maximum
1488 number of active jobs that are allowed for each user. Once a user
1489 reaches the limit, new jobs will be rejected until one of the
1490 active jobs is completed, stopped, aborted, or canceled.</P>
1491
1492 <P>Setting the maximum to 0 disables this functionality. The
1493 default setting is 0.</P>
1494
1495
1496 <H3 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H3>
1497
1498 <H4>Examples</H4>
1499
1500 <PRE CLASS="command">
1501 MaxLogSize 1048576
1502 MaxLogSize 1m
1503 MaxLogSize 0
1504 </PRE>
1505
1506 <H4>Description</H4>
1507
1508 <P>The <CODE>MaxLogSize</CODE> directive controls the maximum
1509 size of each log file. Once a log file reaches or exceeds the
1510 maximum size it is closed and renamed to <VAR>filename.O</VAR>.
1511 This allows you to rotate the logs automatically. The default
1512 size is 1048576 bytes (1MB).</P>
1513
1514 <P>Setting the maximum size to 0 disables log rotation.</P>
1515
1516
1517 <H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H3>
1518
1519 <H4>Examples</H4>
1520
1521 <PRE CLASS="command">
1522 MaxRequestSize 10485760
1523 MaxRequestSize 10m
1524 MaxRequestSize 0
1525 </PRE>
1526
1527 <H4>Description</H4>
1528
1529 <P>The <CODE>MaxRequestSize</CODE> directive controls the maximum
1530 size of print files, IPP requests, and HTML form data in HTTP
1531 POST requests. The default limit is 0 which disables the limit
1532 check.</P>
1533
1534 <P><B>This directive is deprecated and will be replaced in a
1535 future CUPS release.</B> Use the <A
1536 HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
1537 directive instead.</P>
1538
1539
1540 <H3 CLASS="title"><A NAME="Order">Order</A></H3>
1541
1542 <H4>Examples</H4>
1543
1544 <PRE CLASS="command">
1545 Order Allow,Deny
1546 Order Deny,Allow
1547 </PRE>
1548
1549 <H4>Description</H4>
1550
1551 <P>The <CODE>Order</CODE> directive defines the default access
1552 control. The following values are supported:</P>
1553
1554 <UL>
1555
1556 <LI><CODE>allow,deny</CODE> - Deny requests by default,
1557 then check the <A HREF="#Allow"><CODE>Allow</CODE></A>
1558 lines followed by the <A
1559 HREF="#Deny"><CODE>Deny</CODE></A> lines</LI>
1560
1561 <LI><CODE>deny,allow</CODE> - Allow requests by default,
1562 then check the <A HREF="#Deny"><CODE>Deny</CODE></A>
1563 lines followed by the <A
1564 HREF="#Allow"><CODE>Allow</CODE></A> lines</LI>
1565
1566 </UL>
1567
1568 <P>The <CODE>Order</CODE> directive must appear inside a <A
1569 HREF="#Location"><CODE>Location</CODE></A> directive.</P>
1570
1571
1572 <H3 CLASS="title"><A NAME="PageLog">PageLog</A></H3>
1573
1574 <H4>Examples</H4>
1575
1576 <PRE CLASS="command">
1577 PageLog /var/log/cups/page_log
1578 PageLog /var/log/cups/page_log-%s
1579 PageLog syslog
1580 </PRE>
1581
1582 <H4>Description</H4>
1583
1584 <P>The <CODE>PageLog</CODE> directive sets the name of the page
1585 log file. If the filename is not absolute then it is assumed to
1586 be relative to the <A
1587 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1588 default page log file is <VAR>/var/log/cups/page_log</VAR>.</P>
1589
1590 <P>The server name can be included in the filename by using
1591 <CODE>%s</CODE> in the name.</P>
1592
1593 <P>The special name "syslog" can be used to send the page
1594 information to the system log instead of a plain file.</P>
1595
1596
1597 <H3 CLASS="title"><A NAME="Port">Port</A></H3>
1598
1599 <H4>Examples</H4>
1600
1601 <PRE CLASS="command">
1602 Port 631
1603 Port 80
1604 </PRE>
1605
1606 <H4>Description</H4>
1607
1608 <P>The <CODE>Port</CODE> directive specifies a port to listen on.
1609 Multiple <CODE>Port</CODE> lines can be specified to listen on
1610 multiple ports. The <CODE>Port</CODE> directive is equivalent to
1611 "<CODE>Listen *:nnn</CODE>". The default port is 631.</P>
1612
1613 <BLOCKQUOTE><B>Note:</B>
1614
1615 <P>On systems that support IPv6, this directive will bind to both
1616 the IPv4 and IPv6 wildcard address.</P>
1617
1618 </BLOCKQUOTE>
1619
1620
1621 <H3 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H3>
1622
1623 <H4>Examples</H4>
1624
1625 <PRE CLASS="command">
1626 PreserveJobHistory On
1627 PreserveJobHistory Off
1628 </PRE>
1629
1630 <H4>Description</H4>
1631
1632 <P>The <CODE>PreserveJobHistory</CODE> directive controls whether
1633 the history of completed, canceled, or aborted print jobs is
1634 stored on disk.</P>
1635
1636 <P>A value of <CODE>On</CODE> (the default) preserves job
1637 information until the administrator purges it with the
1638 <CODE>cancel</CODE> command.</P>
1639
1640 <P>A value of <CODE>Off</CODE> removes the job information as
1641 soon as each job is completed, canceled, or aborted.</P>
1642
1643
1644 <H3 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H3>
1645
1646 <H4>Examples</H4>
1647
1648 <PRE CLASS="command">
1649 PreserveJobFiles On
1650 PreserveJobFiles Off
1651 </PRE>
1652
1653 <H4>Description</H4>
1654
1655 <P>The <CODE>PreserveJobFiles</CODE> directive controls whether
1656 the document files of completed, canceled, or aborted print jobs
1657 are stored on disk.</P>
1658
1659 <P>A value of <CODE>On</CODE> preserves job files until the
1660 administrator purges them with the <CODE>cancel</CODE> command.
1661 Jobs can be restarted (and reprinted) as desired until they are
1662 purged.</P>
1663
1664 <P>A value of <CODE>Off</CODE> (the default) removes the job
1665 files as soon as each job is completed, canceled, or aborted.</P>
1666
1667
1668 <H3 CLASS="title"><A NAME="Printcap">Printcap</A></H3>
1669
1670 <H4>Examples</H4>
1671
1672 <PRE CLASS="command">
1673 Printcap
1674 Printcap /etc/printcap
1675 Printcap /etc/printers.conf
1676 </PRE>
1677
1678 <H4>Description</H4>
1679
1680 <P>The <CODE>Printcap</CODE> directive controls whether or not a
1681 printcap file is automatically generated and updated with a list
1682 of available printers. If specified with no value, then no
1683 printcap file will be generated. The default is to generate a
1684 file named <VAR>/etc/printcap</VAR>.</P>
1685
1686 <P>When a filename is specified (e.g. <VAR>/etc/printcap</VAR>),
1687 the printcap file is written whenever a printer is added or
1688 removed. The printcap file can then be used by applications that
1689 are hardcoded to look at the printcap file for the available
1690 printers.</P>
1691
1692
1693 <H3 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H3>
1694
1695 <H4>Examples</H4>
1696
1697 <PRE CLASS="command">
1698 PrintcapFormat BSD
1699 PrintcapFormat Solaris
1700 </PRE>
1701
1702 <H4>Description</H4>
1703
1704 <P>The <CODE>PrintcapFormat</CODE> directive controls the output
1705 format of the printcap file. The default is to generate a BSD
1706 printcap file.</P>
1707
1708
1709 <H3 CLASS="title"><A NAME="RemoteRoot">RemoteRoot</A></H3>
1710
1711 <H4>Examples</H4>
1712
1713 <PRE CLASS="command">
1714 RemoteRoot remroot
1715 RemoteRoot root
1716 </PRE>
1717
1718 <H4>Description</H4>
1719
1720 <P>The <CODE>RemoteRoot</CODE> directive sets the username for
1721 unauthenticated root requests from remote hosts. The default
1722 username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
1723 to <VAR>root</VAR> effectively disables this security
1724 mechanism.</P>
1725
1726
1727 <H3 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H3>
1728
1729 <H4>Examples</H4>
1730
1731 <PRE CLASS="command">
1732 RequestRoot /var/spool/cups
1733 RequestRoot /foo/bar/spool/cups
1734 </PRE>
1735
1736 <H4>Description</H4>
1737
1738 <P>The <CODE>RequestRoot</CODE> directive sets the directory for
1739 incoming IPP requests and HTML forms. If an absolute path is not
1740 provided then it is assumed to be relative to the <A
1741 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1742 default request directory is <VAR>/var/spool/cups</VAR>.</P>
1743
1744
1745 <H3 CLASS="title"><A NAME="Require">Require</A></H3>
1746
1747 <H4>Examples</H4>
1748
1749 <PRE CLASS="command">
1750 Require group foo bar
1751 Require user john mary
1752 Require valid-user
1753 Require user @groupname
1754 Require user @SYSTEM
1755 Require user @OWNER
1756 </PRE>
1757
1758 <H4>Description</H4>
1759
1760 <P>The <CODE>Require</CODE> directive specifies that
1761 authentication is required for the resource. The
1762 <CODE>group</CODE> keyword specifies that the authenticated user
1763 must be a member of one or more of the named groups that
1764 follow.</P>
1765
1766 <P>The <CODE>user</CODE> keyboard specifies that the
1767 authenticated user must be one of the named users or groups that
1768 follow. Group names are specified using the "@" prefix.</P>
1769
1770 <P>The <CODE>valid-user</CODE> keyword specifies that any
1771 authenticated user may access the resource.</P>
1772
1773 <P>The default is to do no authentication. This directive must
1774 appear inside a <A HREF="#Location"><CODE>Location</CODE></A>
1775 directive.</P>
1776
1777
1778 <H3 CLASS="title"><A NAME="RIPCache">RIPCache</A></H3>
1779
1780 <H4>Examples</H4>
1781
1782 <PRE CLASS="command">
1783 RIPCache 8m
1784 RIPCache 1g
1785 RIPCache 2048k
1786 </PRE>
1787
1788 <H4>Description</H4>
1789
1790 <P>The <CODE>RIPCache</CODE> directive sets the size of the
1791 memory cache used by Raster Image Processor ("RIP") filters such
1792 as <CODE>imagetoraster</CODE> and <CODE>pstoraster</CODE>. The
1793 size can be suffixed with a "k" for kilobytes, "m" for megabytes,
1794 or "g" for gigabytes. The default cache size is "8m", or 8
1795 megabytes.</P>
1796
1797
1798 <H3 CLASS="title"><A NAME="Satisfy">Satisfy</A></H3>
1799
1800 <H4>Examples</H4>
1801
1802 <PRE CLASS="command">
1803 Satisfy all
1804 Satisfy any
1805 </PRE>
1806
1807 <H4>Description</H4>
1808
1809 <P>The <CODE>Satisfy</CODE> directive specifies whether all
1810 conditions must be satisfied to allow access to the resource. If
1811 set to <CODE>all</CODE>, then all authentication and access
1812 control conditions must be satified to allow access.</P>
1813
1814 <P>Setting <CODE>Satisfy</CODE> to <CODE>any</CODE> allows a user
1815 to gain access if the authentication or access control
1816 requirements are satisfied. For example, you might require
1817 authentication for remote access, but allow local access without
1818 authentication.</P>
1819
1820 <P>The default is <CODE>all</CODE>. This directive must appear
1821 inside a <A HREF="#Location"><CODE>Location</CODE></A>
1822 directive.</P>
1823
1824
1825 <H3 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H3>
1826
1827 <H4>Examples</H4>
1828
1829 <PRE CLASS="command">
1830 ServerAdmin user@host
1831 ServerAdmin root@foo.bar.com
1832 </PRE>
1833
1834 <H4>Description</H4>
1835
1836 <P>The <CODE>ServerAdmin</CODE> directive identifies the email
1837 address for the administrator on the system. By default the
1838 administrator email address is <CODE>root@server</CODE>, where
1839 <CODE>server</CODE> is the server name.</P>
1840
1841
1842 <H3 CLASS="title"><A NAME="ServerBin">ServerBin</A></H3>
1843
1844 <H4>Examples</H4>
1845
1846 <PRE CLASS="command">
1847 ServerBin /usr/lib/cups
1848 ServerBin /foo/bar/lib/cups
1849 </PRE>
1850
1851 <H4>Description</H4>
1852
1853 <P>The <CODE>ServerBin</CODE> directive sets the directory for
1854 server-run executables. If an absolute path is not provided then
1855 it is assumed to be relative to the <A
1856 HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
1857 default executable directory is <VAR>/usr/lib/cups</VAR> or
1858 <VAR>/usr/lib32/cups</VAR> (IRIX 6.5).</P>
1859
1860
1861 <H3 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H3>
1862
1863 <H4>Examples</H4>
1864
1865 <PRE CLASS="command">
1866 ServerCertificate /etc/cups/ssl/server.crt
1867 </PRE>
1868
1869 <H4>Description</H4>
1870
1871 <P>The <CODE>ServerCertificate</CODE> directive specifies the
1872 location of the SSL certificate file used by the server when
1873 negotiating encrypted connections. The certificate must not be
1874 encrypted (password protected) since the scheduler normally runs
1875 in the background and will be unable to ask for a password.</P>
1876
1877 <P>The default certificate file is
1878 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1879
1880
1881 <H3 CLASS="title"><A NAME="ServerKey">ServerKey</A></H3>
1882
1883 <H4>Examples</H4>
1884
1885 <PRE CLASS="command">
1886 ServerKey /etc/cups/ssl/server.key
1887 </PRE>
1888
1889 <H4>Description</H4>
1890
1891 <P>The <CODE>ServerKey</CODE> directive specifies the location of
1892 the SSL private key file used by the server when negotiating
1893 encrypted connections.</P>
1894
1895 <P>The default key file is
1896 <VAR>/etc/cups/ssl/server.crt</VAR>.</P>
1897
1898
1899 <H3 CLASS="title"><A NAME="ServerName"></A>ServerName</H3>
1900
1901 <H4>Examples</H4>
1902
1903 <PRE CLASS="command">
1904 ServerName foo.domain.com
1905 ServerName myserver.domain.com
1906 </PRE>
1907
1908 <H4>Description</H4>
1909
1910 <P>The <CODE>ServerName</CODE> directive specifies the hostname
1911 that is reported to clients. By default the server name is the
1912 hostname.</P>
1913
1914
1915 <H3 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H3>
1916
1917 <H4>Examples</H4>
1918
1919 <PRE CLASS="command">
1920 ServerRoot /etc/cups
1921 ServerRoot /foo/bar/cups
1922 </PRE>
1923
1924 <H4>Description</H4>
1925
1926 <P>The <CODE>ServerRoot</CODE> directive specifies the absolute
1927 path to the server configuration and state files. It is also used
1928 to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
1929 default server directory is <VAR>/etc/cups</VAR>.</P>
1930
1931
1932 <H3 CLASS="title"><A NAME="SSLListen">SSLListen</A></H3>
1933
1934 <H4>Examples</H4>
1935
1936 <PRE CLASS="command">
1937 SSLListen 127.0.0.1:443
1938 SSLListen 192.0.2.1:443
1939 </PRE>
1940
1941 <H4>Description</H4>
1942
1943 <P>The <CODE>SSLListen</CODE> directive specifies a network
1944 address and port to listen for secure connections. Multiple
1945 <CODE>SSLListen</CODE> directives can be provided to listen on
1946 multiple addresses.</P>
1947
1948 <P>The <CODE>SSLListen</CODE> directive is similar to the <A
1949 HREF="#SSLPort"><CODE>SSLPort</CODE></A> directive but allows you
1950 to restrict access to specific interfaces or networks.</P>
1951
1952
1953 <H3 CLASS="title"><A NAME="SSLPort">SSLPort</A></H3>
1954
1955 <H4>Examples</H4>
1956
1957 <PRE CLASS="command">
1958 SSLPort 443
1959 </PRE>
1960
1961 <H4>Description</H4>
1962
1963 <P>The <CODE>SSLPort</CODE> directive specifies a port to listen
1964 on for secure connections. Multiple <CODE>SSLPort</CODE> lines
1965 can be specified to listen on multiple ports.</P>
1966
1967
1968 <H3 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H3>
1969
1970 <H4>Examples</H4>
1971
1972 <PRE CLASS="command">
1973 SystemGroup lpadmin
1974 SystemGroup sys
1975 SystemGroup system
1976 SystemGroup root
1977 </PRE>
1978
1979 <H4>Description</H4>
1980
1981 <P>The <CODE>SystemGroup</CODE> directive specifies the system
1982 administration group for <CODE>System</CODE> authentication.</P>
1983
1984
1985 <H3 CLASS="title"><A NAME="TempDir">TempDir</A></H3>
1986
1987 <H4>Examples</H4>
1988
1989 <PRE CLASS="command">
1990 TempDir /var/tmp
1991 TempDir /foo/bar/tmp
1992 </PRE>
1993
1994 <H4>Description</H4>
1995
1996 <P>The <CODE>TempDir</CODE> directive specifies an absolute path
1997 for the directory to use for temporary files. The default
1998 directory is <VAR>/var/spool/cups/tmp</VAR>.</P>
1999
2000 <P>Temporary directories must be world-writable and should have
2001 the "sticky" permission bit enabled so that other users cannot
2002 delete filter temporary files. The following commands will create
2003 an appropriate temporary directory called
2004 <VAR>/foo/bar/tmp</VAR>:</P>
2005
2006 <PRE CLASS="command">
2007 <KBD>mkdir /foo/bar/tmp</KBD>
2008 <KBD>chmod a+rwxt /foo/bar/tmp</KBD>
2009 </PRE>
2010
2011
2012 <H3 CLASS="title"><A NAME="Timeout">Timeout</A></H3>
2013
2014 <H4>Examples</H4>
2015
2016 <PRE CLASS="command">
2017 Timeout 300
2018 Timeout 90
2019 </PRE>
2020
2021 <H4>Description</H4>
2022
2023 <P>The <CODE>Timeout</CODE> directive controls the amount of time
2024 to wait before an active HTTP or IPP request times out. The
2025 default timeout is 300 seconds.</P>
2026
2027
2028 <H3 CLASS="title"><A NAME="User">User</A></H3>
2029
2030 <H4>Examples</H4>
2031
2032 <PRE CLASS="command">
2033 User lp
2034 User guest
2035 </PRE>
2036
2037 <H4>Description</H4>
2038
2039 <P>The <CODE>User</CODE> directive specifies the UNIX user that
2040 filter and CGI programs run as. The default user is
2041 <CODE>lp</CODE>.</P>
2042
2043 <BLOCKQUOTE><B>Note:</B>
2044
2045 <P>You may not use user <CODE>root</CODE>, as that would expose
2046 the system to unacceptable security risks. The scheduler will
2047 automatically choose user <CODE>nobody</CODE> if you specify a
2048 user whose ID is 0.</P>
2049
2050 </BLOCKQUOTE>
2051
2052
2053 </BODY>
2054 </HTML>