1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 27 # 28 # "$Id: httpd-standalone-ipp.conf,v 1.4 2006/03/24 00:26:54 njacobs Exp $" 29 # 30 31 # ident "%Z%%M% %I% %E% SMI" 32 33 ## 34 ## httpd-standalone-ipp.conf -- Apache HTTP server configuration file for 35 ## an Internet Print Protocol (IPP) listener 36 ## 37 38 # 39 # Based upon the NCSA server configuration files originally by Rob McCool. 40 # 41 # This is the main Apache server configuration file. It contains the 42 # configuration directives that give the server its instructions. 43 # See <URL:http://www.apache.org/docs/> for detailed information about 44 # the directives. mod_ipp specific directives are described in the 45 # mod_ipp(4) man page. 46 # 47 48 ### Section 1: Global Environment 49 # 50 # The directives in this section affect the overall operation of Apache, 51 # such as the number of concurrent requests it can handle or where it 52 # can find its configuration files. 53 # 54 55 # 56 # ServerType is either inetd, or standalone. Inetd mode is only supported on 57 # Unix platforms. 58 # 59 ServerType standalone 60 61 # 62 # ServerRoot: The top of the directory tree under which the server's 63 # configuration, error, and log files are kept. 64 # 65 # NOTE! If you intend to place this on an NFS (or otherwise network) 66 # mounted filesystem then please read the LockFile documentation 67 # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>); 68 # you will save yourself a lot of trouble. 69 # 70 ServerRoot "/usr/apache" 71 72 # 73 # The LockFile directive sets the path to the lockfile used when Apache 74 # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or 75 # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at 76 # its default value. The main reason for changing it is if the logs 77 # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL 78 # DISK. The PID of the main server process is automatically appended to 79 # the filename. 80 # 81 #LockFile /var/run/httpd.lock 82 LockFile /var/run/httpd-standalone-ipp.lock 83 84 # 85 # PidFile: The file in which the server should record its process 86 # identification number when it starts. 87 # 88 PidFile /var/run/httpd-standalone-ipp.pid 89 90 # 91 # ScoreBoardFile: File used to store internal server process information. 92 # Not all architectures require this. But if yours does (you'll know because 93 # this file will be created when you run Apache) then you *must* ensure that 94 # no two invocations of Apache share the same scoreboard file. 95 # 96 ScoreBoardFile /var/run/httpd-standalone-ipp.scoreboard 97 98 # 99 # In the standard configuration, the server will process httpd.conf (this 100 # file, specified by the -f command line option), srm.conf, and access.conf 101 # in that order. The latter two files are now distributed empty, as it is 102 # recommended that all directives be kept in a single file for simplicity. 103 # The commented-out values below are the built-in defaults. You can have the 104 # server ignore these files altogether by using "/dev/null" (for Unix) or 105 # "nul" (for Win32) for the arguments to the directives. 106 # 107 #ResourceConfig conf/srm.conf 108 #AccessConfig conf/access.conf 109 110 # 111 # Timeout: The number of seconds before receives and sends time out. 112 # 113 Timeout 300 114 115 # 116 # KeepAlive: Whether or not to allow persistent connections (more than 117 # one request per connection). Set to "Off" to deactivate. 118 # 119 KeepAlive On 120 121 # 122 # MaxKeepAliveRequests: The maximum number of requests to allow 123 # during a persistent connection. Set to 0 to allow an unlimited amount. 124 # We recommend you leave this number high, for maximum performance. 125 # 126 MaxKeepAliveRequests 100 127 128 # 129 # KeepAliveTimeout: Number of seconds to wait for the next request from the 130 # same client on the same connection. 131 # 132 KeepAliveTimeout 15 133 134 # 135 # Server-pool size regulation. Rather than making you guess how many 136 # server processes you need, Apache dynamically adapts to the load it 137 # sees --- that is, it tries to maintain enough server processes to 138 # handle the current load, plus a few spare servers to handle transient 139 # load spikes (e.g., multiple simultaneous requests from a single 140 # Netscape browser). 141 # 142 # It does this by periodically checking how many servers are waiting 143 # for a request. If there are fewer than MinSpareServers, it creates 144 # a new spare. If there are more than MaxSpareServers, some of the 145 # spares die off. The default values are probably OK for most sites. 146 # 147 MinSpareServers 1 148 MaxSpareServers 2 149 150 # 151 # Number of servers to start initially --- should be a reasonable ballpark 152 # figure. 153 # 154 StartServers 1 155 156 # 157 # Limit on total number of servers running, i.e., limit on the number 158 # of clients who can simultaneously connect --- if this limit is ever 159 # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. 160 # It is intended mainly as a brake to keep a runaway server from taking 161 # the system with it as it spirals down... 162 # 163 MaxClients 150 164 165 # 166 # MaxRequestsPerChild: the number of requests each child process is 167 # allowed to process before the child dies. The child will exit so 168 # as to avoid problems after prolonged use when Apache (and maybe the 169 # libraries it uses) leak memory or other resources. On most systems, this 170 # isn't really needed, but a few (such as Solaris) do have notable leaks 171 # in the libraries. For these platforms, set to something like 10000 172 # or so; a setting of 0 means unlimited. 173 # 174 # NOTE: This value does not include keepalive requests after the initial 175 # request per connection. For example, if a child process handles 176 # an initial request and 10 subsequent "keptalive" requests, it 177 # would only count as 1 request towards this limit. 178 # 179 MaxRequestsPerChild 10 180 181 # 182 # Dynamic Shared Object (DSO) Support 183 # 184 # To be able to use the functionality of a module which was built as a DSO you 185 # have to place corresponding `LoadModule' lines at this location so the 186 # directives contained in it are actually available _before_ they are used. 187 # Please read the file http://httpd.apache.org/docs/dso.html for more 188 # details about the DSO mechanism and run `httpd -l' for the list of already 189 # built-in (statically linked and thus always available) modules in your httpd 190 # binary. 191 # 192 # Note: The order in which modules are loaded is important. Don't change 193 # the order below without expert advice. 194 # 195 LoadModule access_module libexec/mod_access.so 196 LoadModule alias_module libexec/mod_alias.so 197 LoadModule auth_module libexec/mod_auth.so 198 LoadModule mime_module libexec/mod_mime.so 199 LoadModule mime_magic_module libexec/mod_mime_magic.so 200 LoadModule ipp_module libexec/mod_ipp.so 201 202 # Reconstruction of the complete module list from all available modules 203 # (static and shared ones) to achieve correct module execution order. 204 # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] 205 ClearModuleList 206 AddModule mod_access.c 207 AddModule mod_alias.c 208 AddModule mod_auth.c 209 AddModule mod_mime.c 210 AddModule mod_mime_magic.c 211 AddModule mod_ipp.c 212 AddModule mod_so.c 213 214 ### Section 2: 'Main' server configuration 215 # 216 # The directives in this section set up the values used by the 'main' 217 # server, which responds to any requests that aren't handled by a 218 # <VirtualHost> definition. These values also provide defaults for 219 # any <VirtualHost> containers you may define later in the file. 220 # 221 # All of these directives may appear inside <VirtualHost> containers, 222 # in which case these default settings will be overridden for the 223 # virtual host being defined. 224 # 225 226 # 227 # If your ServerType directive (set earlier in the 'Global Environment' 228 # section) is set to "inetd", the next few directives don't have any 229 # effect since their settings are defined by the inetd configuration. 230 # Skip ahead to the ServerAdmin directive. 231 # 232 233 # 234 # Port: The port to which the standalone server listens. For 235 # ports < 1023, you will need httpd to be run as root initially. 236 # 237 Port 631 238 239 # 240 # If you wish httpd to run as a different user or group, you must run 241 # httpd as root initially and it will switch. 242 # 243 # User/Group: The name (or #number) of the user/group to run httpd as. 244 # . On SCO (ODT 3) use "User nouser" and "Group nogroup". 245 # . On HPUX you may not be able to use shared memory as nobody, and the 246 # suggested workaround is to create a user www and use that user. 247 # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) 248 # when the value of (unsigned)Group is above 60000; 249 # don't use Group nobody on these systems! 250 # 251 User lp 252 Group lp 253 254 # 255 # ServerAdmin: Your address, where problems with the server should be 256 # e-mailed. This address appears on some server-generated pages, such 257 # as error documents. 258 # 259 ServerAdmin lp@localhost 260 261 # 262 # ServerName allows you to set a host name which is sent back to clients for 263 # your server if it's different than the one the program would get (i.e., use 264 # "www" instead of the host's real name). 265 # 266 # Note: You cannot just invent host names and hope they work. The name you 267 # define here must be a valid DNS name for your host. If you don't understand 268 # this, ask your network administrator. 269 # If your host doesn't have a registered DNS name, enter its IP address here. 270 # You will have to access it by its address (e.g., http://123.45.67.89/) 271 # anyway, and this will make redirections work in a sensible way. 272 # 273 # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your 274 # machine always knows itself by this address. If you use Apache strictly for 275 # local testing and development, you may use 127.0.0.1 as the server name. 276 # 277 #Servername printserver.some_company.com 278 279 DefaultType application/ipp 280 281 ErrorLog /var/lp/logs/ipp-errors 282 LogLevel warn 283 284 DocumentRoot /var/lp/ipp-listener 285 286 # Allow passing PPD files from this service as well 287 Alias /etc/lp/ppd/ /etc/lp/ppd/ 288 <Directory /etc/lp/ppd> 289 SetHandler send-as-is 290 <LimitExcept GET> 291 Deny from all 292 </LimitExcept> 293 </Directory> 294 295 # mod_ipp specific configuration 296 <IfModule mod_ipp.c> 297 298 <Location /> 299 # ipp-conformance automatic # default 300 # ipp-default-user nobody 301 ipp-default-service lpsched 302 # 303 # By default, only turn on operations that are not 304 # likely to cause real problems when the user can't 305 # be trusted. 306 # 307 ipp-operation all off 308 ipp-operation print-job on 309 ipp-operation validate-job on 310 ipp-operation create-job on 311 ipp-operation get-jobs on 312 ipp-operation get-printer-attributes on 313 ipp-operation send-document on 314 ipp-operation cancel-job on 315 ipp-operation get-job-attributes on 316 ipp-operation cups-get-default on 317 ipp-operation cups-get-printers on 318 ipp-operation cups-get-classes on 319 ipp-operation cups-move-job on 320 321 # redirect non-IPP requests 322 ErrorDocument 404 /index.html 323 </Location> 324 325 <Location /admin> 326 # ipp-conformance automatic # default 327 # ipp-default-user nobody 328 ipp-default-service lpsched 329 330 ipp-operation all on 331 332 AuthType Basic 333 AuthName "IPP Server" 334 AuthUserFile /etc/ipp-users 335 Require valid-user 336 337 # redirect non-IPP requests 338 ErrorDocument 404 /index.html 339 </Location> 340 </IfModule> 341