Browse Source

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

Kristan Kenney 5 years ago
parent
commit
b543ea2238
3 changed files with 60 additions and 39 deletions
  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-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
         php$fpm_v-readline php$fpm_v-xml vsftpd proftpd-basic bind9 exim4
         exim4-daemon-heavy clamav-daemon spamassassin dovecot-imapd
         exim4-daemon-heavy clamav-daemon spamassassin dovecot-imapd
-        dovecot-pop3d net-tools 
+        dovecot-pop3d net-tools
         mariadb-client mariadb-common mariadb-server postgresql
         mariadb-client mariadb-common mariadb-server postgresql
         postgresql-contrib phppgadmin mc flex whois rssh git idn zip
         postgresql-contrib phppgadmin mc flex whois rssh git idn zip
         sudo bc ftp lsof rrdtool quota e2fslibs bsdutils e2fsprogs curl
         sudo bc ftp lsof rrdtool quota e2fslibs bsdutils e2fsprogs curl
@@ -372,7 +372,7 @@ if [ -d /etc/netplan ] && [ -z "$force" ]; then
         echo
         echo
         echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!'
         echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!'
         echo
         echo
-        check_result 1 "Unable to detect netplan configuration."    
+        check_result 1 "Unable to detect netplan configuration."
     fi
     fi
 fi
 fi
 
 
@@ -424,7 +424,7 @@ install_welcome_message() {
     echo "========================================================================"
     echo "========================================================================"
     echo 
     echo 
     echo "Thank you for downloading Hestia Control Panel! In a few moments,"
     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
     echo
 }
 }
 
 
@@ -1097,7 +1097,7 @@ echo "THEME='dark'" >> $HESTIA/conf/hestia.conf
 # Inactive session timeout
 # Inactive session timeout
 echo "INACTIVE_SESSION_TIMEOUT='60'" >> $HESTIA/conf/hestia.conf
 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
 echo "ENFORCE_SUBDOMAIN_OWNERSHIP='yes'" >> $HESTIA/conf/hestia.conf
 
 
 # Version & Release Branch
 # Version & Release Branch
@@ -1105,7 +1105,7 @@ echo "VERSION='${HESTIA_INSTALL_VER}'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 
 
 # Email notifications after upgrade
 # 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
 echo "UPGRADE_SEND_EMAIL_LOG='true'" >> $HESTIA/conf/hestia.conf
 
 
 # Installing hosting packages
 # Installing hosting packages
@@ -1199,13 +1199,13 @@ if [ "$apache" = 'yes' ]; then
 
 
     mkdir -p /etc/apache2/conf.d
     mkdir -p /etc/apache2/conf.d
     mkdir -p /etc/apache2/conf.d/domains
     mkdir -p /etc/apache2/conf.d/domains
-    
+
     # Copy configuration files
     # Copy configuration files
     cp -f $HESTIA_INSTALL_DIR/apache2/apache2.conf /etc/apache2/
     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 $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 /etc/apache2/mods-available/status.load /etc/apache2/mods-available/hestia-status.load
     cp -f $HESTIA_INSTALL_DIR/logrotate/apache2 /etc/logrotate.d/
     cp -f $HESTIA_INSTALL_DIR/logrotate/apache2 /etc/logrotate.d/
-    
+
     # Enable needed modules
     # Enable needed modules
     a2enmod rewrite > /dev/null 2>&1
     a2enmod rewrite > /dev/null 2>&1
     a2enmod suexec > /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
     echo "127.0.0.1 $servername" >> /etc/hosts
     cp -f $HESTIA_INSTALL_DIR/proftpd/proftpd.conf /etc/proftpd/
     cp -f $HESTIA_INSTALL_DIR/proftpd/proftpd.conf /etc/proftpd/
     cp -f $HESTIA_INSTALL_DIR/proftpd/tls.conf /etc/proftpd/
     cp -f $HESTIA_INSTALL_DIR/proftpd/tls.conf /etc/proftpd/
-    
+
     update-rc.d proftpd defaults > /dev/null 2>&1
     update-rc.d proftpd defaults > /dev/null 2>&1
     systemctl start proftpd >> $LOG
     systemctl start proftpd >> $LOG
     check_result $? "proftpd start failed"
     check_result $? "proftpd start failed"
@@ -1343,10 +1343,10 @@ if [ "$mysql" = 'yes' ]; then
     if [ $memory -gt 3900000 ]; then
     if [ $memory -gt 3900000 ]; then
         mycnf="my-large.cnf"
         mycnf="my-large.cnf"
     fi
     fi
-    
+
     # Remove symbolic link
     # Remove symbolic link
     rm -f /etc/mysql/my.cnf
     rm -f /etc/mysql/my.cnf
-    
+
     # Configuring MariaDB
     # Configuring MariaDB
     cp -f $HESTIA_INSTALL_DIR/mysql/$mycnf /etc/mysql/my.cnf
     cp -f $HESTIA_INSTALL_DIR/mysql/$mycnf /etc/mysql/my.cnf
     mysql_install_db >> $LOG
     mysql_install_db >> $LOG
@@ -1383,34 +1383,34 @@ if [ "$mysql" = 'yes' ]; then
 
 
     # Unpack files
     # Unpack files
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Create folders
     # Create folders
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p /etc/phpmyadmin
     mkdir -p /etc/phpmyadmin
-    mkdir -p /etc/phpmyadmin/conf.d/  
+    mkdir -p /etc/phpmyadmin/conf.d/
     mkdir /usr/share/phpmyadmin/tmp
     mkdir /usr/share/phpmyadmin/tmp
-    
+
     # Configuring Apache2 for PHPMYADMIN
     # Configuring Apache2 for PHPMYADMIN
     if [ "$apache" = 'yes' ]; then
     if [ "$apache" = 'yes' ]; then
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
     fi
     fi
-    
+
     # Overwrite old files
     # Overwrite old files
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
-    
+
     # Create copy of config file
     # Create copy of config file
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     mkdir -p /var/lib/phpmyadmin/tmp
     mkdir -p /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
-    
+
     # Set config and log directory
     # 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('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
     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
     # Create temporary folder and change permission
     chmod 777 /usr/share/phpmyadmin/tmp
     chmod 777 /usr/share/phpmyadmin/tmp
-    
+
     # Generate blow fish
     # Generate blow fish
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
@@ -1644,11 +1644,12 @@ fi
 #                       Configure API                      #
 #                       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
     $HESTIA/bin/v-change-sys-api disable
 fi
 fi
-echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
 
 
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 #                   Configure Admin User                   #
 #                   Configure Admin User                   #
@@ -1815,7 +1816,7 @@ echo -e "\n"
 # Sending notification to admin email
 # Sending notification to admin email
 echo -e "Congratulations!
 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:
 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
 if [ "$nginx" = 'yes' ]; then
     echo "[ * ] NGINX"
     echo "[ * ] NGINX"
     echo "deb [arch=amd64] https://nginx.org/packages/mainline/$VERSION/ $codename nginx" > $apt/nginx.list
     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
 fi
 
 
 # Installing sury PHP repo
 # Installing sury PHP repo
@@ -1130,7 +1130,7 @@ echo "THEME='dark'" >> $HESTIA/conf/hestia.conf
 # Inactive session timeout
 # Inactive session timeout
 echo "INACTIVE_SESSION_TIMEOUT='60'" >> $HESTIA/conf/hestia.conf
 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
 echo "ENFORCE_SUBDOMAIN_OWNERSHIP='yes'" >> $HESTIA/conf/hestia.conf
 
 
 # Version & Release Branch
 # Version & Release Branch
@@ -1138,7 +1138,7 @@ echo "VERSION='${HESTIA_INSTALL_VER}'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 echo "RELEASE_BRANCH='release'" >> $HESTIA/conf/hestia.conf
 
 
 # Email notifications after upgrade
 # 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
 echo "UPGRADE_SEND_EMAIL_LOG='true'" >> $HESTIA/conf/hestia.conf
 
 
 # Installing hosting packages
 # Installing hosting packages
@@ -1411,51 +1411,51 @@ fi
 if [ "$mysql" = 'yes' ]; then
 if [ "$mysql" = 'yes' ]; then
     # Display upgrade information
     # Display upgrade information
     echo "[ * ] Installing phpMyAdmin version v$pma_v..."
     echo "[ * ] Installing phpMyAdmin version v$pma_v..."
-    
+
     # Download latest phpmyadmin release
     # Download latest phpmyadmin release
     wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
     wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Unpack files
     # Unpack files
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
     tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     # Create folders
     # Create folders
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p  /usr/share/phpmyadmin
     mkdir -p /etc/phpmyadmin
     mkdir -p /etc/phpmyadmin
-    mkdir -p /etc/phpmyadmin/conf.d/  
+    mkdir -p /etc/phpmyadmin/conf.d/
     mkdir /usr/share/phpmyadmin/tmp
     mkdir /usr/share/phpmyadmin/tmp
-    
+
     # Configuring Apache2 for PHPMYADMIN
     # Configuring Apache2 for PHPMYADMIN
     if [ "$apache" = 'yes' ]; then
     if [ "$apache" = 'yes' ]; then
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
         ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
     fi
     fi
-    
+
     # Overwrite old files
     # Overwrite old files
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
     cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
-    
+
     # Create copy of config file
     # Create copy of config file
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     cp -f $HESTIA_INSTALL_DIR/phpmyadmin/config.inc.php /etc/phpmyadmin/
     mkdir -p /var/lib/phpmyadmin/tmp
     mkdir -p /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
     chmod 777 /var/lib/phpmyadmin/tmp
-    
+
     # Set config and log directory
     # 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('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
     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
     # Create temporary folder and change permission
     chmod 777 /usr/share/phpmyadmin/tmp
     chmod 777 /usr/share/phpmyadmin/tmp
 
 
     # Generate blow fish
     # Generate blow fish
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     blowfish=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
     sed -i "s|%blowfish_secret%|$blowfish|" /etc/phpmyadmin/config.inc.php
-    
+
     # Clean Up
     # Clean Up
     rm -fr phpMyAdmin-$pma_v-all-languages
     rm -fr phpMyAdmin-$pma_v-all-languages
     rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
     rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
-    
+
     echo "DB_PMA_ALIAS='phpmyadmin'" >> $HESTIA/conf/hestia.conf
     echo "DB_PMA_ALIAS='phpmyadmin'" >> $HESTIA/conf/hestia.conf
     $HESTIA/bin/v-change-sys-db-alias 'pma' "phpmyadmin"
     $HESTIA/bin/v-change-sys-db-alias 'pma' "phpmyadmin"
-    
+
     # Special thanks to Pavel Galkin (https://skurudo.ru)
     # Special thanks to Pavel Galkin (https://skurudo.ru)
     # https://github.com/skurudo/phpmyadmin-fixer
     # https://github.com/skurudo/phpmyadmin-fixer
     source $HESTIA_INSTALL_DIR/phpmyadmin/pma.sh > /dev/null 2>&1
     source $HESTIA_INSTALL_DIR/phpmyadmin/pma.sh > /dev/null 2>&1
@@ -1669,11 +1669,13 @@ fi
 #                       Configure API                      #
 #                       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
     $HESTIA/bin/v-change-sys-api disable
 fi
 fi
-echo "API_ALLOWED_IP='127.0.0.1'" >> $HESTIA/conf/hestia.conf
+
 
 
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 #                   Configure Admin User                   #
 #                   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..."
     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
     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
 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