Modification : vm_hosted -> etc/sv/*/configure.sh .
[lhc/ateliers.git] / etc / sv / nginx / configure.sh
diff --git a/etc/sv/nginx/configure.sh b/etc/sv/nginx/configure.sh
new file mode 100644 (file)
index 0000000..c413979
--- /dev/null
@@ -0,0 +1,75 @@
+rule runit_configure php5-fpm
+rule apt_get_install nginx spawn-fcgi fcgiwrap
+rule insserv_remove  nginx
+rule insserv_remove fcgiwrap
+
+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 \
+ /etc/nginx/site.d \
+ /etc/nginx/x509.d
+sudo ln -fns \
+ /etc/nginx \
+ /home/www/etc/nginx
+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/}
+       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}"
+       rule adduser www-"$site" \
+        --disabled-login \
+        --disabled-password \
+        --group \
+        --home /home/www/pub/"$site" \
+        --shell /bin/false \
+        --system
+       rule adduser log-www-"$site" \
+        --disabled-login \
+        --disabled-password \
+        --group \
+        --home /home/www/log/"$site"/nginx \
+        --shell /bin/false \
+        --system
+       sudo install -d -m 771 -o log-www -g log-www \
+        /home/www/log/"$site"
+       sudo install -d -m 770 -o www -g www \
+        /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 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
+       sudo install -m 660 -o www -g www \
+        "$tool"/etc/nginx/site.d/"$site"/site.conf \
+               /etc/nginx/site.d/"$site"/site.inc
+       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;
+                }
+               EOF
+       test ! -r "$tool"/etc/nginx/site.d/"$site"/configure.sh ||
+       .         "$tool"/etc/nginx/site.d/"$site"/configure.sh
+ done