summaryrefslogtreecommitdiff
path: root/public/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh
diff options
context:
space:
mode:
Diffstat (limited to 'public/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh')
-rwxr-xr-xpublic/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/public/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh b/public/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh
new file mode 100755
index 0000000..f325fe1
--- /dev/null
+++ b/public/fs/etc/nginx/vhosts.d/nginx-primary-zone-cfg.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+set -eu
+
+IFS=','
+
+sitezone="$1"
+sitedirs="$2"
+
+cfg_script="$0"
+cfg_srcdir=$(cd -- "${cfg_script%/*}/" ; pwd -P)
+
+# header
+cat << _EOF
+server {
+ listen [::]:80;
+ server_name ${sitezone};
+ return 301 https://\$server_name\$request_uri;
+}
+
+server {
+ listen [::]:443;
+ server_name ${sitezone};
+
+_EOF
+
+# indexed locations
+for sitedir in ${sitedirs}; do
+
+cat << _EOF
+ location /${sitedir} {
+ root /srv/www/htdocs/\$host;
+ fancyindex on;
+ ssi on;
+ }
+
+_EOF
+
+done
+
+# root directory
+cat << _EOF
+ location / {
+ root /srv/www/htdocs/\$host;
+ index index.html index.htm;
+ ssi on;
+ }
+
+_EOF
+
+# ssl and footer
+cat << _EOF
+ ssl_certificate /srv/webroot/${sitezone}/ssl/fullchain.pem;
+ ssl_certificate_key /srv/webroot/${sitezone}/ssl/privkey.pem;
+ ssl_trusted_certificate /srv/webroot/${sitezone}/ssl/chain.pem;
+
+ include conf.d/ssl_params;
+}
+_EOF