Sfoglia il codice sorgente

Update v-repair-sys-config

Kristan Kenney 5 anni fa
parent
commit
21fcb38136
2 ha cambiato i file con 34 aggiunte e 12 eliminazioni
  1. 14 4
      bin/v-repair-sys-config
  2. 20 8
      func/syshealth.sh

+ 14 - 4
bin/v-restore-sys-config → bin/v-repair-sys-config

@@ -3,11 +3,11 @@
 # options: [SYSTEM]
 # options: [SYSTEM]
 # labels: 
 # labels: 
 #
 #
-# example: v-restore-sys-config
+# example: v-repair-sys-config
 #
 #
-# The function restores system configuration file
+# The function repairs or restores the system configuration file.
 
 
-system=$1
+mode=$1
 
 
 # Includes
 # Includes
 # shellcheck source=/usr/local/hestia/func/main.sh
 # shellcheck source=/usr/local/hestia/func/main.sh
@@ -15,13 +15,23 @@ source $HESTIA/func/main.sh
 # shellcheck source=/usr/local/hestia/func/syshealth.sh
 # shellcheck source=/usr/local/hestia/func/syshealth.sh
 source $HESTIA/func/syshealth.sh
 source $HESTIA/func/syshealth.sh
 
 
+
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 #                        Action                            #
 #                        Action                            #
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 
 
-syshealth_restore_system_installed_config
+if [ "$mode" = "restore" ]; then
+    syshealth_restore_system_config
+fi
+
+if [ "$mode" = "repair" ]; then
+    # shellcheck source=/usr/local/hestia/conf/hestia.conf
+    source $HESTIA/conf/hestia.conf
+    syshealth_repair_system_config
+fi
 
 
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 #                        Hestia                            #
 #                        Hestia                            #
 #----------------------------------------------------------#
 #----------------------------------------------------------#
+log_history "executed $mode operation on system configuration file." '' 'admin'
 log_event "$OK" "$ARGUMENTS"
 log_event "$OK" "$ARGUMENTS"

+ 20 - 8
func/syshealth.sh

@@ -147,7 +147,20 @@ function syshealth_repair_web_config() {
     done
     done
 }
 }
 
 
-function syshealth_restore_system_installed_config() {
+function syshealth_update_system_config_format() {
+    # SYSTEM CONFIGURATION
+    # Create array of known keys in configuration file
+    system="system"
+    known_keys=(ANTISPAM_SYSTEM ANTIVIRUS_SYSTEM API_ALLOWED_IP API BACKEND_PORT BACKUP_GZIP BACKUP_MODE BACKUP_SYSTEM CRON_SYSTEM DB_PMA_ALIAS DB_SYSTEM DISK_QUOTA DNS_SYSTEM ENFORCE_SUBDOMAIN_OWNERSHIP FILE_MANAGER FIREWALL_EXTENSION FIREWALL_SYSTEM FTP_SYSTEM IMAP_SYSTEM INACTIVE_SESSION_TIMEOUT LANGUAGE LOGIN_STYLE MAIL_SYSTEM PROXY_PORT PROXY_SSL_PORT PROXY_SYSTEM RELEASE_BRANCH STATS_SYSTEM THEME UPDATE_HOSTNAME_SSL UPGRADE_SEND_EMAIL UPGRADE_SEND_EMAIL_LOG WEB_BACKEND WEBMAIL_ALIAS WEBMAIL_SYSTEM WEB_PORT WEB_RGROUPS WEB_SSL WEB_SSL_PORT WEB_SYSTEM VERSION)
+    write_kv_config_file
+    unset system
+    unset known_keys
+}
+
+
+# Restore System Configuration
+# Replaces $HESTIA/conf/hestia.conf with "known good defaults" file ($HESTIA/conf/defaults/hestia.conf)
+function syshealth_restore_system_config() {
     if [ -f "$HESTIA/conf/defaults/hestia.conf" ]; then
     if [ -f "$HESTIA/conf/defaults/hestia.conf" ]; then
         mv $HESTIA/conf/hestia.conf $HESTIA/conf/hestia.conf.old
         mv $HESTIA/conf/hestia.conf $HESTIA/conf/hestia.conf.old
         cp $HESTIA/conf/defaults/hestia.conf $HESTIA/conf/hestia.conf
         cp $HESTIA/conf/defaults/hestia.conf $HESTIA/conf/hestia.conf
@@ -179,14 +192,14 @@ function syshealth_repair_system_config() {
     if [ ! -z "$DB_SYSTEM" ]; then
     if [ ! -z "$DB_SYSTEM" ]; then
         if [ "$DB_SYSTEM" = "mysql" ]; then
         if [ "$DB_SYSTEM" = "mysql" ]; then
             if [ -z "$DB_PMA_ALIAS" ]; then 
             if [ -z "$DB_PMA_ALIAS" ]; then 
-                echo "[ ! ] Adding missing variable to hestia.conf: DB_PMA_ALIAS ('phpMyAdmin')"
-                $BIN/v-change-sys-config-value 'DB_PMA_ALIAS' 'phpMyAdmin'
+                echo "[ ! ] Adding missing variable to hestia.conf: DB_PMA_ALIAS ('phpmyadmin)"
+                $BIN/v-change-sys-config-value 'DB_PMA_ALIAS' 'phpmyadmin'
             fi
             fi
         fi
         fi
         if [ "$DB_SYSTEM" = "pgsql" ]; then
         if [ "$DB_SYSTEM" = "pgsql" ]; then
             if [ -z "$DB_PGA_ALIAS" ]; then 
             if [ -z "$DB_PGA_ALIAS" ]; then 
-                echo "[ ! ] Adding missing variable to hestia.conf: DB_PGA_ALIAS ('phpPgAdmin')"
-                $BIN/v-change-sys-config-value 'DB_PGA_ALIAS' 'phpPgAdmin'
+                echo "[ ! ] Adding missing variable to hestia.conf: DB_PGA_ALIAS ('phppgadmin')"
+                $BIN/v-change-sys-config-value 'DB_PGA_ALIAS' 'phppgadmin'
             fi
             fi
         fi
         fi
     fi
     fi
@@ -199,8 +212,8 @@ function syshealth_repair_system_config() {
 
 
     # Theme
     # Theme
     if [ -z "$THEME" ]; then 
     if [ -z "$THEME" ]; then 
-        echo "[ ! ] Adding missing variable to hestia.conf: THEME ('default')"
-        $BIN/v-change-sys-config-value 'THEME' 'default'
+        echo "[ ! ] Adding missing variable to hestia.conf: THEME ('dark')"
+        $BIN/v-change-sys-config-value 'THEME' 'dark'
     fi
     fi
 
 
     # Default language
     # Default language
@@ -242,7 +255,6 @@ function syshealth_repair_system_config() {
     # File Manager
     # File Manager
     if [ -z "$FILE_MANAGER" ]; then
     if [ -z "$FILE_MANAGER" ]; then
         echo "[ ! ] Adding missing variable to hestia.conf: FILE_MANAGER ('true')"
         echo "[ ! ] Adding missing variable to hestia.conf: FILE_MANAGER ('true')"
-        echo "[ ! ] File Manager is enabled but not installed, repairing components..."
         $BIN/v-add-sys-filemanager quiet
         $BIN/v-add-sys-filemanager quiet
     fi
     fi