| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #!/bin/bash
- # info: update web templates
- # options: [RESTART]
- #
- # The function for obtaining updated pack of web templates.
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Argument definition
- restart=$1
- # Includes
- source $HESTIA/func/main.sh
- source $HESTIA/conf/hestia.conf
- # Detect OS
- case $(head -n1 /etc/issue | cut -f 1 -d ' ') in
- Debian) type="debian" ;;
- Ubuntu) type="ubuntu" ;;
- *) type="NoSupport" ;;
- esac
- # Detect version
- if [ "$type" = "ubuntu" ] || [ "$type" = "debian" ]; then
- type="deb"
- else
- echo "Error: can't detect supported os"
- log_event "$E_NOTEXIST"
- exit $E_NOTEXIST
- fi
- if [ -z "$WEB_SYSTEM" ]; then
- echo "Error: Missing Web System"
- log_event "$E_ARGS"
- exit $E_ARGS
- fi
- HST_WEBTEMPLATES="$HESTIA/data/templates/web"
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- # Update templates
- if [ -d "${HST_WEBTEMPLATES}" ]; then
- rm -rf "${HST_WEBTEMPLATES}/skel" 2>/dev/null
- rm -rf "${HST_WEBTEMPLATES}/suspend" 2>/dev/null
- rm -rf "${HST_WEBTEMPLATES}/unassigned" 2>/dev/null
- fi
- for webtpl_folder in $(ls $HESTIA/install/$type/templates/web/* -d 2>/dev/null | egrep -v '/(nginx)$' ); do
- cp -rf "${webtpl_folder}" "${HST_WEBTEMPLATES}/"
- done
- [ -d "${HST_WEBTEMPLATES}/nginx" ] || mkdir -p "${HST_WEBTEMPLATES}/nginx"
- # Update Multi-PHP templates
- php_versions=$(ls /etc/php/*/fpm -d 2>/dev/null | wc -l)
- if [ "$php_versions" -gt 1 ]; then
- for v in $(ls /etc/php/); do
- if [ ! -d "/etc/php/$v/fpm/pool.d/" ]; then
- continue
- fi
- v_tpl=$(echo "$v" | sed -e 's/[.]//')
- cp -f "$HESTIA/install/$type/multiphp/${WEB_SYSTEM}/PHP-${v_tpl}".* "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/"
- done
- chmod a+x "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/"*.sh 2> /dev/null
- # Create default TPL symlink when missing and point to the last php version found
- if [ ! -z $v_tpl ] && [ "$WEB_SYSTEM" = "nginx" ]; then
- [ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.sh" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.sh" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.sh"
- [ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.tpl" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.tpl" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.tpl"
- [ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.stpl" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.stpl" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.stpl"
- fi
- fi
- if [ "$PROXY_SYSTEM" = 'nginx' ] || [ "$php_versions" -le 1 ]; then
- cp -rf "${HESTIA}/install/${type}/templates/web/nginx" "${HST_WEBTEMPLATES}/"
- fi
- # Rebuilding web domains
- for user in $($BIN/v-list-sys-users plain); do
- $BIN/v-rebuild-web-domains $user no
- done
- #----------------------------------------------------------#
- # Hestia #
- #----------------------------------------------------------#
- # Restarting web server
- $BIN/v-restart-web $restart
- check_result $? "restart" >/dev/null 2>&1
- $BIN/v-restart-proxy $restart
- check_result $? "restart" >/dev/null 2>&1
- exit
|