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