Added fixes for php manipulation and system config
This commit is contained in:
@@ -22,14 +22,16 @@ source_conf "$HESTIA/conf/hestia.conf"
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Ensure that quota kernel modules are installed
|
||||
kernel_module_check=$(find /lib/modules/$(uname -r) -type f -name '*quota_v*.ko*' | egrep '.*' && [ $? -eq 0 ])
|
||||
if [ -z "$kernel_module_check" ]; then
|
||||
# Install kernel modules for quota support.
|
||||
# Requires reboot to activate updated kernel.
|
||||
echo "Installing required kernel modules for quota support..."
|
||||
reboot_req="Y"
|
||||
apt-get -qq install linux-image-extra-virtual -y
|
||||
check_result $? "kernel module installation failed" "$E_UPDATE"
|
||||
if [ ! -f /etc/redhat-release ]; then
|
||||
kernel_module_check=$(find /lib/modules/$(uname -r) -type f -name '*quota_v*.ko*' | egrep '.*' && [ $? -eq 0 ])
|
||||
if [ -z "$kernel_module_check" ]; then
|
||||
# Install kernel modules for quota support.
|
||||
# Requires reboot to activate updated kernel.
|
||||
echo "Installing required kernel modules for quota support..."
|
||||
reboot_req="Y"
|
||||
apt-get -qq install linux-image-extra-virtual -y
|
||||
check_result $? "kernel module installation failed" "$E_UPDATE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Checking quota package
|
||||
|
||||
@@ -38,7 +38,11 @@ if [ -z "$WEB_BACKEND" ]; then
|
||||
fi
|
||||
|
||||
# Set file locations
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
fi
|
||||
|
||||
# Verify php version format
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
@@ -74,16 +78,16 @@ check_hestia_demo_mode
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
mph="php$version-common php$version-mbstring php$version-bcmath php$version-cli php$version-curl
|
||||
mph="php$version-common 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-json php$version-bz2
|
||||
php$version-pspell php$version-imagick php$version-pgsql php$version-imap php$version-ldap"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
if [ "$version" = "56" ]; then
|
||||
mph=$(sed -e "s/php$version-php-pecl-apcu//")
|
||||
@@ -139,6 +143,13 @@ if [ ! -f "$php_fpm" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
result_alt_php=$(alternatives --display php | grep /usr/bin/php$version)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$version 1 > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if required modules for apache2 are enabled
|
||||
if [ "$WEB_SYSTEM" = "apache2" ]; then
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
|
||||
@@ -21,10 +21,18 @@ source_conf "$HESTIA/conf/hestia.conf"
|
||||
check_args '1' "$#" 'VERSION'
|
||||
|
||||
# Verify php version format
|
||||
if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
else
|
||||
if [[ ! $version =~ ^[0-9].[0-9]+ ]]; then
|
||||
echo "The specified PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if php version exists
|
||||
@@ -42,10 +50,19 @@ check_hestia_demo_mode
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Set file locations
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
fi
|
||||
|
||||
rm -f /etc/php/*/fpm/pool.d/www.conf
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$version/fpm/pool.d/www.conf
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
rm -f /etc/opt/remi/php*/php-fpm.d/www.conf
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /etc/opt/remi/php$version/php-fpm.d/www.conf
|
||||
else
|
||||
rm -f /etc/php/*/fpm/pool.d/www.conf
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$version/fpm/pool.d/www.conf
|
||||
fi
|
||||
|
||||
for user in $($BIN/v-list-sys-users plain); do
|
||||
$BIN/v-rebuild-web-domains "$user" 'no' > /dev/null 2>&1
|
||||
@@ -58,6 +75,13 @@ $BIN/v-restart-web-backend
|
||||
$BIN/v-restart-web
|
||||
$BIN/v-restart-proxy
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
result_alt_php=$(alternatives --display php | grep /usr/bin/php$version)
|
||||
if [ -z "$result_alt_php" ]; then
|
||||
alternatives --install /usr/bin/php php /usr/bin/php$version 1 > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
update-alternatives --set php /usr/bin/php$version
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
||||
11
bin/v-check-rhel-utility
Executable file
11
bin/v-check-rhel-utility
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
# info: Check rehel or not
|
||||
# options: none
|
||||
|
||||
# example: v-check-rhel-utility
|
||||
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
echo -n "+"
|
||||
else
|
||||
echo -n "-"
|
||||
fi
|
||||
@@ -32,13 +32,25 @@ if [ -z "$WEB_BACKEND" ]; then
|
||||
fi
|
||||
|
||||
# Set file locations
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
php_fpm="/usr/lib/systemd/system/php$version-php-fpm.service"
|
||||
else
|
||||
php_fpm="/etc/init.d/php$version-fpm"
|
||||
fi
|
||||
|
||||
# Verify php version format
|
||||
if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4"
|
||||
exit
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ ! $version =~ ^[0-9][0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9][0-9]."
|
||||
echo "Example: 70, 74, 80"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
else
|
||||
if [[ ! $version =~ ^[0-9].[0-9]+ ]]; then
|
||||
echo "The PHP version format is invalid, it should look like [0-9].[0-9]."
|
||||
echo "Example: 7.0, 7.4, 8.0"
|
||||
exit "$E_INVALID"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Remove backend template
|
||||
@@ -64,10 +76,25 @@ mph="php$version-common php$version-mbstring php$version-bcmath php$version-cli
|
||||
php$version-json php$version-bz2 php$version-pspell php$version-imagick php$version-pgsql
|
||||
php$version-imap php$version-ldap"
|
||||
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
# Packages in Remi repo have names with php$version-php- prefixes
|
||||
mph="php$version-php-fpm php$version-php-cgi php$version-php-mysqlnd php$version-php-pgsql
|
||||
php$version-php-pdo php$version-php-common php$version-php-pecl-imagick php$version-php-imap
|
||||
php$version-php-ldap php$version-php-pecl-apcu php$version-php-pecl-zip php$version-php-cli
|
||||
php$version-php-opcache php$version-php-xml php$version-php-gd php$version-php-intl
|
||||
php$version-php-mbstring php$version-php-pspell php$version-php-readline"
|
||||
fi
|
||||
|
||||
# Check is version is 7.1 or below to add mcrypt
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
if [[ $(echo "$version 72" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-php-mcrypt"
|
||||
fi
|
||||
else
|
||||
if [[ $(echo "$version 7.2" | awk '{print ($1 < $2)}') == 1 ]]; then
|
||||
mph="$mph php$version-mcrypt"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Purge php packages
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
@@ -101,16 +128,33 @@ if [ -f "$php_fpm" ]; then
|
||||
fi
|
||||
|
||||
# Cleanup php folder
|
||||
[[ -d /etc/php/$version ]] && rm -rf "/etc/php/$version"
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
[[ -d /etc/opt/remi/php$version ]] && rm -rf "/etc/opt/remi/php$version"
|
||||
else
|
||||
[[ -d /etc/php/$version ]] && rm -rf "/etc/php/$version"
|
||||
fi
|
||||
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /etc/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$last/fpm/pool.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
if [ -f '/etc/redhat-release' ]; then
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /etc/opt/remi/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/rpm/php-fpm/www.conf /etc/opt/remi/php$version/php-fpm.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "$WEB_BACKEND" = "php-fpm" ]; then
|
||||
conf=$(find /etc/php* -name www.conf)
|
||||
# Check if www.conf exists
|
||||
if [ -z "$conf" ]; then
|
||||
# If not grab the "last php version
|
||||
last=$($BIN/v-list-sys-php "shell" | tail -n1)
|
||||
cp -f $HESTIA/install/deb/php-fpm/www.conf /etc/php/$last/fpm/pool.d/www.conf
|
||||
$BIN/v-restart-web-backend
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -67,10 +67,17 @@ csv_list() {
|
||||
|
||||
declare -a versions
|
||||
# List through /etc/php
|
||||
for version in /etc/php/*/fpm/pool.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }')
|
||||
versions+=("$ver")
|
||||
done
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
for version in /etc/opt/remi/php*/php-fpm.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $5 }' | sed "s/php\([[:digit:]]\+\)/\1/g")
|
||||
versions+=("$ver")
|
||||
done
|
||||
else
|
||||
for version in /etc/php/*/fpm/pool.d/www.conf; do
|
||||
ver=$(echo "$version" | awk -F"/" '{ print $4 }')
|
||||
versions+=("$ver")
|
||||
done
|
||||
fi
|
||||
|
||||
# Listing data
|
||||
case $format in
|
||||
|
||||
Reference in New Issue
Block a user