Ajout : vm_remote : rule_gpg .
[lhc/ateliers.git] / etc / sv / nginx / configure.sh
index c413979..a44c647 100644 (file)
@@ -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 \
@@ -49,27 +53,40 @@ for conf in "$tool"/etc/nginx/site.d/*/site.conf
         /etc/nginx/site.d/"$site"
        sudo install -d -m 770 -o www -g www \
         /etc/nginx/x509.d/"$site"
-       test -L /home/www/pub/"$site" ||
+       sudo test -L /home/www/pub/"$site" ||
        sudo install -d -m 2770 -o www-"$site" -g www-"$site" \
         /home/www/pub/"$site"
        sudo adduser www-data www-"$site"
        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
+               /etc/nginx/site.d/"$site"/local.conf
+       test ! -e "$tool"/etc/nginx/site.d/"$site"/http.conf ||
        sudo install -m 660 -o www -g www \
-        "$tool"/etc/nginx/site.d/"$site"/site.conf \
-               /etc/nginx/site.d/"$site"/site.inc
+        "$tool"/etc/nginx/site.d/"$site"/http.conf \
+               /etc/nginx/site.d/"$site"/http.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