100 lines
2.7 KiB
Bash
Executable File
100 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# show help text
|
|
function showHelp()
|
|
{
|
|
echo "Usage:";
|
|
echo " ${txtbld}./update.sh${txtrst} - update without '${txtyel}composer install${txtrst}' and '${txtyel}composer update${txtrst}'";
|
|
echo " ${txtbld}./update.sh -c${txtrst} - update with '${txtyel}composer install${txtrst}' and '${txtyel}composer update${txtrst}'";
|
|
echo ;
|
|
}
|
|
|
|
# set terminal variable
|
|
export TERM=xterm;
|
|
|
|
txtred=$(tput setaf 1) # Red
|
|
txtgrn=$(tput setaf 2) # Green
|
|
txtyel=$(tput setaf 3) # Yellow
|
|
txtbld=$(tput bold) # Bold
|
|
txtrst=$(tput sgr0) # Text reset
|
|
|
|
|
|
COMPOSER=false; # not using composer by default
|
|
|
|
optname='?';
|
|
|
|
while getopts "ch" optname
|
|
do
|
|
case "$optname" in
|
|
"c")
|
|
# run with composer
|
|
COMPOSER=true
|
|
;;
|
|
"?")
|
|
# wrong option
|
|
showHelp
|
|
exit 127;
|
|
;;
|
|
"h")
|
|
# show help
|
|
showHelp
|
|
exit 0;
|
|
;;
|
|
*)
|
|
# Should not occur
|
|
echo "Unknown error while processing options";
|
|
showHelp
|
|
exit 127;
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if $COMPOSER ; then
|
|
|
|
printf "%-120s %s\n" "Use composer: [${txtyel}Yes${txtrst}]"
|
|
|
|
# install composer
|
|
if [ ! -f ./composer.phar ] ; then
|
|
curl -sS https://getcomposer.org/installer | php 2>&1
|
|
if [ ! -f ./composer.phar ] ; then
|
|
echo "${txtred}Install composer Error${txtrst}"
|
|
exit 1;
|
|
fi
|
|
printf "%-120s %s\n" "Install composer [${txtgrn}Ok${txtrst}]"
|
|
fi
|
|
|
|
# run install
|
|
./composer.phar install
|
|
if [ $? -ne 0 ] ; then
|
|
echo "${txtred}Update: Error${txtrst}"
|
|
exit 2;
|
|
fi
|
|
printf "%-120s %s\n" "Update: [${txtgrn}Ok${txtrst}]";
|
|
else
|
|
printf "%-120s %s\n" "Use composer: [${txtyel}No${txtrst}]"
|
|
fi
|
|
|
|
# set permissions for cache and logs, and group permissions for all files
|
|
rm -rf var/cache/*
|
|
rm -rf var/logs/*
|
|
|
|
APACHEUSER=`ps aux | grep -E '[a]pache|[h]ttpd' | grep -v root | head -1 | cut -d\ -f1`
|
|
|
|
if [ `command -v setfacl 2>&1` ] ; then
|
|
setfacl -R -m u:$APACHEUSER:rwX -m u:`whoami`:rwX var
|
|
setfacl -dR -m u:$APACHEUSER:rwX -m u:`whoami`:rwX var
|
|
if [ $(getent group phpteam ) ]; then
|
|
setfacl -R -m g:phpteam:rw ./;
|
|
printf "%-120s %s\n" "Setted permissions by setfacl:"
|
|
getfacl ./ | grep phpteam | grep -v "#"
|
|
fi
|
|
printf "%-120s %s\n" "Set permissions by setfacl [${txtgrn}Ok${txtrst}]"
|
|
else
|
|
chmod +a "$APACHEUSER allow delete,write,append,file_inherit,directory_inherit" var
|
|
chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" var
|
|
printf "%-120s %s\n" "Set permissions by chmod [${txtgrn}Ok${txtrst}]"
|
|
fi
|
|
printf "%-120s %s\n" "Set permissions to cache and logs for $APACHEUSER: [${txtgrn}Ok${txtrst}]"
|
|
|
|
exit 0;
|