Changeset 573

Show
Ignore:
Timestamp:
01/01/07 17:50:43 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r567 r573  
     12007-01-01  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/main_admin.c (config_server): Added getopt support and 
     4        two parameters: port (-r) and document_root (-d). The 
     5        configuration has been updated as well: switched from PHP to SCGI. 
     6 
    172006-12-30  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
    28 
  • cherokee/trunk/cherokee/main_admin.c

    r384 r573  
    2525#include "common-internal.h" 
    2626 
     27#ifdef HAVE_GETOPT_H 
     28# include <getopt.h> 
     29#endif 
     30 
    2731#include "virtual_server.h" 
    2832#include "server-protected.h" 
    2933#include "config_entry.h" 
    3034 
     35#define GETOPT_OPT           "d:p:" 
     36#define CONFIG_FILE_HELP     "[-r DIR] [-p PORT]" 
     37 
    3138#define DEFAULT_PORT         9090 
    3239#define DEFAULT_DOCUMENTROOT CHEROKEE_DATADIR "/admin/" 
     40 
     41static int   port          = DEFAULT_PORT; 
     42static char *document_root = DEFAULT_DOCUMENTROOT; 
    3343 
    3444 
     
    3949        cherokee_buffer_t buf = CHEROKEE_BUF_INIT; 
    4050 
    41         cherokee_buffer_add_va  (&buf, "server!port = %d\n", DEFAULT_PORT); 
     51        cherokee_buffer_add_va  (&buf, "server!port = %d\n", port); 
    4252        cherokee_buffer_add_str (&buf, "server!ipv6 = 0\n"); 
    4353        cherokee_buffer_add_str (&buf, "server!listen = 127.0.0.1\n"); 
    4454        cherokee_buffer_add_str (&buf, "server!max_connection_reuse = 0\n"); 
    4555 
    46         cherokee_buffer_add_va  (&buf, "vserver!default!document_root = %s\n", DEFAULT_DOCUMENTROOT); 
    47         cherokee_buffer_add_str (&buf, "vserver!default!directory_index = index.php\n"); 
    48         cherokee_buffer_add_str (&buf, "vserver!default!directory!/!handler = common\n"); 
    49         cherokee_buffer_add_str (&buf, "vserver!default!directory!/!priority = 1\n"); 
     56        cherokee_buffer_add_va  (&buf, "vserver!default!document_root = %s\n", document_root); 
    5057 
    5158        cherokee_buffer_add_str (&buf, "vserver!default!directory!/about!handler = server_info\n"); 
    5259        cherokee_buffer_add_str (&buf, "vserver!default!directory!/about!priority = 2\n"); 
    5360 
    54         cherokee_buffer_add_str (&buf, "vserver!default!extensions!php!handler = phpcgi\n"); 
    55         cherokee_buffer_add_str (&buf, "vserver!default!extensions!php!priority = 3\n"); 
     61        cherokee_buffer_add_str (&buf, "vserver!default!directory!/theme!handler = file\n"); 
     62        cherokee_buffer_add_str (&buf, "vserver!default!directory!/theme!priority = 3\n"); 
     63 
     64        cherokee_buffer_add_str (&buf, "vserver!default!directory!/yui!handler = file\n"); 
     65        cherokee_buffer_add_str (&buf, "vserver!default!directory!/yui!priority = 4\n"); 
     66 
     67        cherokee_buffer_add_str (&buf, "vserver!default!directory!/!handler = scgi\n"); 
     68        cherokee_buffer_add_str (&buf, "vserver!default!directory!/!handler!balancer = round_robin\n"); 
     69        cherokee_buffer_add_str (&buf, "vserver!default!directory!/!handler!balancer!type = interpreter\n"); 
     70        cherokee_buffer_add_str (&buf, "vserver!default!directory!/!handler!balancer!local1!host = localhost:4000\n"); 
     71        cherokee_buffer_add_str (&buf, "vserver!default!directory!/!priority = 1000\n"); 
     72 
     73        printf ("%s", buf.buf); 
    5674 
    5775        ret = cherokee_server_read_config_string (srv, &buf); 
     
    6381 
    6482 
     83static void 
     84process_parameters (int argc, char **argv) 
     85{ 
     86        int c; 
     87 
     88        while ((c = getopt(argc, argv, GETOPT_OPT)) != -1) { 
     89                switch(c) { 
     90                case 'p': 
     91                        port = atoi(optarg); 
     92                        break; 
     93                case 'd': 
     94                        document_root = strdup(optarg); 
     95                        break; 
     96                default: 
     97                        fprintf (stderr, "Usage: %s " CONFIG_FILE_HELP "\n", argv[0]); 
     98                        exit(1); 
     99                } 
     100        } 
     101} 
     102 
     103 
    65104int 
    66105main (int argc, char **argv) 
     
    68107        ret_t              ret; 
    69108        cherokee_server_t *srv; 
     109 
     110        process_parameters (argc, argv); 
    70111 
    71112        ret = cherokee_server_new (&srv);