--sysconfdir=DIR
Igor Sysoev
15 years ago
66 | 66 | |
67 | 67 | have=NGX_PREFIX value="\"$NGX_PREFIX/\"" . auto/define |
68 | 68 | have=NGX_SBIN_PATH value="\"$NGX_SBIN_PATH\"" . auto/define |
69 | have=NGX_CONF_PREFIX value="\"$NGX_CONF_PREFIX/\"" . auto/define | |
69 | 70 | have=NGX_CONF_PATH value="\"$NGX_CONF_PATH\"" . auto/define |
70 | 71 | have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define |
71 | 72 | have=NGX_LOCK_PATH value="\"$NGX_LOCK_PATH\"" . auto/define |
25 | 25 | test ! -f '$NGX_SBIN_PATH' || mv '$NGX_SBIN_PATH' '$NGX_SBIN_PATH.old' |
26 | 26 | cp $NGX_OBJS/nginx '$NGX_SBIN_PATH' |
27 | 27 | |
28 | test -d '`dirname "$NGX_CONF_PATH"`' \ | |
29 | || mkdir -p '`dirname "$NGX_CONF_PATH"`' | |
28 | test -d '$NGX_CONF_PREFIX' || mkdir -p '$NGX_CONF_PREFIX' | |
30 | 29 | |
31 | cp conf/koi-win '`dirname "$NGX_CONF_PATH"`' | |
32 | cp conf/koi-utf '`dirname "$NGX_CONF_PATH"`' | |
33 | cp conf/win-utf '`dirname "$NGX_CONF_PATH"`' | |
30 | cp conf/koi-win '$NGX_CONF_PREFIX' | |
31 | cp conf/koi-utf '$NGX_CONF_PREFIX' | |
32 | cp conf/win-utf '$NGX_CONF_PREFIX' | |
34 | 33 | |
35 | test -f '`dirname "$NGX_CONF_PATH"`/mime.types' || \ | |
36 | cp conf/mime.types '`dirname "$NGX_CONF_PATH"`/mime.types' | |
37 | cp conf/mime.types '`dirname "$NGX_CONF_PATH"`/mime.types.default' | |
34 | test -f '$NGX_CONF_PREFIX/mime.types' \ | |
35 | || cp conf/mime.types '$NGX_CONF_PREFIX' | |
36 | cp conf/mime.types '$NGX_CONF_PATH/mime.types.default' | |
38 | 37 | |
39 | test -f '$NGX_CONF_PATH' || cp conf/nginx.conf '$NGX_CONF_PATH' | |
40 | cp conf/nginx.conf '`dirname "$NGX_CONF_PATH"`/nginx.conf.default' | |
38 | test -f '$NGX_CONF_PREFIX/fastcgi_params' \ | |
39 | || cp conf/fastcgi_params '$NGX_CONF_PREFIX' | |
40 | cp conf/fastcgi_params '$NGX_CONF_PATH/fastcgi_params.default' | |
41 | ||
42 | test -f '$NGX_CONF_PATH' || cp conf/nginx.conf '$NGX_CONF_PREFIX' | |
43 | cp conf/nginx.conf '$NGX_CONF_PREFIX/nginx.conf.default' | |
41 | 44 | |
42 | 45 | test -d '`dirname "$NGX_PID_PATH"`' \ |
43 | 46 | || mkdir -p '`dirname "$NGX_PID_PATH"`' |
5 | 5 | |
6 | 6 | NGX_PREFIX= |
7 | 7 | NGX_SBIN_PATH= |
8 | NGX_CONF_PREFIX= | |
8 | 9 | NGX_CONF_PATH= |
9 | 10 | NGX_ERROR_LOG_PATH= |
10 | 11 | NGX_PID_PATH= |
122 | 123 | |
123 | 124 | --prefix=*) NGX_PREFIX="$value" ;; |
124 | 125 | --sbin-path=*) NGX_SBIN_PATH="$value" ;; |
126 | --sysconfdir=*) NGX_CONF_PREFIX="$value" ;; | |
125 | 127 | --conf-path=*) NGX_CONF_PATH="$value" ;; |
126 | 128 | --error-log-path=*) NGX_ERROR_LOG_PATH="$value";; |
127 | 129 | --pid-path=*) NGX_PID_PATH="$value" ;; |
239 | 241 | |
240 | 242 | --prefix=PATH set the installation prefix |
241 | 243 | --sbin-path=PATH set path to the nginx binary file |
244 | --sysconfdir=PATH set the configuration prefix | |
242 | 245 | --conf-path=PATH set path to the nginx.conf file |
243 | 246 | --error-log-path=PATH set path to the error log |
244 | 247 | --pid-path=PATH set path to nginx.pid file |
359 | 362 | |
360 | 363 | |
361 | 364 | NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx} |
365 | NGX_CONF_PREFIX=${NGX_CONF_PREFIX:-$NGX_PREFIX} | |
362 | 366 | |
363 | 367 | |
364 | 368 | case ".$NGX_SBIN_PATH" in |
380 | 384 | ;; |
381 | 385 | |
382 | 386 | .) |
383 | NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf | |
384 | ;; | |
385 | ||
386 | *) | |
387 | NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH | |
387 | NGX_CONF_PATH=$NGX_CONF_PREFIX/conf/nginx.conf | |
388 | ;; | |
389 | ||
390 | *) | |
391 | NGX_CONF_PATH=$NGX_CONF_PREFIX/$NGX_CONF_PATH | |
388 | 392 | ;; |
389 | 393 | esac |
390 | 394 |
147 | 147 | cat << END |
148 | 148 | nginx path prefix: "$NGX_PREFIX" |
149 | 149 | nginx binary file: "$NGX_SBIN_PATH" |
150 | nginx configuration prefix: "$NGX_CONF_PREFIX" | |
150 | 151 | nginx configuration file: "$NGX_CONF_PATH" |
151 | 152 | nginx pid file: "$NGX_PID_PATH" |
152 | 153 | END |
655 | 655 | cycle->conf_file.data = (u_char *) NGX_CONF_PATH; |
656 | 656 | } |
657 | 657 | |
658 | if (ngx_conf_full_name(cycle, &cycle->conf_file) == NGX_ERROR) { | |
658 | if (ngx_conf_full_name(cycle, &cycle->conf_file, 1) == NGX_ERROR) { | |
659 | 659 | return NGX_ERROR; |
660 | 660 | } |
661 | 661 | |
825 | 825 | ccf->pid.data = (u_char *) NGX_PID_PATH; |
826 | 826 | } |
827 | 827 | |
828 | if (ngx_conf_full_name(cycle, &ccf->pid) == NGX_ERROR) { | |
828 | if (ngx_conf_full_name(cycle, &ccf->pid, 0) == NGX_ERROR) { | |
829 | 829 | return NGX_CONF_ERROR; |
830 | 830 | } |
831 | 831 | |
845 | 845 | ccf->lock_file.data = (u_char *) NGX_LOCK_PATH; |
846 | 846 | } |
847 | 847 | |
848 | if (ngx_conf_full_name(cycle, &ccf->lock_file) == NGX_ERROR) { | |
848 | if (ngx_conf_full_name(cycle, &ccf->lock_file, 0) == NGX_ERROR) { | |
849 | 849 | return NGX_CONF_ERROR; |
850 | 850 | } |
851 | 851 |
640 | 640 | |
641 | 641 | ngx_log_debug1(NGX_LOG_DEBUG_CORE, cf->log, 0, "include %s", file.data); |
642 | 642 | |
643 | if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR) { | |
643 | if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR) { | |
644 | 644 | return NGX_CONF_ERROR; |
645 | 645 | } |
646 | 646 | |
680 | 680 | |
681 | 681 | |
682 | 682 | ngx_int_t |
683 | ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name) | |
684 | { | |
685 | u_char *p; | |
683 | ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name, ngx_uint_t conf_prefix) | |
684 | { | |
685 | size_t len; | |
686 | u_char *p, *prefix; | |
686 | 687 | ngx_str_t old; |
687 | 688 | |
688 | 689 | if (name->data[0] == '/') { |
703 | 704 | |
704 | 705 | old = *name; |
705 | 706 | |
706 | name->len = cycle->root.len + old.len; | |
707 | ||
707 | if (conf_prefix) { | |
708 | len = sizeof(NGX_CONF_PREFIX) - 1; | |
709 | prefix = (u_char *) NGX_CONF_PREFIX; | |
710 | ||
711 | } else { | |
712 | len = cycle->root.len; | |
713 | prefix = cycle->root.data; | |
714 | } | |
715 | ||
716 | name->len = len + old.len; | |
708 | 717 | name->data = ngx_palloc(cycle->pool, name->len + 1); |
709 | 718 | if (name->data == NULL) { |
710 | 719 | return NGX_ERROR; |
711 | 720 | } |
712 | 721 | |
713 | p = ngx_cpymem(name->data, cycle->root.data, cycle->root.len), | |
722 | p = ngx_cpymem(name->data, prefix, len); | |
714 | 723 | ngx_cpystrn(p, old.data, old.len + 1); |
715 | 724 | |
716 | 725 | return NGX_OK; |
733 | 742 | if (name) { |
734 | 743 | full = *name; |
735 | 744 | |
736 | if (ngx_conf_full_name(cycle, &full) == NGX_ERROR) { | |
745 | if (ngx_conf_full_name(cycle, &full, 0) == NGX_ERROR) { | |
737 | 746 | return NULL; |
738 | 747 | } |
739 | 748 |
319 | 319 | char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename); |
320 | 320 | |
321 | 321 | |
322 | ngx_int_t ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name); | |
322 | ngx_int_t ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name, | |
323 | ngx_uint_t conf_prefix); | |
323 | 324 | ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name); |
324 | 325 | void ngx_cdecl ngx_conf_log_error(ngx_uint_t level, ngx_conf_t *cf, |
325 | 326 | ngx_err_t err, char *fmt, ...); |
259 | 259 | path->name.len--; |
260 | 260 | } |
261 | 261 | |
262 | if (ngx_conf_full_name(cf->cycle, &path->name) == NGX_ERROR) { | |
262 | if (ngx_conf_full_name(cf->cycle, &path->name, 0) == NGX_ERROR) { | |
263 | 263 | return NULL; |
264 | 264 | } |
265 | 265 |
108 | 108 | curr->name.len = sizeof(path) - 1; \ |
109 | 109 | curr->name.data = (u_char *) path; \ |
110 | 110 | \ |
111 | if (ngx_conf_full_name(cf->cycle, &curr->name) == NGX_ERROR) { \ | |
111 | if (ngx_conf_full_name(cf->cycle, &curr->name, 0) == NGX_ERROR) { \ | |
112 | 112 | return NGX_CONF_ERROR; \ |
113 | 113 | } \ |
114 | 114 | \ |
332 | 332 | } else { |
333 | 333 | cf->cycle->new_log->file->name = value[1]; |
334 | 334 | |
335 | if (ngx_conf_full_name(cf->cycle, &cf->cycle->new_log->file->name) | |
335 | if (ngx_conf_full_name(cf->cycle, &cf->cycle->new_log->file->name, 0) | |
336 | 336 | == NGX_ERROR) |
337 | 337 | { |
338 | 338 | return NGX_CONF_ERROR; |
197 | 197 | ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, |
198 | 198 | ngx_str_t *key) |
199 | 199 | { |
200 | if (ngx_conf_full_name(cf->cycle, cert) == NGX_ERROR) { | |
200 | if (ngx_conf_full_name(cf->cycle, cert, 1) == NGX_ERROR) { | |
201 | 201 | return NGX_ERROR; |
202 | 202 | } |
203 | 203 | |
210 | 210 | return NGX_ERROR; |
211 | 211 | } |
212 | 212 | |
213 | if (ngx_conf_full_name(cf->cycle, key) == NGX_ERROR) { | |
213 | if (ngx_conf_full_name(cf->cycle, key, 1) == NGX_ERROR) { | |
214 | 214 | return NGX_ERROR; |
215 | 215 | } |
216 | 216 | |
241 | 241 | return NGX_OK; |
242 | 242 | } |
243 | 243 | |
244 | if (ngx_conf_full_name(cf->cycle, cert) == NGX_ERROR) { | |
244 | if (ngx_conf_full_name(cf->cycle, cert, 1) == NGX_ERROR) { | |
245 | 245 | return NGX_ERROR; |
246 | 246 | } |
247 | 247 |
351 | 351 | } |
352 | 352 | |
353 | 353 | if (conf->user_file.data) { |
354 | if (ngx_conf_full_name(cf->cycle, &conf->user_file) != NGX_OK) { | |
354 | if (ngx_conf_full_name(cf->cycle, &conf->user_file, 1) != NGX_OK) { | |
355 | 355 | return NGX_CONF_ERROR; |
356 | 356 | } |
357 | 357 |
197 | 197 | if (ngx_strcmp(value[0].data, "include") == 0) { |
198 | 198 | file = value[1]; |
199 | 199 | |
200 | if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ | |
200 | if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){ | |
201 | 201 | return NGX_CONF_ERROR; |
202 | 202 | } |
203 | 203 |
377 | 377 | if (ngx_strcmp(value[0].data, "include") == 0) { |
378 | 378 | file = value[1]; |
379 | 379 | |
380 | if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ | |
380 | if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){ | |
381 | 381 | return NGX_CONF_ERROR; |
382 | 382 | } |
383 | 383 |
453 | 453 | #endif |
454 | 454 | |
455 | 455 | if (pmcf->modules.data) { |
456 | if (ngx_conf_full_name(cf->cycle, &pmcf->modules) != NGX_OK) { | |
456 | if (ngx_conf_full_name(cf->cycle, &pmcf->modules, 0) != NGX_OK) { | |
457 | 457 | return NGX_CONF_ERROR; |
458 | 458 | } |
459 | 459 | } |
1222 | 1222 | return NULL; |
1223 | 1223 | } |
1224 | 1224 | |
1225 | if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, path) == NGX_ERROR) { | |
1225 | if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, path, 0)== NGX_ERROR) | |
1226 | { | |
1226 | 1227 | return NULL; |
1227 | 1228 | } |
1228 | 1229 | |
1946 | 1947 | if (ngx_strcmp(value[0].data, "include") == 0) { |
1947 | 1948 | file = value[1]; |
1948 | 1949 | |
1949 | if (ngx_conf_full_name(cf->cycle, &file) == NGX_ERROR){ | |
1950 | if (ngx_conf_full_name(cf->cycle, &file, 1) == NGX_ERROR){ | |
1950 | 1951 | return NGX_CONF_ERROR; |
1951 | 1952 | } |
1952 | 1953 | |
2289 | 2290 | conf->root.len = sizeof("html") - 1; |
2290 | 2291 | conf->root.data = (u_char *) "html"; |
2291 | 2292 | |
2292 | if (ngx_conf_full_name(cf->cycle, &conf->root) == NGX_ERROR) { | |
2293 | if (ngx_conf_full_name(cf->cycle, &conf->root, 0) == NGX_ERROR) { | |
2293 | 2294 | return NGX_CONF_ERROR; |
2294 | 2295 | } |
2295 | 2296 | } |
2738 | 2739 | } |
2739 | 2740 | |
2740 | 2741 | if (lcf->root.data[0] != '$') { |
2741 | if (ngx_conf_full_name(cf->cycle, &lcf->root) == NGX_ERROR) { | |
2742 | if (ngx_conf_full_name(cf->cycle, &lcf->root, 0) == NGX_ERROR) { | |
2742 | 2743 | return NGX_CONF_ERROR; |
2743 | 2744 | } |
2744 | 2745 | } |