diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index 035800e2..c83e4b64 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -97,6 +97,43 @@ case "$1" in exit 0 ;; + newsite) + mkdir /var/www/${1}/{public_folder,nginx_logs} + echo -e "server { + listen 8443 ssl http2; + listen 8080; + + + server_name ${1}; + set $base /var/www/${1}; + root $base/public_html; + + access_log /var/www/${1}/nginx_logs/access.log; + error_log /var/www/${1}/nginx_logs/error.log warn; + + ssl_certificate /etc/letsencrypt/live/${1}/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/${1}/privkey.pem; + include conf.d/include/ssl-ciphers.conf; + + index index.php; + + location / { + try_files $uri $uri/ /index.php?$query_string; + include conf.d/include/force-ssl.conf; + } + + location ~ \.php$ { + fastcgi_pass unix:/var/run/php/php5.6-fpm.sock; + include conf.d/include/php_fastcgi.conf; + } + + include conf.d/include/general.conf; + include conf.d/include/letsencrypt-acme-challenge.conf; +} +" > /etc/nginx/sites-available/${1}.conf + ${0} set-permissions {$1} + ;; + update) exit 0 ;; @@ -183,6 +220,9 @@ case "$1" in ;; set-permissions) + if [ "${1}" != "" ]; then + echo -e "${idsCL[Yellow]}Setting new site folder permissions for (/var/www/${1})${idsCL[Default]}" + fi nid=1 for nip in "${NODE_HOSTS[@]}" do @@ -192,26 +232,34 @@ case "$1" in else NCMD="ssh root@${nip}" fi - echo -e "${idsCL[Yellow]}Setting folder permissions for Node ${nid} (${nip})${idsCL[Default]}" - echo -en "${idsCL[Cyan]}LetsEncrypt Certs ${idsCL[Default]}" - ${NCMD} chown -R root:letsencrypt /etc/letsencrypt - ${NCMD} chmod -R 6775 /etc/letsencrypt - echo -e "${idsCL[Green]}Complete${idsCL[Default]}" - echo -en "${idsCL[Cyan]}Webserver folders ${idsCL[Default]}" - ${NCMD} chown -R www-data:www-data /var/www - ${NCMD} chmod -R 7775 /var/www - echo -e "${idsCL[Green]}Complete${idsCL[Default]}" - echo -en "${idsCL[Cyan]}Gogs Folder ${idsCL[Default]}" - ${NCMD} chown -R gogs:gogs /var/www/gogs - ${NCMD} chmod -R 750 /var/www/gogs - echo -e "${idsCL[Green]}Complete${idsCL[Default]}" - echo -en "${idsCL[Cyan]}Gitea Folder ${idsCL[Default]}" - ${NCMD} chown -R git:git /var/lib/gitea - ${NCMD} chmod -R 750 /var/lib/gitea - echo -e "${idsCL[Green]}Complete${idsCL[Default]}" - echo "" + if [ "${1}" != "" ]; then + echo -en "${idsCL[Cyan]}iDS-Node{nid} (${nip}) ${idsCL[Default]}" + ${NCMD} chown -R www-data:www-data /var/www/${1} + ${NCMD} chmod -R 7775 /var/www/${1} + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + else + echo -e "${idsCL[Yellow]}Setting folder permissions for iDS-Node{nid} (${nip})${idsCL[Default]}" + echo -en "${idsCL[Cyan]}LetsEncrypt Certs ${idsCL[Default]}" + ${NCMD} chown -R root:letsencrypt /etc/letsencrypt + ${NCMD} chmod -R 6775 /etc/letsencrypt + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + echo -en "${idsCL[Cyan]}Webserver folders ${idsCL[Default]}" + ${NCMD} chown -R www-data:www-data /var/www + ${NCMD} chmod -R 7775 /var/www + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + echo -en "${idsCL[Cyan]}Gogs Folder ${idsCL[Default]}" + ${NCMD} chown -R gogs:gogs /var/www/gogs + ${NCMD} chmod -R 750 /var/www/gogs + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + echo -en "${idsCL[Cyan]}Gitea Folder ${idsCL[Default]}" + ${NCMD} chown -R git:git /var/lib/gitea + ${NCMD} chmod -R 750 /var/lib/gitea + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + echo "" + fi nid=`expr $nid + 1` done + if [ "${1}" != "" ]; then echo ""; fi ;; *)