From d2f972e92faeb2f69777305ad595505afc493c43 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Fri, 1 Feb 2019 20:58:22 -0600 Subject: [PATCH] Update nodemgmt-scripts.sh --- nodemgmt-scripts.sh | 66 ++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index 3639f501..9e10cdae 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -99,7 +99,7 @@ case "$1" in echo "" echo -e "Usage: ${idsCL[Yellow]}nodemgmt newcert${idsCL[Default]} {" width=33 - printf "%-${width}s- %s\n" " -site {FQDN address}" "(*required)" + printf "%-${width}s- %s\n" " -site {FQDN address(,es)}" "(*required)" printf "%-${width}s- %s\n" " -ssl {true or false}" "(defaults to true)" printf "%-${width}s- %s\n" " -type {'local' or 'proxy'}" "(defaults to local)" printf "%-${width}s- %s\n" " -scheme {http or https}" "(required if type set to proxy)" @@ -113,7 +113,19 @@ case "$1" in if [ -z ${SITE_TYPE+x} ]; then SITE_TYPE=local; fi if [ -z ${CREATE_SSL+x} ]; then CREATE_SSL=true; fi + if [ "${NEW_SITE}" != "" ]; then + if [[ ${NEW_SITE} == *","* ]]; then + IFS=, + NEW_SITES=(${NEW_SITE}) + unset IFS + MAIN_SITE=${NEW_SITES[0]} + NGINX_SERVERNAME=${NEW_SITE//[,]/ } + else + MAIN_SITE=${NEW_SITE} + NGINX_SERVERNAME=${NEW_SITE} + + fi if [ "${SITE_TYPE}" = "proxy" ]; then if [ ! -z ${PROXYSCHEME+x} ] && [ ! -z ${PROXYHOST+x} ] && [ ! -z ${PROXYPORT+x} ]; then GO=true; fi else GO=true; fi @@ -122,32 +134,32 @@ case "$1" in echo "" if [ "${SITE_TYPE}" = "local" ]; then echo -e "server { - listen 8080;" > /etc/nginx/sites-available/${NEW_SITE}.conf + listen 8080;" > /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then - echo -e " listen 8443 ssl http2;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e " listen 8443 ssl http2;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " - server_name ${NEW_SITE}; + server_name ${NGINX_SERVERNAME}; - set \$base /var/www/${NEW_SITE}; + set \$base /var/www/${MAIN_SITE}; root \$base/public_html; access_log /var/www/${NEW_SITE}/nginx_logs/access.log; - error_log /var/www/${NEW_SITE}/nginx_logs/error.log warn;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + error_log /var/www/${NEW_SITE}/nginx_logs/error.log warn;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then echo -e " - ssl_certificate /etc/letsencrypt/live/${NEW_SITE}/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/${NEW_SITE}/privkey.pem; - include conf.d/include/ssl-ciphers.conf;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + ssl_certificate /etc/letsencrypt/live/${MAIN_SITE}/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/${MAIN_SITE}/privkey.pem; + include conf.d/include/ssl-ciphers.conf;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " index index.php; location / { - try_files \$uri \$uri/ /index.php?\$query_string;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + try_files \$uri \$uri/ /index.php?\$query_string;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then - echo -e " include conf.d/include/force-ssl.conf;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e " include conf.d/include/force-ssl.conf;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " } @@ -156,20 +168,20 @@ case "$1" in include conf.d/include/php_fastcgi.conf; } - include conf.d/include/general.conf;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + include conf.d/include/general.conf;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then - echo -e " include conf.d/include/letsencrypt-acme-challenge.conf;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e " include conf.d/include/letsencrypt-acme-challenge.conf;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi - echo -e "}" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e "}" >> /etc/nginx/sites-available/${MAIN_SITE}.conf for nip in "${NODE_HOSTS[@]}" do if [[ $(/sbin/ip -o -4 addr list ens192 | awk '{print $4}' | cut -d/ -f1) == *"${nip}"* ]]; then NCMD='' else NCMD="ssh root@${nip}" fi - ${NCMD} mkdir -p /var/www/${NEW_SITE}/{public_folder,nginx_logs} + ${NCMD} mkdir -p /var/www/${MAIN_SITE}/{public_folder,nginx_logs} done - nodemgmt set-permissions ${NEW_SITE} + nodemgmt set-permissions ${MAIN_SITE} else @@ -178,32 +190,32 @@ case "$1" in set \$server \"${PROXYHOST}\"; set \$port ${PROXYPORT}; - listen 8080;" > /etc/nginx/sites-available/${NEW_SITE}.conf + listen 8080;" > /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then - echo -e " listen 8443 ssl http2;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e " listen 8443 ssl http2;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " - server_name ${NEW_SITE};" >> /etc/nginx/sites-available/${NEW_SITE}.conf + server_name ${NGINX_SERVERNAME};" >> /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then echo -e " include conf.d/include/letsencrypt-acme-challenge.conf; include conf.d/include/ssl-ciphers.conf; - ssl_certificate /etc/letsencrypt/live/${NEW_SITE}/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/${NEW_SITE}/privkey.pem;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + ssl_certificate /etc/letsencrypt/live/${MAIN_SITE}/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/${MAIN_SITE}/privkey.pem;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " - access_log /var/www/!NGINX-Logs/proxy-${NEW_SITE}.log proxy; + access_log /var/www/!NGINX-Logs/proxy-${MAIN_SITE}.log proxy; - location / {" >> /etc/nginx/sites-available/${NEW_SITE}.conf + location / {" >> /etc/nginx/sites-available/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then - echo -e " include conf.d/include/force-ssl.conf;" >> /etc/nginx/sites-available/${NEW_SITE}.conf + echo -e " include conf.d/include/force-ssl.conf;" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi echo -e " include conf.d/include/proxy.conf; } } -" >> /etc/nginx/sites-available/${NEW_SITE}.conf +" >> /etc/nginx/sites-available/${MAIN_SITE}.conf fi - ln -s /etc/nginx/sites-available/${NEW_SITE}.conf /etc/nginx/sites-enabled/${NEW_SITE}.conf + ln -s /etc/nginx/sites-available/${MAIN_SITE}.conf /etc/nginx/sites-enabled/${MAIN_SITE}.conf if [ "${CREATE_SSL}" = "true" ]; then ${FOLDER}/nodemgmt-scripts.sh newcert ${NEW_SITE} else @@ -221,7 +233,7 @@ case "$1" in echo "" echo -e "Usage: ${idsCL[Yellow]}nodemgmt newcert${idsCL[Default]} {" width=33 - printf "%-${width}s- %s\n" " -site {FQDN address}" "(*required)" + printf "%-${width}s- %s\n" " -site {FQDN address(,es)}" "(*required)" printf "%-${width}s- %s\n" " -ssl {true or false}" "(defaults to true)" printf "%-${width}s- %s\n" " -type {'local' or 'proxy'}" "(defaults to local)" printf "%-${width}s- %s\n" " -scheme {http or https}" "(required if type set to proxy)"