Ver código fonte

CentOS compatible, using OSAL

Ernesto Nicolás Carrea 5 anos atrás
pai
commit
f6127e0006
2 arquivos alterados com 43 adições e 65 exclusões
  1. 28 38
      bin/v-add-web-php
  2. 15 27
      bin/v-delete-web-php

+ 28 - 38
bin/v-add-web-php

@@ -13,6 +13,7 @@
 version=$1
 
 # Includes
+source $HESTIA/func/osal.sh
 source $HESTIA/func/main.sh
 source $HESTIA/conf/hestia.conf
 
@@ -23,8 +24,7 @@ source $HESTIA/conf/hestia.conf
 
 check_args '1' "$#" 'VERSION'
 
-# Set file locations
-php_fpm="/etc/init.d/php$version-fpm"
+php_prefix=$(multiphp_php_package_prefix $version)
 
 # Verify php version format
 if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
@@ -33,7 +33,7 @@ if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
 fi
 
 # Check if php version already exists
-if [ -f "$php_fpm" ] && [ -f "$HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl" ]; then
+if [ $(multiphp_fpm_isinstalled $version) ] && [ -f "$HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl" ]; then
     echo "Version already installed..."
     exit
 fi
@@ -52,65 +52,55 @@ check_hestia_demo_mode
 #                       Action                             #
 #----------------------------------------------------------#
 
-mph="php$version-mbstring php$version-bcmath php$version-cli php$version-curl
-     php$version-fpm php$version-gd php$version-intl php$version-mysql
-     php$version-soap php$version-xml php$version-zip php$version-mbstring
-     php$version-json php$version-bz2 php$version-pspell php$version-imagick php$version-pgsql
-     php$version-imap php$version-ldap"
+mph="$php_prefix-mbstring $php_prefix-bcmath $php_prefix-cli $php_prefix-curl
+     $php_prefix-fpm $php_prefix-gd $php_prefix-intl $php_prefix-mysql
+     $php_prefix-soap $php_prefix-xml $php_prefix-zip $php_prefix-mbstring
+     $php_prefix-json $php_prefix-bz2 $php_prefix-pspell $php_prefix-imagick $php_prefix-pgsql
+     $php_prefix-imap $php_prefix-ldap"
 
 # Check is version is 7.1 or below to add mcrypt
 if [[ `echo "$version 7.2" | awk '{print ($1 < $2)}'` == 1 ]]; then
-    mph="$mph php$version-mcrypt"
+    mph="$mph $php_prefix-mcrypt"
 fi
 
 if ! echo "$DB_SYSTEM" | grep -w 'mysql' >/dev/null; then
-    mph=$(echo "$mph" | sed -e "s/php$version-mysql//")
+    mph=$(echo "$mph" | sed -e "s/$php_prefix-mysql//")
 fi
 
 if ! echo "$DB_SYSTEM" | grep -w 'pgsql' >/dev/null; then
-    mph=$(echo "$mph" | sed -e "s/php$version-pgsql//")
+    mph=$(echo "$mph" | sed -e "s/$php_prefix-pgsql//")
 fi
 
 # Install php packages
-apt-get -qq update
-apt-get -y -qq -o Dpkg::Options::="--force-confold" install $mph > /dev/null 2>&1 &
-BACK_PID=$!
-
-# Check if package installation is done, print a spinner
-echo "Install PHP-$version, please wait..."
-spinner="/-\|"
-spin_i=1
-while kill -0 $BACK_PID > /dev/null 2>&1 ; do
-    printf "\b${spinner:spin_i++%${#spinner}:1}"
-    sleep 0.5
-done
-
-# Do a blank echo to get the \n back
-echo
+package_preinstall
+execute_with_spinner package_install $mph
 
 # Check if installation was sucessfully
-if [ ! -f "$php_fpm" ]; then
+if [ ! $(multiphp_fpm_isinstalled $version) ]; then
     echo "Installation failed, please run the following command manualy for debuging:"
-    echo "apt-get install $mph"
+    echo "$CMD_PACKAGE_MANAGER install ${mph//\\n/ \\}"
 fi
 
 # Check if required modules for apache2 are enabled
-if [ "$WEB_SYSTEM" = "apache2" ]; then
-    if ! a2query -q -m proxy_fcgi; then
-        a2enmod -q proxy_fcgi
+if [ "$WEB_SYSTEM" = "apache2" ] || [ "$WEB_SYSTEM" = "httpd" ]; then
+    if [ ! $(apache_module_isenabled 'proxy_fcgi') ]; then
+        apache_module_enable 'proxy_fcgi'
     fi
-    if ! a2query -q -m setenvif; then
-        a2enmod -q setenvif
+    if [ ! $(apache_module_isenabled 'setenvif') ]; then
+        apache_module_enable 'setenvif'
     fi
     $BIN/v-restart-web
 fi
 
 # Configure fpm
-update-rc.d php$version-fpm defaults > /dev/null 2>&1
-v_tpl=${version//.}
-rm -f /etc/php/$version/fpm/pool.d/*
-cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$version/fpm/pool.d/
-sed -i "s/9999/99$v_tpl/g" /etc/php/$version/fpm/pool.d/dummy.conf
+service_enable $php_prefix-fpm > /dev/null 2>&1
+pool_d=$(multiphp_fpm_pool_d $version)
+if [ $pool_d ]; then
+    v_tpl=${version//.}
+    rm -f $pool_d/*
+    cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf $pool_d/
+    sed -i "s/9999/99$v_tpl/g" $pool_d/dummy.conf       # FIXME: this'll break with PHP 10.0
+fi
 
 # Install backend template
 cp -f $HESTIA_INSTALL_DIR/php-fpm/multiphp.tpl \

+ 15 - 27
bin/v-delete-web-php

@@ -13,6 +13,7 @@
 version=$1
 
 # Includes
+source $HESTIA/func/osal.sh
 source $HESTIA/func/main.sh
 source $HESTIA/conf/hestia.conf
 
@@ -23,8 +24,7 @@ source $HESTIA/conf/hestia.conf
 
 check_args '1' "$#" 'VERSION'
 
-# Set file locations
-php_fpm="/etc/init.d/php$version-fpm"
+php_prefix=$(multiphp_php_package_prefix $version)
 
 # Verify php version format
 if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
@@ -36,7 +36,7 @@ fi
 [ -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl ] && rm -f $HESTIA/data/templates/web/php-fpm/PHP-${version/\./_}.tpl
 
 # Check if php version exists
-if [ ! -f "$php_fpm" ] && [ ! -f "$HESTIA/data/templates/$WEB_SYSTEM/PHP-$version.sh" ]; then
+if [ ! $(multiphp_fpm_isinstalled $version) ] && [ ! -f "$HESTIA/data/templates/$WEB_SYSTEM/PHP-$version.sh" ]; then
     echo "Version is not installed..."
     exit
 fi
@@ -49,40 +49,28 @@ check_hestia_demo_mode
 #                       Action                             #
 #----------------------------------------------------------#
 
-mph="php$version-mbstring php$version-bcmath php$version-cli php$version-curl
-     php$version-fpm php$version-gd php$version-intl php$version-mysql
-     php$version-soap php$version-xml php$version-zip php$version-mbstring
-     php$version-json php$version-bz2 php$version-pspell"
+mph="$php_prefix-mbstring $php_prefix-bcmath $php_prefix-cli $php_prefix-curl
+     $php_prefix-fpm $php_prefix-gd $php_prefix-intl $php_prefix-mysql
+     $php_prefix-soap $php_prefix-xml $php_prefix-zip $php_prefix-mbstring
+     $php_prefix-json $php_prefix-bz2 $php_prefix-pspell"
 
 # Check is version is 7.1 or below to add mcrypt
 if [[ `echo "$version 7.2" | awk '{print ($1 < $2)}'` == 1 ]]; then
-    mph="$mph php$version-mcrypt"
+    mph="$mph $php_prefix-mcrypt"
 fi
 
 # Purge php packages
-apt-get -y purge $mph > /dev/null 2>&1 &
-BACK_PID=$!
-
-# Check if package removal is done, print a spinner
-echo "Removing PHP-$version, please wait..."
-spinner="/-\|"
-spin_i=1
-while kill -0 $BACK_PID > /dev/null 2>&1 ; do
-    printf "\b${spinner:spin_i++%${#spinner}:1}"
-    sleep 0.5
-done
-
-# Do a blank echo to get the \n back
-echo
-
-# Check if installation was sucessfully
-if [ -f "$php_fpm" ]; then
+execute_with_spinner package_remove $mph
+
+# Check if uninstallation was sucessfully
+if [ $(multiphp_fpm_isinstalled $version) ]; then
     echo "Uninstallation failed, please run the following command manualy for debuging:"
-    echo "apt-get purge $mph"
+    echo "$CMD_PACKAGE_MANAGER (remove or purge) ${mph//\\n/ \\}"
 fi
 
 # Cleanup php folder
-[[ -d /etc/php/$version ]] && rm -rf "/etc/php/$version"
+etc_folder=$(multiphp_etc_folder $version)
+[[ -d "$etc_folder" ]] && rm -rf "$etc_folder"
 
 
 #----------------------------------------------------------#