X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=etc%2Fsv%2Fnginx%2Fconfigure.sh;h=2cfa7f789f2836e00725f77453bbf91da0b2f064;hb=07f867bc5dc0e3bb3d01ceef80ce434e96642cba;hp=c41397931f42667efc5f1747688d419215accb08;hpb=5ce6d51b9c15b2e316d60fad4ecfa1ea1b32bf7b;p=lhc%2Fateliers.git diff --git a/etc/sv/nginx/configure.sh b/etc/sv/nginx/configure.sh index c413979..2cfa7f7 100644 --- a/etc/sv/nginx/configure.sh +++ b/etc/sv/nginx/configure.sh @@ -1,13 +1,11 @@ -rule runit_configure php5-fpm +rule _runit_sv_configure php5-fpm '*' +rule _runit_sv_restart php5-fpm rule apt_get_install nginx spawn-fcgi fcgiwrap rule insserv_remove nginx rule insserv_remove fcgiwrap -rule www_configure +rule _www_configure -sudo rm -rf \ - /etc/nginx/conf.d \ - /etc/nginx/site.d sudo install -d -m 770 -o www -g www \ /etc/nginx \ /etc/nginx/conf.d \ @@ -19,16 +17,22 @@ sudo ln -fns \ sudo install -m 660 -o www -g www \ "$tool"/etc/nginx/nginx.conf \ /etc/nginx/nginx.conf -local conf -for conf in "$tool"/etc/nginx/conf.d/*.conf - do conf=${conf#"$tool"/etc/nginx/conf.d/} + +for conf in $(find "$tool"/etc/nginx/conf.d \ + -mindepth 1 -maxdepth 1 -type f \ + -name '*.conf' \ + -printf '%f\n') + do sudo install -m 660 -o www -g www \ "$tool"/etc/nginx/conf.d/"$conf" \ /etc/nginx/conf.d/"$conf" done -for conf in "$tool"/etc/nginx/site.d/*/site.conf - do conf=${conf#"$tool"/etc/nginx/site.d/} - local site="${conf%/site.conf}" + +for site in $(find "$tool"/etc/nginx/site.d \ + -mindepth 1 -maxdepth 1 -type d \ + -false ${@:+$(printf -- '-or -name %s\n' "$@")} \ + -printf '%f\n') + do rule adduser www-"$site" \ --disabled-login \ --disabled-password \ @@ -56,20 +60,29 @@ for conf in "$tool"/etc/nginx/site.d/*/site.conf sudo adduser www-data log-www-"$site" sudo install -m 660 -o www -g www \ "$tool"/etc/nginx/site.d/"$site"/local.conf \ - /etc/nginx/site.d/"$site"/local.inc - sudo install -m 660 -o www -g www \ - "$tool"/etc/nginx/site.d/"$site"/site.conf \ - /etc/nginx/site.d/"$site"/site.inc + /etc/nginx/site.d/"$site"/local.conf + if test -L "$tool"/etc/nginx/site.d/"$site"/site.conf + then + sudo cp --force --preserve=links --no-dereference \ + "$tool"/etc/nginx/site.d/"$site"/site.conf \ + /etc/nginx/site.d/"$site"/site.conf + else + sudo install -m 660 -o www -g www \ + "$tool"/etc/nginx/site.d/"$site"/site.conf \ + /etc/nginx/site.d/"$site"/site.conf + fi sudo install -m 660 -o www -g www /dev/stdin \ /etc/nginx/site.d/"$site"/server.conf <<-EOF server { - access_log /home/www/log/$site/nginx/access.log main; - error_log /home/www/log/$site/nginx/error.log warn; - root /home/www/pub/$site; - include /etc/nginx/site.d/$site/local.inc; - include /etc/nginx/site.d/$site/site.inc; + access_log /home/www/log/$site/nginx/access.log main; + error_log /home/www/log/$site/nginx/error.log warn; + root /home/www/pub/$site; + include /etc/nginx/site.d/$site/local.conf; + include /etc/nginx/site.d/$site/site.conf; } EOF + ( test ! -r "$tool"/etc/nginx/site.d/"$site"/configure.sh || - . "$tool"/etc/nginx/site.d/"$site"/configure.sh + . "$tool"/etc/nginx/site.d/"$site"/configure.sh || return 1 + ) done