76 lines
1.7 KiB
Bash
76 lines
1.7 KiB
Bash
: ${FPM_DIR:=/etc/php5/fpm}
|
|
|
|
if [ $use_sudo -eq 1 ]; then
|
|
sudo="sudo"
|
|
else
|
|
sudo=""
|
|
fi
|
|
|
|
_fpm_get_possible_pool_list () {
|
|
cat /etc/passwd | awk -F : '{print $1 }'
|
|
}
|
|
|
|
_fpm_pool () {
|
|
compadd `_fpm_get_possible_pool_list`
|
|
|
|
}
|
|
|
|
pool () {
|
|
while getopts ":lh" option
|
|
do
|
|
case $option in
|
|
l ) ls $FPM_DIR/pool.d; return ;;
|
|
h ) _pool_usage; return ;;
|
|
* ) _pool_usage; return ;; # Default.
|
|
esac
|
|
done
|
|
|
|
if [ ! $1 ]; then
|
|
user=$USER
|
|
else
|
|
user=$1
|
|
fi
|
|
|
|
_pool_generate $user
|
|
}
|
|
compdef _fpm_pool pool
|
|
|
|
_pool_usage () {
|
|
echo "Usage: pool [options] [user]"
|
|
echo
|
|
echo "Options"
|
|
echo " -l Lists fpm pools"
|
|
echo " -h Get this help message"
|
|
return
|
|
}
|
|
|
|
_pool_generate () {
|
|
user=$(cat /etc/passwd | grep $1 | awk -F : '{print $1 }')
|
|
|
|
if [ ! $user ]; then
|
|
echo "User \033[31m$1\033[0m doesn't have an account on \033[33m$HOST\033[0m"
|
|
return
|
|
fi
|
|
|
|
group=$(groups $user | cut -d " " -f 3)
|
|
|
|
echo "Generating pool for \033[33m$user\033[0m user with \033[33m$group\033[0m group"
|
|
|
|
user_id=$(cat /etc/passwd | grep $1 | awk -F : '{print $3 }')
|
|
pool_port=1$user_id
|
|
: ${FPM_POOL_TEMPLATE:=$ZSH/plugins/php-fpm/templates/pool}
|
|
|
|
conf=$(sed -e 's/{user}/'$user'/g' -e 's/{group}/'$group'/g' -e 's/{pool_port}/'$pool_port'/g' $FPM_POOL_TEMPLATE )
|
|
|
|
echo $conf > $user.conf
|
|
$sudo mv $user.conf $FPM_DIR/pool.d/$user.conf
|
|
|
|
if [ -e $FPM_DIR/pool.d/$user.conf ]; then
|
|
echo "Pool for \033[32m$user\033[0m user has been successfully created"
|
|
else
|
|
echo "An error occured during the creating of pool for \033[31m$user\033[0m user"
|
|
fi
|
|
}
|
|
|
|
alias fpmr="$sudo service php5-fpm restart"
|