Files
socialhose-php/update.sh
2022-12-09 08:36:26 -06:00

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;