diff --git a/mod_php_install.sh b/mod_php_install.sh index 1e9438c..beb7c23 100755 --- a/mod_php_install.sh +++ b/mod_php_install.sh @@ -795,6 +795,7 @@ FPM_DEFAULT_POOL_ACCESS_FORMAT="\"%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo FPM_DEFAULT_POOL_TERMINATE_TIMEOUT="`expr $MAX_EXECUTION_TIME + 1`s" FPM_ULIMIT_MAX_FILES=`su -c "ulimit -H -n" -s /bin/bash $_PHP_FPM_USER` + echo "" @@ -888,6 +889,31 @@ if [ "$VSERVER_GUEST" = "yes" ]; then fi +declare -a existing_fpm_definition_arr=() +FPM_DEFAULT_POOL_DEFINITION_EXISTS=false +if $WITH_PHP_FPM_SUPPORT ; then + + echo "" + echo -e "\033[32m--\033[m" + echononl "Get existing socket definitions" + if [[ -n "$(ls /usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/*.conf 2>/dev/null)" ]]; then + + for _file in $(ls /usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/*.conf) ; do + if [[ "$(basename "$_file")" = "${FPM_DEFAULT_POOL}.php-fpm.conf" ]]; then + FPM_DEFAULT_POOL_DEFINITION_EXISTS=true + fi + existing_fpm_definition_arr+=("$(realpath "$_file")") + done + + echo_ok + else + echo_skipped + fi + + echo -e "\033[32m--\033[m" + echo "" +fi + echo "" echo "" @@ -896,31 +922,39 @@ echo -e "\033[32m--\033[m" echo "" echo -e "\033[21G\033[32mStart PHP Installation with the following Parameters \033[m" echo "" -echo "OS distribution...............: $os_dist" -echo "OS version....................: $os_version (${os_codename})" +echo "OS distribution..................: $os_dist" +echo "OS version.......................: $os_version (${os_codename})" echo "" -echo "PHP version...................: $VERSION" -echo "PHP main version..............: $PHP_MAIN_VERSION" -echo "PHP major version.............: $PHP_MAJOR_VERSION" -echo "PHP minor version.............: $PHP_MINOR_VERSION" -echo "PHP patch level...............: $PHP_PATCH_LEVEL" +echo "PHP version......................: $VERSION" +echo "PHP main version.................: $PHP_MAIN_VERSION" +echo "PHP major version................: $PHP_MAJOR_VERSION" +echo "PHP minor version................: $PHP_MINOR_VERSION" +echo "PHP patch level..................: $PHP_PATCH_LEVEL" echo "" echo "PHP configuration (php.ini)" -echo " memory_limit...............: $MEMORY_LIMIT" -echo " max_execution_time.........: $MAX_EXECUTION_TIME" -echo " max_input_time.............: $MAX_INPUT_TIME" -echo " upload_max_filesize........: $UPLOAD_MAX_FILESIZE" -echo " post_max_size..............: $POST_MAX_SIZE" +echo " memory_limit..................: $MEMORY_LIMIT" +echo " max_execution_time............: $MAX_EXECUTION_TIME" +echo " max_input_time................: $MAX_INPUT_TIME" +echo " upload_max_filesize...........: $UPLOAD_MAX_FILESIZE" +echo " post_max_size.................: $POST_MAX_SIZE" echo "" -echo "Apache User...................: $HTTPD_USER" -echo "Apache Group..................: $HTTPD_GROUP" +echo "Apache User......................: $HTTPD_USER" +echo "Apache Group.....................: $HTTPD_GROUP" echo "" #echo "MySQL Installation directory..: $MYSQL_INSTALL_DIR" #echo "" -echo "Install with FPM support......: $WITH_PHP_FPM_SUPPORT" +echo "Install with FPM support.........: $WITH_PHP_FPM_SUPPORT" if $WITH_PHP_FPM_SUPPORT ; then - echo " Activate FPM init script...: $ACTIVATE_PHP_FPM_INIT_SCRIPT" - echo " Set umask 0002 for FPM.....: $SET_UMASK" + echo " Activate FPM init script......: $ACTIVATE_PHP_FPM_INIT_SCRIPT" + echo " Set umask 0002 for FPM........: $SET_UMASK" + echo "" + echo " PHP FPM Socket definition(s)..: ${FPM_DEFAULT_POOL}.php-fpm.conf" + if [[ ${#existing_fpm_definition_arr[@]} -gt 0 ]] ; then + for _file in "${existing_fpm_definition_arr[@]}" ; do + [[ "$(basename "$_file")" = "${FPM_DEFAULT_POOL}.php-fpm.conf" ]] && continue + echo " $(basename "$_file")" + done + fi fi if [[ $PHP_MAJOR_VERSION -ge 7 ]]; then echo "" @@ -1822,7 +1856,10 @@ EOF fi echononl "\tCreate php-fpm configuration file for pool \"${FPM_DEFAULT_POOL}\"" - cat < ${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf + if $FPM_DEFAULT_POOL_DEFINITION_EXISTS ; then + echo_skipped + else + cat < ${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf ;;;;;;;;;;;;;;;;;;;; ; Pool Definitions ; ;;;;;;;;;;;;;;;;;;;; @@ -2111,12 +2148,28 @@ request_terminate_timeout = $FPM_DEFAULT_POOL_TERMINATE_TIMEOUT EOF - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + fi fi + # - Copy PHP FPM definitions from current installation to the new one. + # - + if [[ ${#existing_fpm_definition_arr[@]} -gt 0 ]] ; then + for _file in "${existing_fpm_definition_arr[@]}" ; do + echononl "\tTake existing PHP FPM definition '$(basename "$_file")' .." + cp "$_file" "${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/" > /dev/null 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + fi + done + fi + + if [ "$_HTTPD_USER" != $FPM_DEFAULT_POOL_LISTEN_OWNER ]; then echononl "\tAdd apache user to group \"$FPM_DEFAULT_POOL_LISTEN_GROUP\"" usermod -a -G $FPM_DEFAULT_POOL_LISTEN_GROUP $_HTTPD_USER