nginx_direct.sh

#!/bin/bash
NGINXHOST=/usr/local/nginx/etc/virtual.conf;
PATH_CONF=/usr/local/directadmin/data/users;
NGINXTEMPATE=/usr/local/directadmin/data/templates/custom/nginx.conf;
NGINXSUBTEMPATE=/usr/local/directadmin/data/templates/custom/nginx_sub.conf;
HOLD=/tmp/nginx.conf.$$;

showHelp() {
  echo "Rewrite all users's nginx.conf from template:";
  echo "$0 all ";
  echo "Rewrite users nginx.conf :";
  echo "$0 -u username";
  echo "For useing modify nginx.conf , you mast create file:";
  echo "/usr/local/directadmin/data/users/USERNAME/domains/DOMAIN_NAME.custom_nginx with modify config.";
}
do_exit() {
  exit 1;
}
check_user(){
      if [ "$1" = "" ] ; then
	#echo "User not exit";
	return 1;
      else 
	return 0;
     fi
}
check_domain()
{
    if [ ! -s $1 ];then
        return 1;
    else 
        return 0;
    fi
}
user_configs(){
_UHOME=`grep -e "^${1}:" /etc/passwd | cut -d: -f6`;
_USER=$1;
_DOMAINLIST=${PATH_CONF}/$_USER/domains.list;
_NGINXCONF=${PATH_CONF}/$_USER/nginx.conf;
if ! check_user $_UHOME; then
    return 1;
fi
if ! check_domain $_DOMAINLIST; then
    return 1;
fi
_UIP=`cat  ${PATH_CONF}/$_USER/user.conf | grep ip= | cut -d= -f2`;
if [ ! -f  $_NGINXCONF ]
    then
        echo "include $_NGINXCONF;" >> $NGINXHOST;
    else
        cat $_NGINXCONF > $HOLD;
        rm -rf $_NGINXCONF;
fi

for i in `cat $_DOMAINLIST`; do
        if [ -f ${PATH_CONF}/$_USER/domains/$i.custom_nginx ]
        then
	cat ${PATH_CONF}/$_USER/domains/$i.custom_nginx >> $_NGINXCONF;
        else
        if [ -f ${PATH_CONF}/$_USER/domains/$i.pointers ]
        then
                for j in `cat ${PATH_CONF}/$_USER/domains/$i.pointers | awk -F= '{print $1}' `; do
                        park=`echo "$park $j www.$j"`;
                done
        fi
        if ! cat $NGINXTEMPATE | sed 's#|HOME|#'$_UHOME'#g' | sed 's!|DOMAIN|!'$i'!g' |sed 's/|SERVER_ALIASES|/'"$park"'/' | sed 's!|IP|!'$_UIP'!'  | sed 's!|USERNAME!'$1'!' >> $_NGINXCONF; then
	if [ -f  $HOLD ]; then
	    cat $HOLD > $_NGINXCONF;
	 fi
	return 1;
        fi
        fi
        for l in `cat ${PATH_CONF}/$_USER/domains/$i.subdomains`; do
               cat $NGINXSUBTEMPATE | sed 's#|HOME|#'$_UHOME'#g' | sed 's!|DOMAIN|!'$i'!g'|sed 's/|SUB|/'$l'/g' | sed 's!|IP|!'$_UIP'!' | sed 's!|USERNAME|!'$1'!' >> $_NGINXCONF;
        done
        park=""; 
done
if [ -f  $HOLD ]; then
    rm -rf $HOLD;
fi
}
doAll(){
  for i in `ls /usr/local/directadmin/data/users/`; do
    user_configs $i;
  done
}

case "$1" in
    all) doAll;
        ;;     
    -u) user_configs $2;
        ;;
    * ) showHelp;
        do_exit 0;
        ;;
esac
do_exit 0;
 
nginx/nginx_direct.sh.txt · Last modified: 2010/02/07 18:02 by admin
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Please visit Automatic Backlinks to start earning free backlinks Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Клиника ортопедия в москве коломна.