fixed nginx vhost template, made variables local, imroved parameter validation

This commit is contained in:
mikka 2012-09-11 22:04:56 +02:00
parent 91303246ec
commit 08f4d8b9ce
2 changed files with 21 additions and 30 deletions

View file

@ -81,45 +81,36 @@ _nginx_vhost () {
# Parsing arguments # Parsing arguments
vhost () { vhost () {
user=$USER; local user=$USER;
template=$NGINX_VHOST_TEMPLATE local template=$NGINX_VHOST_TEMPLATE
tpl="non_existing_template" local tpl="non_existing_template"
enable=1 local enable=1
write_hosts=0 local write_hosts=0
args=""
while getopts ":lu:t:nwh" option while getopts ":lu:t:nwh" option
do do
case $option in case $option in
l ) ls $NGINX_DIR/sites-enabled; return ;; l ) ls $NGINX_DIR/sites-enabled; return ;;
u ) user=$OPTARG; args="$args -u $OPTARG" ;; u ) user=$OPTARG ;;
t ) tpl=$OPTARG; args="$args -t $OPTARG" ;; t ) tpl=$OPTARG ;;
n ) enable=0; args="$args -n" ;; n ) enable=0 ;;
w ) write_hosts=1; args="$args -w" ;; w ) write_hosts=1 ;;
h ) _vhost_usage; return ;; h ) _vhost_usage; return ;;
esac esac
done done
vhost=${@: -1} shift $[ $OPTIND - 1 ]
vhostNotGiven=0 local vhost=$1
if [ ! $vhost ]; then if [ -z "$vhost" ]; then
vhostNotGiven=1
else
if [ $(echo $args | grep -o $vhost) ]; then
vhostNotGiven=1
fi
fi
if [ $vhostNotGiven -eq 1 ]; then
echo "\033[337;41m\nThe name of the vhost is required!\n\033[0m" echo "\033[337;41m\nThe name of the vhost is required!\n\033[0m"
return return
fi fi
if [ -e $ZSH/plugins/nginx/templates/$tpl ]; then if [ -e $ZSH/plugins/nginx/templates/$tpl ]; then
template=$ZSH/plugins/nginx/templates/$tpl local template=$ZSH/plugins/nginx/templates/$tpl
elif [ -e $tpl ]; then elif [ -e $tpl ]; then
template=$tpl local template=$tpl
fi fi
_vhost_generate $vhost $user _vhost_generate $vhost $user
@ -149,7 +140,7 @@ _vhost_usage () {
# Generate config file # Generate config file
_vhost_generate () { _vhost_generate () {
user=$(cat /etc/passwd | grep $2 | awk -F : '{print $1 }') local user=$(cat /etc/passwd | grep $2 | awk -F : '{print $1 }')
if [ ! $user ]; then if [ ! $user ]; then
echo "User \033[31m$2\033[0m doesn't have an account on \033[33m$HOST\033[0m" echo "User \033[31m$2\033[0m doesn't have an account on \033[33m$HOST\033[0m"
@ -158,10 +149,10 @@ _vhost_generate () {
echo "Generating \033[32m$1\033[0m vhost for \033[33m$user\033[0m user" echo "Generating \033[32m$1\033[0m vhost for \033[33m$user\033[0m user"
user_id=$(cat /etc/passwd | grep $2 | awk -F : '{print $3 }') local user_id=$(cat /etc/passwd | grep $2 | awk -F : '{print $3 }')
pool_port=1$user_id local pool_port=1$user_id
conf=$(sed -e 's/{vhost}/'$1'/g' -e 's/{user}/'$user'/g' -e 's/{pool_port}/'$pool_port'/g' $template ) local conf=$(sed -e 's/{vhost}/'$1'/g' -e 's/{user}/'$user'/g' -e 's/{pool_port}/'$pool_port'/g' $template )
echo $conf > $1.tmp echo $conf > $1.tmp
$sudo mv $1.tmp $NGINX_DIR/sites-available/$1 $sudo mv $1.tmp $NGINX_DIR/sites-available/$1
@ -188,7 +179,7 @@ _write_hosts () {
$sudo mv $temp /etc/hosts; $sudo mv $temp /etc/hosts;
"\033[32m$1\033[0m vhost has been successfully written in /etc/hosts" echo "\033[32m$1\033[0m vhost has been successfully written in /etc/hosts"
} }
alias ngt="$sudo nginx -t" alias ngt="$sudo nginx -t"

View file

@ -9,7 +9,7 @@ server {
access_log /var/log/nginx/{vhost}.access.log; access_log /var/log/nginx/{vhost}.access.log;
location / { location / {
try_files $uri $uri/ /app_dev.php; try_files $uri $uri/ /app_dev.php$uri /app_dev.php$is_args$args;
} }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:{pool_port} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:{pool_port}