Skip to content

Commit 46873a3

Browse files
committed
Installer: Enable multiple php-fpm backends for multiphp setup
1 parent 317785b commit 46873a3

File tree

2 files changed

+25
-160
lines changed

2 files changed

+25
-160
lines changed

install/hst-install-debian.sh

Lines changed: 12 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,8 @@ set_default_port '8083'
261261
set_default_lang 'en'
262262

263263
# Checking software conflicts
264-
if [ "$phpfpm" = 'yes' ]; then
265-
apache='no'
266-
nginx='yes'
267-
fi
268264
if [ "$multiphp" = 'yes' ]; then
269-
phpfpm='no'
265+
phpfpm='yes'
270266
fi
271267
if [ "$proftpd" = 'yes' ]; then
272268
vsftpd='no'
@@ -717,31 +713,6 @@ rm -rf $HESTIA > /dev/null 2>&1
717713
# Package Includes #
718714
#----------------------------------------------------------#
719715

720-
if [ "$multiphp" = 'yes' ]; then
721-
fpm_added=false
722-
for v in "${multiphp_v[@]}"; do
723-
if [ "$v" = "$fpm_v" ]; then
724-
fpm_added=true
725-
fi
726-
mph="php$v-mbstring php$v-bcmath php$v-cli php$v-curl php$v-fpm
727-
php$v-gd php$v-intl php$v-mysql php$v-soap php$v-xml php$v-zip
728-
php$v-mbstring php$v-json php$v-bz2 php$v-pspell"
729-
# Check is version is 7.1 or below to add mcrypt
730-
if [[ `echo "$v 7.2" | awk '{print ($1 < $2)}'` == 1 ]]; then
731-
mph="$mph php$v-mcrypt"
732-
fi
733-
software="$software $mph"
734-
done
735-
if [ "$fpm_added" = false ]; then
736-
fpm="php$fpm_v php$fpm_v-common php$fpm_v-bcmath php$fpm_v-cli
737-
php$fpm_v-curl php$fpm_v-fpm php$fpm_v-gd php$fpm_v-intl
738-
php$fpm_v-mysql php$fpm_v-soap php$fpm_v-xml php$fpm_v-zip
739-
php$fpm_v-mbstring php$fpm_v-json php$fpm_v-bz2 php$fpm_v-pspell"
740-
software="$software $fpm"
741-
multiphp+=("$fpm_v")
742-
fi
743-
fi
744-
745716
if [ "$phpfpm" = 'yes' ]; then
746717
fpm="php$fpm_v php$fpm_v-common php$fpm_v-bcmath php$fpm_v-cli
747718
php$fpm_v-curl php$fpm_v-fpm php$fpm_v-gd php$fpm_v-intl
@@ -810,12 +781,6 @@ if [ "$mysql" = 'no' ]; then
810781
software=$(echo "$software" | sed -e 's/mariadb-client//')
811782
software=$(echo "$software" | sed -e 's/mariadb-common//')
812783
software=$(echo "$software" | sed -e 's/php-mysql//')
813-
if [ "$multiphp" = 'yes' ]; then
814-
for v in "${multiphp_v[@]}"; do
815-
software=$(echo "$software" | sed -e "s/php$v-mysql//")
816-
software=$(echo "$software" | sed -e "s/php$v-bz2//")
817-
done
818-
fi
819784
if [ "$phpfpm" = 'yes' ]; then
820785
software=$(echo "$software" | sed -e "s/php$fpm_v-mysql//")
821786
fi
@@ -825,11 +790,6 @@ if [ "$postgresql" = 'no' ]; then
825790
software=$(echo "$software" | sed -e 's/postgresql-contrib//')
826791
software=$(echo "$software" | sed -e 's/postgresql//')
827792
software=$(echo "$software" | sed -e 's/php-pgsql//')
828-
if [ "$multiphp" = 'yes' ]; then
829-
for v in "${multiphp_v[@]}"; do
830-
software=$(echo "$software" | sed -e "s/php$v-pgsql//")
831-
done
832-
fi
833793
if [ "$phpfpm" = 'yes' ]; then
834794
software=$(echo "$software" | sed -e "s/php$v-pgsql//")
835795
fi
@@ -1044,7 +1004,7 @@ if [ "$apache" = 'no' ] && [ "$nginx" = 'yes' ]; then
10441004
echo "WEB_PORT='80'" >> $HESTIA/conf/hestia.conf
10451005
echo "WEB_SSL_PORT='443'" >> $HESTIA/conf/hestia.conf
10461006
echo "WEB_SSL='openssl'" >> $HESTIA/conf/hestia.conf
1047-
if [ "$release" -eq 9 ]; then
1007+
if [ "$release" -ge 9 ] || [ "$multiphp" = 'yes' ]; then
10481008
if [ "$phpfpm" = 'yes' ]; then
10491009
echo "WEB_BACKEND='php-fpm'" >> $HESTIA/conf/hestia.conf
10501010
fi
@@ -1171,27 +1131,6 @@ if [ "$nginx" = 'yes' ]; then
11711131
cp -f $HESTIA_INSTALL_DIR/logrotate/nginx /etc/logrotate.d/
11721132
mkdir -p /etc/nginx/conf.d/domains
11731133
mkdir -p /var/log/nginx/domains
1174-
if [ "$apache" = 'no' ] && [ "$multiphp" = 'yes' ]; then
1175-
echo "(*) Configuring Multi-PHP for NGINX..."
1176-
rm -fr $HESTIA/data/templates/web/nginx/*
1177-
for v in "${multiphp_v[@]}"; do
1178-
update-rc.d php$v-fpm defaults > /dev/null 2>&1
1179-
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1180-
rm -f /etc/php/$v/fpm/pool.d/*
1181-
v_tpl=$(echo "$v" | sed -e 's/[.]//')
1182-
cp -f $HESTIA_INSTALL_DIR/multiphp/nginx/PHP-$v_tpl.* $HESTIA/data/templates/web/nginx/
1183-
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$v/fpm/pool.d/
1184-
sed -i "s/9999/99$v_tpl/g" /etc/php/$v/fpm/pool.d/dummy.conf
1185-
done
1186-
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/php/$fpm_v/fpm/pool.d/
1187-
chmod a+x $HESTIA/data/templates/web/nginx/*.sh
1188-
fpm_tpl=$(echo "$fpm_v" | sed -e 's/[.]//')
1189-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.sh $HESTIA/data/templates/web/nginx/default.sh
1190-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.tpl $HESTIA/data/templates/web/nginx/default.tpl
1191-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.stpl $HESTIA/data/templates/web/nginx/default.stpl
1192-
systemctl start php$fpm_v-fpm >> $LOG
1193-
check_result $? "php$fpm_v-fpm start failed"
1194-
fi
11951134

11961135
# Update dns servers in nginx.conf
11971136
dns_resolver=$(cat /etc/resolv.conf | grep -i '^nameserver' | cut -d ' ' -f2 | tr '\r\n' ' ' | xargs)
@@ -1236,25 +1175,6 @@ if [ "$apache" = 'yes' ]; then
12361175
chmod a+x /var/log/apache2
12371176
chmod 640 /var/log/apache2/access.log /var/log/apache2/error.log
12381177
chmod 751 /var/log/apache2/domains
1239-
if [ "$multiphp" = 'yes' ] ; then
1240-
echo "(*) Configuring Multi-PHP for Apache..."
1241-
a2enmod proxy_fcgi setenvif > /dev/null 2>&1
1242-
for v in "${multiphp_v[@]}"; do
1243-
a2enconf php$v-fpm-fpm > /dev/null 2>&1
1244-
update-rc.d php$v-fpm defaults > /dev/null 2>&1
1245-
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1246-
rm -f /etc/php/$v/fpm/pool.d/*
1247-
v_tpl=$(echo "$v" | sed -e 's/[.]//')
1248-
cp -f $HESTIA_INSTALL_DIR/multiphp/apache2/PHP-$v_tpl.* $HESTIA/data/templates/web/apache2/
1249-
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$v/fpm/pool.d/
1250-
sed -i "s/9999/99$v_tpl/g" /etc/php/$v/fpm/pool.d/dummy.conf
1251-
done
1252-
chmod a+x $HESTIA/data/templates/web/apache2/*.sh
1253-
if [ "$release" = '8' ]; then
1254-
sed -i 's/#//g' $HESTIA/data/templates/web/apache2/*.tpl
1255-
sed -i 's/#//g' $HESTIA/data/templates/web/apache2/*.stpl
1256-
fi
1257-
fi
12581178

12591179
update-rc.d apache2 defaults > /dev/null 2>&1
12601180
systemctl start apache2 >> $LOG
@@ -1269,8 +1189,18 @@ fi
12691189
# Configure PHP-FPM #
12701190
#----------------------------------------------------------#
12711191

1192+
if [ "$multiphp" = 'yes' ] ; then
1193+
for v in "${multiphp_v[@]}"; do
1194+
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1195+
rm -f /etc/php/$v/fpm/pool.d/*
1196+
1197+
$HESTIA/bin/v-add-web-php "$v"
1198+
done
1199+
fi
1200+
12721201
if [ "$phpfpm" = 'yes' ]; then
12731202
echo "(*) Configuring PHP-FPM..."
1203+
$HESTIA/bin/v-add-web-php "$fpm_v"
12741204
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/php/$fpm_v/fpm/pool.d/www.conf
12751205
update-rc.d php$fpm_v-fpm defaults > /dev/null 2>&1
12761206
systemctl start php$fpm_v-fpm >> $LOG

install/hst-install-ubuntu.sh

Lines changed: 13 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,9 @@ set_default_port '8083'
234234
set_default_lang 'en'
235235

236236
# Checking software conflicts
237-
if [ "$phpfpm" = 'yes' ]; then
238-
apache='no'
239-
nginx='yes'
240-
fi
237+
241238
if [ "$multiphp" = 'yes' ]; then
242-
phpfpm='no'
239+
phpfpm='yes'
243240
fi
244241
if [ "$proftpd" = 'yes' ]; then
245242
vsftpd='no'
@@ -670,31 +667,6 @@ rm -rf $HESTIA > /dev/null 2>&1
670667
# Package Includes #
671668
#----------------------------------------------------------#
672669

673-
if [ "$multiphp" = 'yes' ]; then
674-
fpm_added=false
675-
for v in "${multiphp_v[@]}"; do
676-
if [ "$v" = "$fpm_v" ]; then
677-
fpm_added=true
678-
fi
679-
mph="php$v-mbstring php$v-bcmath php$v-cli php$v-curl php$v-fpm
680-
php$v-gd php$v-intl php$v-mysql php$v-soap php$v-xml php$v-zip
681-
php$v-mbstring php$v-json php$v-bz2 php$v-pspell"
682-
# Check is version is 7.1 or below to add mcrypt
683-
if [[ `echo "$v 7.2" | awk '{print ($1 < $2)}'` == 1 ]]; then
684-
mph="$mph php$v-mcrypt"
685-
fi
686-
software="$software $mph"
687-
done
688-
if [ "$fpm_added" = false ]; then
689-
fpm="php$fpm_v php$fpm_v-common php$fpm_v-bcmath php$fpm_v-cli
690-
php$fpm_v-curl php$fpm_v-fpm php$fpm_v-gd php$fpm_v-intl
691-
php$fpm_v-mysql php$fpm_v-soap php$fpm_v-xml php$fpm_v-zip
692-
php$fpm_v-mbstring php$fpm_v-json php$fpm_v-bz2 php$fpm_v-pspell"
693-
software="$software $fpm"
694-
multiphp+=("$fpm_v")
695-
fi
696-
fi
697-
698670
if [ "$phpfpm" = 'yes' ]; then
699671
fpm="php$fpm_v php$fpm_v-common php$fpm_v-bcmath php$fpm_v-cli
700672
php$fpm_v-curl php$fpm_v-fpm php$fpm_v-gd php$fpm_v-intl
@@ -763,12 +735,6 @@ if [ "$mysql" = 'no' ]; then
763735
software=$(echo "$software" | sed -e 's/mariadb-client//')
764736
software=$(echo "$software" | sed -e 's/mariadb-common//')
765737
software=$(echo "$software" | sed -e 's/php-mysql//')
766-
if [ "$multiphp" = 'yes' ]; then
767-
for v in "${multiphp_v[@]}"; do
768-
software=$(echo "$software" | sed -e "s/php$v-mysql//")
769-
software=$(echo "$software" | sed -e "s/php$v-bz2//")
770-
done
771-
fi
772738
if [ "$phpfpm" = 'yes' ]; then
773739
software=$(echo "$software" | sed -e "s/php$fpm_v-mysql//")
774740
fi
@@ -778,11 +744,6 @@ if [ "$postgresql" = 'no' ]; then
778744
software=$(echo "$software" | sed -e 's/postgresql-contrib//')
779745
software=$(echo "$software" | sed -e 's/postgresql//')
780746
software=$(echo "$software" | sed -e 's/php-pgsql//')
781-
if [ "$multiphp" = 'yes' ]; then
782-
for v in "${multiphp_v[@]}"; do
783-
software=$(echo "$software" | sed -e "s/php$v-pgsql//")
784-
done
785-
fi
786747
if [ "$phpfpm" = 'yes' ]; then
787748
software=$(echo "$software" | sed -e "s/php$v-pgsql//")
788749
fi
@@ -1003,7 +964,7 @@ if [ "$apache" = 'no' ] && [ "$nginx" = 'yes' ]; then
1003964
echo "WEB_PORT='80'" >> $HESTIA/conf/hestia.conf
1004965
echo "WEB_SSL_PORT='443'" >> $HESTIA/conf/hestia.conf
1005966
echo "WEB_SSL='openssl'" >> $HESTIA/conf/hestia.conf
1006-
if [ "$phpfpm" = 'yes' ]; then
967+
if [ "$phpfpm" = 'yes' ] || [ "$multiphp" = 'yes' ]; then
1007968
echo "WEB_BACKEND='php-fpm'" >> $HESTIA/conf/hestia.conf
1008969
fi
1009970
echo "STATS_SYSTEM='awstats'" >> $HESTIA/conf/hestia.conf
@@ -1129,27 +1090,6 @@ if [ "$nginx" = 'yes' ]; then
11291090
cp -f $HESTIA_INSTALL_DIR/logrotate/nginx /etc/logrotate.d/
11301091
mkdir -p /etc/nginx/conf.d/domains
11311092
mkdir -p /var/log/nginx/domains
1132-
if [ "$apache" = 'no' ] && [ "$multiphp" = 'yes' ]; then
1133-
echo "(*) Configuring Multi-PHP for NGINX..."
1134-
rm -fr $HESTIA/data/templates/web/nginx/*
1135-
for v in "${multiphp_v[@]}"; do
1136-
update-rc.d php$v-fpm defaults > /dev/null 2>&1
1137-
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1138-
rm -f /etc/php/$v/fpm/pool.d/*
1139-
v_tpl=$(echo "$v" | sed -e 's/[.]//')
1140-
cp -f $HESTIA_INSTALL_DIR/multiphp/nginx/PHP-$v_tpl.* $HESTIA/data/templates/web/nginx/
1141-
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$v/fpm/pool.d/
1142-
sed -i "s/9999/99$v_tpl/g" /etc/php/$v/fpm/pool.d/dummy.conf
1143-
done
1144-
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/php/$fpm_v/fpm/pool.d/
1145-
chmod a+x $HESTIA/data/templates/web/nginx/*.sh
1146-
fpm_tpl=$(echo "$fpm_v" | sed -e 's/[.]//')
1147-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.sh $HESTIA/data/templates/web/nginx/default.sh
1148-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.tpl $HESTIA/data/templates/web/nginx/default.tpl
1149-
ln -s $HESTIA/data/templates/web/nginx/PHP-$fpm_tpl.stpl $HESTIA/data/templates/web/nginx/default.stpl
1150-
systemctl start php$fpm_v-fpm >> $LOG
1151-
check_result $? "php$fpm_v-fpm start failed"
1152-
fi
11531093

11541094
# Update dns servers in nginx.conf
11551095
dns_resolver=$(cat /etc/resolv.conf | grep -i '^nameserver' | cut -d ' ' -f2 | tr '\r\n' ' ' | xargs)
@@ -1194,21 +1134,6 @@ if [ "$apache" = 'yes' ]; then
11941134
chmod a+x /var/log/apache2
11951135
chmod 640 /var/log/apache2/access.log /var/log/apache2/error.log
11961136
chmod 751 /var/log/apache2/domains
1197-
if [ "$multiphp" = 'yes' ] ; then
1198-
echo "(*) Configuring Multi-PHP for Apache..."
1199-
a2enmod proxy_fcgi setenvif > /dev/null 2>&1
1200-
for v in "${multiphp_v[@]}"; do
1201-
a2enconf php$v-fpm-fpm > /dev/null 2>&1
1202-
update-rc.d php$v-fpm defaults > /dev/null 2>&1
1203-
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1204-
rm -f /etc/php/$v/fpm/pool.d/*
1205-
v_tpl=$(echo "$v" | sed -e 's/[.]//')
1206-
cp -f $HESTIA_INSTALL_DIR/multiphp/apache2/PHP-$v_tpl.* $HESTIA/data/templates/web/apache2/
1207-
cp -f $HESTIA_INSTALL_DIR/php-fpm/dummy.conf /etc/php/$v/fpm/pool.d/
1208-
sed -i "s/9999/99$v_tpl/g" /etc/php/$v/fpm/pool.d/dummy.conf
1209-
done
1210-
chmod a+x $HESTIA/data/templates/web/apache2/*.sh
1211-
fi
12121137

12131138
update-rc.d apache2 defaults > /dev/null 2>&1
12141139
systemctl start apache2 >> $LOG
@@ -1223,8 +1148,18 @@ fi
12231148
# Configure PHP-FPM #
12241149
#----------------------------------------------------------#
12251150

1151+
if [ "$multiphp" = 'yes' ] ; then
1152+
for v in "${multiphp_v[@]}"; do
1153+
cp -r /etc/php/$v/ /root/hst_install_backups/php$v/
1154+
rm -f /etc/php/$v/fpm/pool.d/*
1155+
1156+
$HESTIA/bin/v-add-web-php "$v"
1157+
done
1158+
fi
1159+
12261160
if [ "$phpfpm" = 'yes' ]; then
12271161
echo "(*) Configuring PHP-FPM..."
1162+
$HESTIA/bin/v-add-web-php "$fpm_v"
12281163
cp -f $HESTIA_INSTALL_DIR/php-fpm/www.conf /etc/php/$fpm_v/fpm/pool.d/www.conf
12291164
update-rc.d php$fpm_v-fpm defaults > /dev/null 2>&1
12301165
systemctl start php$fpm_v-fpm >> $LOG

0 commit comments

Comments
 (0)