Просмотр исходного кода

Merge remote-tracking branch 'origin/minorfixes' into main

Kristan Kenney 5 лет назад
Родитель
Сommit
b543ea2238
3 измененных файлов с 60 добавлено и 39 удалено
  1. 22 21
      install/hst-install-debian.sh
  2. 20 18
      install/hst-install-ubuntu.sh
  3. 18 0
      install/upgrade/versions/1.4.0.sh

+ 22 - 21
install/hst-install-debian.sh

@@ -39,7 +39,7 @@ if [ "$release" -eq 9 ]; then
         php$fpm_v-json php$fpm_v-mbstring php$fpm_v-opcache php$fpm_v-pspell
         php$fpm_v-readline php$fpm_v-xml vsftpd proftpd-basic bind9 exim4
         exim4-daemon-heavy clamav-daemon spamassassin dovecot-imapd
-        dovecot-pop3d net-tools 
+        dovecot-pop3d net-tools
         mariadb-client mariadb-common mariadb-server postgresql
         postgresql-contrib phppgadmin mc flex whois rssh git idn zip
         sudo bc ftp lsof rrdtool quota e2fslibs bsdutils e2fsprogs curl
@@ -372,7 +372,7 @@ if [ -d /etc/netplan ] && [ -z "$force" ]; then
         echo
         echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!'
         echo
-        check_result 1 "Unable to detect netplan configuration."    
+        check_result 1 "Unable to detect netplan configuration."
     fi
 fi
 
@@ -424,7 +424,7 @@ install_welcome_message() {
     echo "========================================================================"
     echo 
     echo "Thank you for downloading Hestia Control Panel! In a few moments,"
-    echo "we will begin installing the following components on your server:"          
+    echo "we will begin installing the following components on your server:"
     echo
 }
 
@@ -1097,7 +1097,7 @@ echo "THEME='dark'" >> $HESTIA/conf/hestia.conf
 # Inactive session timeout
 echo "INACTIVE_SESSION_TIMEOUT='60'" >> $HESTIA/conf/hestia.conf
 
-# Allow users to always create domains even the are not the owner of the main domain
+# Do not allow users to create subdomains when they don't own the domain
 echo "ENFORCE_SUBDOMAIN_OWNERSHIP='yes'" >> $HESTIA/conf/hestia.conf
 
 # Version & Release Branch
@@ -1105,7 +1105,7 @@ echo "VERSION='${HESTIA_INSTALL_VER}'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 
 # Email notifications after upgrade
-echo "UPGRADE_SEND_EMAIL='true'" >> $HESTIA/conf/hestia.conf
+echo "UPGRADE_SEND_EMAIL='false'" >> $HESTIA/conf/hestia.conf
 echo "UPGRADE_SEND_EMAIL_LOG='true'" >> $HESTIA/conf/hestia.conf
 
 # Installing hosting packages
@@ -1199,13 +1199,13 @@ if [ "$apache" = 'yes' ]; then
 
     mkdir -p /etc/apache2/conf.d
     mkdir -p /etc/apache2/conf.d/domains
-    
+
     # Copy configuration files
     cp -f $HESTIA_INSTALL_DIR/apache2/apache2.conf /etc/apache2/
     cp -f $HESTIA_INSTALL_DIR/apache2/status.conf /etc/apache2/mods-available/hestia-status.conf
     cp -f /etc/apache2/mods-available/status.load /etc/apache2/mods-available/hestia-status.load
     cp -f $HESTIA_INSTALL_DIR/logrotate/apache2 /etc/logrotate.d/
-    
+
     # Enable needed modules
     a2enmod rewrite > /dev/null 2>&1
     a2enmod suexec > /dev/null 2>&1
@@ -1323,7 +1323,7 @@ if [ "$proftpd" = 'yes' ]; then
     echo "127.0.0.1 $servername" >> /etc/hosts
     cp -f $HESTIA_INSTALL_DIR/proftpd/proftpd.conf /etc/proftpd/
     cp -f $HESTIA_INSTALL_DIR/proftpd/tls.conf /etc/proftpd/
-    
+
     update-rc.d proftpd defaults > /dev/null 2>&1
     systemctl start proftpd >> $LOG
     check_result $? "proftpd start failed"
@@ -1343,10 +1343,10 @@ if [ "$mysql" = 'yes' ]; then
     if [ $memory -gt 3900000 ]; then
         mycnf="my-large.cnf"
     fi
-    
+
     # Remove symbolic link
     rm -f /etc/mysql/my.cnf
-    
+
     # Configuring MariaDB
     cp -f $HESTIA_INSTALL_DIR/mysql/$mycnf /etc/mysql/my.cnf
     mysql_install_db >> $LOG
@@ -1383,34 +1383,34 @@ if [ "$mysql" = 'yes' ]; then
 
     # Unpack files
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Create folders
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p /etc/phpmyadmin
-    mkdir -p /etc/phpmyadmin/conf.d/  
+    mkdir -p /etc/phpmyadmin/conf.d/
     mkdir /usr/share/phpmyadmin/tmp
-    
+
     # Configuring Apache2 for PHPMYADMIN
     if [ "$apache" = 'yes' ]; then
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
     fi
-    
+
     # Overwrite old files
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
-    
+
     # Create copy of config file
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     mkdir -p /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
-    
+
     # Set config and log directory
     sed -i "s|define('CONFIG_DIR', ROOT_PATH);|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
     sed -i "s|define('TEMP_DIR', ROOT_PATH . 'tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
 
     # Create temporary folder and change permission
     chmod 777 /usr/share/phpmyadmin/tmp
-    
+
     # Generate blow fish
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
@@ -1644,11 +1644,12 @@ fi
 #                       Configure API                      #
 #----------------------------------------------------------#
 
-echo "API='yes'" >> $HESTIA/conf/hestia.conf
-if [ "$api" != "yes" ]; then
+if [ "$api" = "yes" ]; then
+    echo "API='yes'" >> $HESTIA/conf/hestia.conf
+    echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
+else
     $HESTIA/bin/v-change-sys-api disable
 fi
-echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
 
 #----------------------------------------------------------#
 #                   Configure Admin User                   #
@@ -1815,7 +1816,7 @@ echo -e "\n"
 # Sending notification to admin email
 echo -e "Congratulations!
 
-You have successfully installed Hestia Control Panel on your server. 
+You have successfully installed Hestia Control Panel on your server.
 
 Ready to get started? Log in using the following credentials:
 

+ 20 - 18
install/hst-install-ubuntu.sh

@@ -562,7 +562,7 @@ echo
 if [ "$nginx" = 'yes' ]; then
     echo "[ * ] NGINX"
     echo "deb [arch=amd64] https://nginx.org/packages/mainline/$VERSION/ $codename nginx" > $apt/nginx.list
-    apt-key adv --fetch-keys 'https://nginx.org/keys/nginx_signing.key' > /dev/null 2>&1    
+    apt-key adv --fetch-keys 'https://nginx.org/keys/nginx_signing.key' > /dev/null 2>&1
 fi
 
 # Installing sury PHP repo
@@ -1130,7 +1130,7 @@ echo "THEME='dark'" >> $HESTIA/conf/hestia.conf
 # Inactive session timeout
 echo "INACTIVE_SESSION_TIMEOUT='60'" >> $HESTIA/conf/hestia.conf
 
-# Allow users to always create domains even the are not the owner of the main domain
+# Do not allow users to create subdomains when they don't own the domain
 echo "ENFORCE_SUBDOMAIN_OWNERSHIP='yes'" >> $HESTIA/conf/hestia.conf
 
 # Version & Release Branch
@@ -1138,7 +1138,7 @@ echo "VERSION='${HESTIA_INSTALL_VER}'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 
 # Email notifications after upgrade
-echo "UPGRADE_SEND_EMAIL='true'" >> $HESTIA/conf/hestia.conf
+echo "UPGRADE_SEND_EMAIL='false'" >> $HESTIA/conf/hestia.conf
 echo "UPGRADE_SEND_EMAIL_LOG='true'" >> $HESTIA/conf/hestia.conf
 
 # Installing hosting packages
@@ -1411,51 +1411,51 @@ fi
 if [ "$mysql" = 'yes' ]; then
     # Display upgrade information
     echo "[ * ] Installing phpMyAdmin version v$pma_v..."
-    
+
     # Download latest phpmyadmin release
     wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Unpack files
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Create folders
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p /etc/phpmyadmin
-    mkdir -p /etc/phpmyadmin/conf.d/  
+    mkdir -p /etc/phpmyadmin/conf.d/
     mkdir /usr/share/phpmyadmin/tmp
-    
+
     # Configuring Apache2 for PHPMYADMIN
     if [ "$apache" = 'yes' ]; then
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
     fi
-    
+
     # Overwrite old files
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
-    
+
     # Create copy of config file
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     mkdir -p /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
-    
+
     # Set config and log directory
     sed -i "s|define('CONFIG_DIR', ROOT_PATH);|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
     sed -i "s|define('TEMP_DIR', ROOT_PATH . 'tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
-    
+
     # Create temporary folder and change permission
     chmod 777 /usr/share/phpmyadmin/tmp
 
     # Generate blow fish
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
-    
+
     # Clean Up
     rm -fr phpMyAdmin-$pma_v-all-languages
     rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     echo "DB_PMA_ALIAS='phpmyadmin'" >> $HESTIA/conf/hestia.conf
     $HESTIA/bin/v-change-sys-db-alias 'pma' "phpmyadmin"
-    
+
     # Special thanks to Pavel Galkin (https://skurudo.ru)
     # https://github.com/skurudo/phpmyadmin-fixer
     source $HESTIA_INSTALL_DIR/phpmyadmin/pma.sh > /dev/null 2>&1
@@ -1669,11 +1669,13 @@ fi
 #                       Configure API                      #
 #----------------------------------------------------------#
 
-echo "API='yes'" >> $HESTIA/conf/hestia.conf
-if [ "$api" != "yes" ]; then
+if [ "$api" = "yes" ]; then
+    echo "API='yes'" >> $HESTIA/conf/hestia.conf
+    echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
+else
     $HESTIA/bin/v-change-sys-api disable
 fi
-echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
+
 
 #----------------------------------------------------------#
 #                   Configure Admin User                   #

+ 18 - 0
install/upgrade/versions/1.4.0.sh

@@ -105,3 +105,21 @@ if [ -f /etc/apt/sources.list.d/postgresql.list ]; then
     echo "[ * ] Updating PostgreSQL repository..."
     sed -i 's|deb https://apt.postgresql.org/pub/repos/apt/|deb [arch=amd64] https://apt.postgresql.org/pub/repos/apt/|g' /etc/apt/sources.list.d/postgresql.list
 fi
+
+# New configuration value for enforcing subdomain ownership
+check=$(cat $HESTIA/conf/hestia.conf | grep 'ENFORCE_SUBDOMAIN_OWNERSHIP');
+if [ -z "$check" ]; then 
+    echo "[ * ] Setting ENFORCE_SUBDOMAIN_OWNERSHIP to no"
+    echo "ENFORCE_SUBDOMAIN_OWNERSHIP='no'" >> $HESTIA/conf/hestia.conf
+fi
+
+# New API feature to set allowed IPs
+if [ "$api" = "yes" ]; then
+    check=$(cat $HESTIA/conf/hestia.conf | grep 'API_ALLOWED_IP');
+    if [ -z "$check" ]; then 
+        echo "[ * ] Setting API_ALLOWED_IP to allow-all"
+        echo "API_ALLOWED_IP='allow-all'" >> $HESTIA/conf/hestia.conf
+    fi
+else
+    $HESTIA/bin/v-change-sys-api disable
+fi