Changeset 1776
- Timestamp:
- 08/11/08 18:49:45 (3 months ago)
- Files:
-
- cherokee/trunk/ChangeLog (modified) (1 diff)
- cherokee/trunk/cherokee/handler.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_server_info.c (modified) (6 diffs)
- cherokee/trunk/cherokee/logger.c (modified) (3 diffs)
- cherokee/trunk/cherokee/logger_ncsa.c (modified) (2 diffs)
- cherokee/trunk/doc/Makefile.am (modified) (1 diff)
- cherokee/trunk/doc/TOC.txt (modified) (1 diff)
- cherokee/trunk/doc/config_virtual_servers.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_balancers.txt (modified) (2 diffs)
- cherokee/trunk/doc/modules_handlers_admin.txt (added)
- cherokee/trunk/doc/modules_handlers_cgi.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_handlers_fcgi.txt (modified) (3 diffs)
- cherokee/trunk/doc/modules_handlers_mirror.txt (added)
- cherokee/trunk/doc/modules_handlers_scgi.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_handlers_server_info.txt (added)
- cherokee/trunk/doc/modules_loggers.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_loggers_combined.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_loggers_ncsa.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_loggers_w3c.txt (modified) (1 diff)
- cherokee/trunk/doc/modules_validators.txt (modified) (2 diffs)
- cherokee/trunk/doc/modules_validators_pam.txt (modified) (1 diff)
- cherokee/trunk/doc/other_goodies.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee/trunk/ChangeLog
r1773 r1776 1 2008-08-11 Taher Shihadeh <taher@unixwars.com> 2 3 * doc/config_virtual_servers.txt, doc/modules_balancers.txt, 4 doc/modules_handlers_admin.txt, doc/modules_handlers_cgi.txt, 5 doc/modules_handlers_fcgi.txt, doc/modules_handlers_mirror.txt, 6 doc/modules_handlers_scgi.txt, 7 doc/modules_handlers_server_info.txt, 8 doc/modules_loggers_combined.txt, doc/modules_loggers_ncsa.txt, 9 doc/modules_loggers.txt, doc/modules_loggers_w3c.txt, 10 doc/modules_validators_pam.txt, doc/modules_validators.txt, 11 doc/other_goodies.txt: several modifications and six new files 12 added. 13 1 14 2008-08-08 Taher Shihadeh <taher@unixwars.com> 2 15 cherokee/trunk/cherokee/handler.c
r1131 r1776 52 52 53 53 54 /* Virtual method hid ding layer54 /* Virtual method hiding layer 55 55 */ 56 56 cherokee/trunk/cherokee/handler_server_info.c
r1654 r1776 97 97 "</td></tr>" CRLF\ 98 98 "</table><br />" CRLF\ 99 "</div></body></html>" 99 "</div></body></html>" 100 100 101 101 … … 126 126 127 127 cherokee_module_props_init_base (MODULE_PROPS(n), 128 MODULE_PROPS_FREE(props_free)); 128 MODULE_PROPS_FREE(props_free)); 129 129 n->just_about = false; 130 130 n->connection_details = false; … … 196 196 hours = elapse / (60*60); 197 197 elapse %= (60*60); 198 198 199 199 mins = elapse / 60; 200 200 elapse %= 60; … … 212 212 cherokee_buffer_add_va (tmp, "%d Seconds", elapse); 213 213 } 214 214 215 215 table_add_row_str (buf, "Uptime", tmp->buf); 216 216 cherokee_buffer_free (tmp); … … 222 222 size_t rx, tx; 223 223 cherokee_buffer_t tmp = CHEROKEE_BUF_INIT; 224 224 225 225 cherokee_server_get_total_traffic (srv, &rx, &tx); 226 226 227 227 cherokee_buffer_add_fsize (&tmp, tx); 228 228 table_add_row_buf (buf, "Data sent", &tmp); … … 276 276 cuint_t active = 0; 277 277 cuint_t reusable = 0; 278 278 279 279 cherokee_server_get_conns_num (srv, &conns_num); 280 280 cherokee_server_get_active_conns (srv, &active); cherokee/trunk/cherokee/logger.c
r1693 r1776 66 66 67 67 68 /* Virtual method hid ding layer68 /* Virtual method hiding layer 69 69 */ 70 70 ret_t … … 118 118 return init_func (logger); 119 119 } 120 120 121 121 return ret_error; 122 122 } … … 133 133 CHEROKEE_MUTEX_UNLOCK (&PRIV(logger)->mutex); 134 134 } 135 136 return ret; 137 } 138 139 140 ret_t 135 136 return ret; 137 } 138 139 140 ret_t 141 141 cherokee_logger_write_error (cherokee_logger_t *logger, void *conn) 142 142 { cherokee/trunk/cherokee/logger_ncsa.c
r1131 r1776 75 75 ret_t ret; 76 76 CHEROKEE_NEW_STRUCT (n, logger_ncsa); 77 77 78 78 /* Init the base class object 79 79 */ … … 82 82 MODULE(n)->init = (logger_func_init_t) cherokee_logger_ncsa_init; 83 83 MODULE(n)->free = (logger_func_free_t) cherokee_logger_ncsa_free; 84 84 85 85 LOGGER(n)->flush = (logger_func_flush_t) cherokee_logger_ncsa_flush; 86 86 LOGGER(n)->reopen = (logger_func_reopen_t) cherokee_logger_ncsa_reopen; cherokee/trunk/doc/Makefile.am
r1773 r1776 57 57 modules_handlers_redir.html \ 58 58 modules_handlers_cgi.html \ 59 modules_handlers_ cgi.html \59 modules_handlers_fcgi.html \ 60 60 modules_handlers_scgi.html \ 61 modules_handlers_server_info.html \ 62 modules_handlers_mirror.html \ 63 modules_handlers_admin.html \ 61 64 modules_loggers.html \ 62 65 modules_loggers_combined.html \ cherokee/trunk/doc/TOC.txt
r1773 r1776 72 72 - link:modules_handlers_redir.html[Redirection] 73 73 - link:modules_handlers_cgi.html[CGI] 74 //// 75 - FastCGI [20] link:modules_handlers_fcgi.html[] 76 - SCGI [23] link:modules_handlers_scgi.html[] 77 - Server Info link:modules_handlers_server_info.html[] 78 - Generic balancer link:modules_handlers_mirror.html[] 79 - Remote Administration link:modules_handlers_admin.html[] 74 - link:modules_handlers_fcgi.html[FastCGI] 75 - link:modules_handlers_scgi.html[SCGI] 76 - link:modules_handlers_server_info.html[Server Info] 77 - link:modules_handlers_mirror.html[Generic balancer] 78 - link:modules_handlers_admin.html[Remote Administration] 80 79 . link:modules_loggers.html[Loggers] 81 - combined [16.1] link:modules_loggers_combined.html[]82 - ncsa [16.2] link:modules_loggers_ncsa.html[]83 - w3c [16.3] link:modules_loggers_w3c.html[]80 - link:modules_loggers_combined.html[Combined] 81 - link:modules_loggers_ncsa.html[Common (NCSA)] 82 - link:modules_loggers_w3c.html[w3c] 84 83 . link:modules_validators.html[Validators] 84 ////// 85 85 - htdigest [7.2] link:modules_validators_htdigest.html[htdigest] 86 86 - htpasswd [7.1] link:modules_validators_htpasswd.html[htpasswd] 87 87 - ldap [7.1] link:modules_validators_ldap.html[LDAP] 88 88 - mysql [7.3] link:modules_validators_mysql.html[MySQL] 89 - pam [7.4]link:modules_validators_pam.html[PAM]89 - link:modules_validators_pam.html[PAM] 90 90 - plain [7.5] link:modules_validators_plain.html[Plain] 91 //// 91 ////// 92 92 93 93 ********************************* cherokee/trunk/doc/config_virtual_servers.txt
r1765 r1776 184 184 rule, and more selections can be added in further steps. 185 185 186 It is very important to know that these rules are prioritized , the186 It is very important to know that these rules are prioritized. The 187 187 higher its priority is, the sooner they are checked. You could 188 188 think of a network routing table, it is quite similar. You can set the 189 189 relative priorities among the rules by simply dragging and dropping 190 them in the desired position. 190 them in the desired position (if you click on the rule name, you will be 191 redirected to the rule's configuration options; if you click anywhere 192 else, you will be able to drag and drop it into the desired position). 191 193 192 194 image::media/images/admin_behaviour.png[Virtual server] cherokee/trunk/doc/modules_balancers.txt
r1773 r1776 2 2 ------------------ 3 3 4 This type of Cherokee modules allow to balance the load among several 5 servers. Cherokee is completely modular, which means that the same 6 balancing strategies can be implemented both directly as first level 4 These Cherokee modules allow to balance the load among several 5 servers. Cherokee is completely modular, and thus a distinction must 6 be made clear. 7 8 Balancer modules only implement the balancing strategy. To actually 9 use one of these strategies you will need to select a 10 link:modules_handlers.html[handler] that makes use of balancers in the 11 link:bundle_cherokee-admin.html[cherokee-admin] interface. Besides 12 this, balancing strategies can be utilized both directly within first level 7 13 Cherokee handlers and as second level subsystems used by other first 8 level handlers. 9 10 This is the case ofthe link:modules_handlers_fcgi.html[FastCGI] or14 level handlers. The link:modules_handlers_mirror.html[Generic 15 balancer] handler is an example of the former, while the latter would 16 be the case for the link:modules_handlers_fcgi.html[FastCGI] or 11 17 link:modules_handlers_scgi.html[SCGI] handlers that can offer load 12 18 balancing as well. 13 19 14 The balancer modules are selected in 15 link:bundle_cherokee-admin.html[cherokee-admin] as `Generic balancing` 16 handlers, that can be chosen within the 20 These handlers can be chosen within the 17 21 `Handler` tab of the link:config_virtual_servers_rule.html[Rule 18 22 Options] section. … … 45 49 46 50 * link:modules_balancers_round_robin.html[Round Robin] 51 52 And these are the handlers that use balancing: 53 54 * link:modules_handlers_fcgi.html[FastCGI] 55 * link:modules_handlers_scgi.html[SCGI] 56 * link:modules_handlers_mirror.html[Generic balancer] cherokee/trunk/doc/modules_handlers_cgi.txt
r1773 r1776 18 18 Change to UID , String , Executes each CGI under its owner's user ID. 19 19 Error handler , Boolean , Use CGI output as error message. 20 Check file , Boolean , Check if the file exists.20 Check file , Boolean , Check whether the file exists to build PATH_INFO. 21 21 Pass request , Boolean , Pass request headers. 22 22 Allow X-Sendfile , Boolean , Use the non-standard X-Sendfile header. cherokee/trunk/doc/modules_handlers_fcgi.txt
r1773 r1776 2 2 ---------------- 3 3 4 The fcgi handler queries to [FastCGI] servers, such as PHP, Ruby on 5 Rails or Django in order to get the request response. It is basically 6 the same thing as CGI but *much faster*. 4 The fcgi handler makes queries to *FastCGI* servers, such as PHP, Ruby 5 on Rails or Django in order to get the request response. FastCGI is 6 scalable and language independent enhancement to CGI that provides 7 high performance without limitations of server specific APIs and 8 reduced overhead. It is basically the same thing as CGI but *much 9 faster*. 7 10 8 This module accepts all the general link:modules_handlers_cgi.html[CGI] parameters. Aside, 9 it needs a balancer to be configured. It is the piece of configuration that 11 This module accepts all the general 12 link:modules_handlers_cgi.html[CGI] parameters. Aside, it needs a 13 balancer to be configured. It is the piece of configuration that 10 14 points the handler where to find the FastCGI servers. 11 15 12 16 For most of the cases there will be only one FastCGI server though. In 13 that scenario the way is to configure the handler to use a14 link: ../balancers/round_robin.html[Round Robin] balancer and configure17 that scenario the way to go would be to configure the handler to use a 18 link:modules_balancers_round_robin.html[Round Robin] balancer and configure 15 19 a single host or interpreter (it has no performance penalty). 16 17 20 18 21 19 22 Parameters 20 23 ~~~~~~~~~~ 24 25 The options common to link:modules_handlers_cgi.html[CGI] are: 26 21 27 [grid="rows"] 22 ```~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23 Parameters , Type , Description 24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 Script Alias , String , It defines a kind of execution interpreter 26 Change to UID , String , It interprets each CGI as it owner user 27 Error handler , Boolean , Use CGI output as error message 28 Check file , Boolean , Checks whether the target exists for \ 29 building the PATH_INFO 30 Pass request , Boolean , Pass the all the special headers of the \ 31 client request 32 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 `~~~~~~~~~~~~~~~~`~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 Parameters , Type , Description 30 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 Script Alias , String , It defines a kind of execution interpreter. \ 32 The CGI will be run as a parameter of this \ 33 script. 34 Change to UID , String , Executes each CGI under its owner's user ID. 35 Error handler , Boolean , Use CGI output as error message. 36 Check file , Boolean , Check whether the file exists to build PATH_INFO. 37 Pass request , Boolean , Pass request headers. 38 Allow X-Sendfile , Boolean , Use the non-standard X-Sendfile header. 39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 40 41 To setup the balancing options read the 42 link:modules_balancers.html[Balancers] section for general information 43 and the link:modules_balancers_round_robin.html[Round robin] section 44 for specifics. 34 45 35 46 Examples 36 47 ~~~~~~~~ 37 This example shows a typical usage of FastCGI. It connects to a FastCGI server located 38 in localhost in port 8002. If no server is running, the webserver will run the FastCGI 39 server by issuing command defined in Interpreter sub-parameter: 48 This example shows a typical usage of FastCGI. It connects to a 49 FastCGI server located in localhost in port 8002. If no server is 50 running, the webserver will run the FastCGI server by issuing the command 51 defined as the *Interpreter* sub-parameter: 40 52 41 53 image::media/images/admin_handler_fastcgi1.png[Fastcgi] 42 54 43 This example shows a typical usage of multiple FastCGI servers. It connects to a 44 FastCGI servers located in several locations. If no server is running in the local 45 computer, the webserver will run the FastCGI server by issuing command defined in 46 Interpreter sub-parameter. Note that for remote FastCGI servers, you are responsible 47 to run the FastCGI servers there manually: 55 This example shows a typical usage of multiple FastCGI servers. It 56 connects to FastCGI servers located in several locations. If no 57 server is running in the local computer, the webserver will run the 58 FastCGI server by issuing the specified command. Note that for remote 59 FastCGI servers, you are responsible to run the FastCGI servers there 60 manually: 48 61 49 62 image::media/images/admin_handler_fastcgi2.png[Fastcgi] … … 58 71 59 72 If you define **PHP_FCGI_MAX_REQUESTS**, the value should be negative 60 so that PHP would take the request as much as possible. If you leftit73 so that PHP would take as many requests as possible. If you leave it 61 74 unset, PHP will take the default value (500) and your 500th request 62 will be rejected and FCGI handler will spew Error 500 (Internal server63 error) for it.75 will be rejected and the FCGI handler will return an Error 500 76 (Internal server error) for it. 64 77 65 78 … … 67 80 ~~~~~~~~~~~~~~~~~~~ 68 81 69 70 There a are two handler implementing the FastCGI protocol: "fcgi" and 71 "fastcgi". 82 There a are two handlers currently implementing the FastCGI protocol: 83 "fcgi" and "fastcgi". 72 84 73 85 The "fastcgi" module also implements the FastCGI protocol. It is a 74 86 more complete implementation than "fcgi" although it is also more 75 complex. Actually, fcgi bec ome the standard choice because the PHP76 interpreter was kind of buggy when it hadto demultiplex multiple87 complex. Actually, fcgi became the standard choice because the PHP 88 interpreter kind of buggy when it has to demultiplex multiple 77 89 requests from the same socket. 78 90 79 The "fastcgi" handler will eventually become the default option .80 However, at the moment "fcgi" is a better option. 81 91 The "fastcgi" handler will eventually become the default option 92 because it is faster and more standard-compliant. However, at the 93 moment "fcgi" is a better option. cherokee/trunk/doc/modules_handlers_scgi.txt
r1647 r1776 2 2 ------------- 3 3 4 The scgi handler allow Cherokee to communicate with SCGI programs. 4 The `scgi handler` allows Cherokee to communicate with SCGI programs. 5 The configuration parameters are exactly the same from the 6 link:modules_handlers_fcgi.html[FastCGI], so check that section of the 7 documentation if you want to set up this handler. 8 9 The Simple Common Gateway Interface 10 (link:http://python.ca/scgi/protocol.txt[SCGI]) protocol is a project 11 to replace CGI and FastCGI with a simpler protocol to both implement 12 and manage. 13 14 In the end SCGI offers the same performance as FastCGI (and better 15 than other methods), offers cross platform simultaneous support and is 16 simple to install, run, and configure. 17 18 It also supports simplified clustering on most POSIX systems for that 19 extra boost in concurrency, but whether you use it or not will be 20 mostly determined by your personal taste and experience. cherokee/trunk/doc/modules_loggers.txt
r1773 r1776 16 16 * Execute program: send the log entry to the specified program. 17 17 18 Cherokee currently supports the following loggers: 18 The format of the output and fields that actually are logged are 19 solely determined by the logger chosen. Cherokee currently supports 20 the following loggers: 19 21 20 22 * link:modules_loggers_combined.html[Combined]: Apache compatible. *Recommended*. cherokee/trunk/doc/modules_loggers_combined.txt
r1647 r1776 1 Combined2 ~~~~~~~~ 1 Logger: Combined 2 ~~~~~~~~~~~~~~~~ 3 3 4 To be written 4 This logger produces logfiles that conform to the _Combined Log 5 Format_. It is commonly used by many programs, being the standard 6 format used by Apache. This is a *de facto standard* and is the most 7 widely used. As such, you are encouraged to use it. 5 8 9 10 This format is exactly the same as the 11 link:modules_loggers_ncsa.html[Common Log Format], with two extra 12 fields. 13 14 ---- 15 host rfc931 username date:time request statuscode bytes referrer user_agent 16 ---- 17 18 Here is an example: 19 20 **** 21 ::ffff:127.0.0.1 - - [11/Aug/2008:16:17:58 +0000] "GET /index.html HTTP/1.1" 200 2633 "-" "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1" 22 **** 23 24 The description of the aditional fields follows. 25 Refer to the link:modules_loggers_ncsa.html[Common Log 26 Format]documentation for information about the rest of the fields. 27 28 29 *referrer* ("-") :: 30 This is the "Referer" HTTP request header. This indicates the URL 31 which linked the user to your site (as reported by the client). In 32 this case it is empty because no referer exists (i.e. it is a direct 33 hit). 34 35 36 *user_agent* ("Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1") :: 37 The User-Agent HTTP request header. This is the information reported 38 by the client about itself. cherokee/trunk/doc/modules_loggers_ncsa.txt
r1647 r1776 1 1 NCSA 2 2 ~~~~ 3 Also known as the _Common log format_ (*CLF*). This is a standard 4 format produced by many web servers and read by many log analysis 5 tools. Some of the fields specified by the format might actually be 6 missing if the information that should be logged is not present. These 7 fields will simply be replaced by "hyphens" ("-"), which is the 8 standard behavior. 3 9 4 To be written5 10 11 This log format contains only basic HTTP access information: the 12 requested resource and a few other pieces of information, but does not 13 contain referral, user agent, or cookie information. 14 15 The fields in the Common log file format are: 16 ---- 17 host rfc1413 username date:time request statuscode bytes 18 ---- 19 20 A log file produced by this logger will look more or less like this: 21 22 **** 23 ::ffff:127.0.0.1 - - [11/Aug/2008:16:17:58 +0000] "GET /index.html HTTP/1.1" 200 2633 24 **** 25 26 Each field of this log entry is described below. 27 28 29 *host* (::ffff:127.0.0.1) :: 30 This is the remote host's IP (the client IP) or host/subdomain. It 31 corresponds to the address of the device requesting the 32 information. If a proxy sever exists between the user and the server, 33 this address will correspond to the proxy instead of the machine 34 actually requesting data. 35 36 37 *rfc1413* (-) :: 38 Missing piece of information. In this case it is the RFC 1413 identity 39 of the client determined by identd on the clients machine, which is 40 highly unreliable and should not be trusted anyway. 41 42 43 *user* (-) :: 44 This is the username or UID of the person requesting the document as 45 determined by HTTP authentication. Since the document is not password 46 protected, it is not present in this case. If it is present, the value 47 should not be trusted until the user is actually authenticated. 48 49 50 *date:time timezone* ([11/Aug/2008:14:18:14 +0000]) :: 51 The time when the server processed the request. The format is: 52 ++++ 53 [day/month/year:hour:minute:second zone] 54 ++++ 55 + 56 - day = 2*digit 57 - month = 3*letter 58 - year = 4*digit 59 - hour = 2*digit 60 - minute = 2*digit 61 - second = 2*digit 62 - zone = (`+' | `-') 4*digit 63 64 65 *request*"GET /index.html HTTP/1.1" :: 66 The request from the client is given in double quotes, and contains 67 the method used by the client (GET), the requested resource 68 (/index.html) and the protocol (HTTP/1.1). 69 70 71 200 :: 72 Status code sent back to the client. In this case it indicates a 73 successful response. The full list of possible status codes can be 74 found in the HTTP specification 75 (link:http://www.ietf.org/rfc/rfc2616.txt[RFC2616], section 10). 76 77 78 2633 :: 79 The last entry is the size returned to the client excluding the 80 response headers. This will be "-" if no content is returned. To log "0" for no content, use %B instead. cherokee/trunk/doc/modules_loggers_w3c.txt
r1647 r1776 1 W3C2 ~~~ 1 Logger: W3C 2 ~~~~~~~~~~~ 3 3 4 To be written 4 This logger produces logfiles conformant to the World Wide Web 5 Consortium standard. This standard defines lines that may contain 6 either a directive or an entry. 5 7 8 . Entries contain fields relating to a single HTTP transaction, 9 separated by white spaces. Unused fields in any particular entry will 10 simply be replace by hyphens ("-"). 11 . Directives register information about the logging process. If a line 12 starts with the '#' character, it contains a directive. The ones of 13 interest for Cherokee are: 14 + 15 ---- 16 Version: <integer>.<integer>:: 17 The version of the extended log file format used (1.0 in our case). 18 Date:<date> <time>:: 19 The date and time at which the entry was added. 20 Fields: [<specifier>...]:: 21 lists a sequence of field identifiers specifying the information recorded in each entry. 22 ---- 23 24 An example of log file in this format is this: 25 26 **** 27 #Version: 1.0 28 #Date: 11-Aug-2008 17:17:58 29 #Fields: time cs-method cs-uri 30 17:17:58 GET /index.html 31 **** cherokee/trunk/doc/modules_validators.txt
r1773 r1776 12 12 13 13 Depending on the complexity of the mechanism you will have to provide 14 more or less information. Here is an example of a simple validator 15 interface: 14 more or less information. 15 16 You will always have to provide a *Relam*, which is a name to 17 associate with the authenticated resource. 18 You will also have permanently the option to provide a list of *allowed 19 users*, regardless of the validator chosen. 20 21 It is important to take into consideration that there are two different 22 authentication mechanisms: 23 24 * Basic 25 * Digest 26 27 Some can only handle one of those mechanisms because of techical 28 limitations. In case the module supports both of them, the interface 29 allows to choose whether one or both are to be used. 30 31 Here is an interface example from a simple validator: 16 32 17 33 image::media/images/admin_validators_pam.png[Validator PAM] … … 29 45 * link:modules_validators_plain.html[Plain] 30 46 47 When you set up an authentication mechanism you must remember this: 48 define a rule, configure its *security* section, adjust the priority 49 of this rule, and last, do not flag the rule as `Final` unless you are 50 sure you don't want your request to match other rules. 51 52 A frequent mistake is to define a rule for authenticated resources 53 with no configured handler, mark it as `Final` and set it on top of 54 the priority list. This might prompt for authentication, but being a 55 `Final` rule will always deliver a failure because no handler copes 56 with the request. cherokee/trunk/doc/modules_validators_pam.txt
r1647 r1776 20 20 image::media/images/admin_validators_pam.png[Validator PAM] 21 21 22 Requires a valid user and password system pair to access the protected 23 directory. It will be available for all local users. 22 Requires a valid user and password system pair to access the protected 23 directory. It will be available for all local users, unless a 24 restriction list is provided. 24 25 25 26 ---- 26 vserver!default!directory!/secret! 27 vserver!10!rule!500!auth = pam 28 vserver!10!rule!500!auth!methods = basic 29 vserver!10!rule!500!auth!realm = secret 27 30 ---- cherokee/trunk/doc/other_goodies.txt
r1774 r1776 3 3 4 4 There are several important but mostly unknown features of Cherokee 5 that really do make a difference out in the wild, in a real production 6 environment. 5 that really do make a difference in real-world production environments. 7 6 8 7 [x-sendifle] 9 8 X-Sendfile 10 9 ~~~~~~~~~~ … … 33 32 34 33 34 [zero-downtime] 35 35 Zero Downtime Update 36 36 ~~~~~~~~~~~~~~~~~~~~