Преглед изворни кода

Merge branch 'main' into feature/user-roles

Kristan Kenney пре 5 година
родитељ
комит
caf5cae7b1
1 измењених фајлова са 34 додато и 14 уклоњено
  1. 34 14
      bin/v-restore-user

+ 34 - 14
bin/v-restore-user

@@ -310,7 +310,9 @@ if [ "$web" != 'no' ] && [ ! -z "$WEB_SYSTEM" ]; then
 
             # Merging web.conf keys
             str="DOMAIN='$domain' IP='$IP' IP6='$IP6' ALIAS='$ALIAS'"
-            str="$str CUSTOM_DOCROOT='$CUSTOM_DOCROOT' CUSTOM_PHPROOT='$CUSTOM_PHPROOT' IP='$IP' IP6='$IP6' ALIAS='$ALIAS'"
+            str="$str CUSTOM_DOCROOT='$CUSTOM_DOCROOT' CUSTOM_PHPROOT='$CUSTOM_PHPROOT'"
+            str="$str REDIRECT='$REDIRECT' REDIRECT_CODE='$REDIRECT_CODE'"
+            str="$str FASTCGI_CACHE='$FASTCGI_CACHE' FASTCGI_CACHE_LENGTH='$FASTCGI_CACHE_LENGTH'"
             str="$str TPL='$TPL' SSL='$SSL' SSL_HOME='$SSL_HOME'"
             str="$str LETSENCRYPT='$LETSENCRYPT' FTP_USER='$FTP_USER'"
             str="$str FTP_MD5='$FTP_MD5' BACKEND='$BACKEND' PROXY='$PROXY'"
@@ -542,20 +544,29 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
             if [ ! -e "$HOMEDIR/$user/conf/mail/$domain/ssl/" ]; then
                 mkdir -p $HOMEDIR/$user/conf/mail/$domain/ssl/
             fi
-
+            
             # Add certificate to Hestia user configuration data directory
             if [ -f $tmpdir/mail/$domain/$backup_system/ssl/$domain.crt ]; then
-                echo "path found"
                 cp -f $tmpdir/mail/$domain/$backup_system/ssl/$domain.crt $USER_DATA/ssl/mail.$domain.crt
                 cp -f $tmpdir/mail/$domain/$backup_system/ssl/$domain.key $USER_DATA/ssl/mail.$domain.key
                 cp -f $tmpdir/mail/$domain/$backup_system/ssl/$domain.crt $USER_DATA/ssl/mail.$domain.pem
-                if [ -e "$tmpdir/mail/$domain/$backup_system/ssl//$domain.ca" ]; then
-                    cp -f $tmpdir/mail/$domain/$backup_system/ssl//$domain.ca $USER_DATA/ssl/mail.$domain.ca
+                if [ -e "$tmpdir/mail/$domain/$backup_system/ssl/$domain.ca" ]; then
+                    cp -f $tmpdir/mail/$domain/$backup_system/ssl/$domain.ca $USER_DATA/ssl/mail.$domain.ca
+                    echo >> $USER_DATA/ssl/mail.$domain.pem
+                    cat $USER_DATA/ssl/mail.$domain.ca >> $USER_DATA/ssl/mail.$domain.pem
+                fi
+            elif [ -f "$tmpdir/mail/$domain/conf/ssl/$domain.crt" ]; then
+                cp -f $tmpdir/mail/$domain/conf/ssl/$domain.crt $USER_DATA/ssl/mail.$domain.crt
+                cp -f $tmpdir/mail/$domain/conf/ssl/$domain.key $USER_DATA/ssl/mail.$domain.key
+                cp -f $tmpdir/mail/$domain/conf/ssl/$domain.crt $USER_DATA/ssl/mail.$domain.pem
+                if [ -e "$tmpdir/mail/$domain/conf/ssl/$domain.ca" ]; then
+                    cp -f $tmpdir/mail/$domain/conf/ssl/$domain.ca $USER_DATA/ssl/mail.$domain.ca
                     echo >> $USER_DATA/ssl/mail.$domain.pem
                     cat $USER_DATA/ssl/mail.$domain.ca >> $USER_DATA/ssl/mail.$domain.pem
                 fi
+                
             fi
-            
+
             chmod 660 $USER_DATA/ssl/mail.$domain.*
 
             # Add certificate to user home directory
@@ -600,18 +611,24 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
             chmod -R 0644 /usr/local/hestia/ssl/mail/*
             chown -h $user:mail /usr/local/hestia/ssl/mail/*
         fi
-
+        
         # Restoring email accounts
         cp -f $tmpdir/mail/$domain/$backup_system/$domain.conf $USER_DATA/mail/
-       
+               
         domain_idn=$domain
         format_domain_idn
         
+        if [ ! -d "$HOMEDIR/$user/mail/$domain_idn" ]; then
+            mkdir $HOMEDIR/$user/mail/$domain_idn
+        fi
+        
+        # Current Hestia store email in the $HOMEDIR/$user/mail/$domain_idn
+        chmod u+w "$HOMEDIR/$user/mail/$domain_idn"
+        chown $user:$user "$HOMEDIR/$user/mail/$domain_idn"
+        
         # Restoring emails
         if [ $backup_mode = 'zstd' ]; then    
             if [ -e "$tmpdir/mail/$domain/accounts.tar.zst" ]; then
-                # Current Hestia store email in the $HOMEDIR/$user/mail/$domain_idn
-                chmod u+w "$HOMEDIR/$user/mail/$domain_idn"
                 $BIN/v-extract-fs-archive "$user" "$tmpdir/mail/$domain/accounts.tar.zst" "$HOMEDIR/$user/mail/$domain_idn/"
                 if [ "$?" -ne 0 ]; then
                     rm -rf $tmpdir
@@ -627,7 +644,6 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
             fi
         else
             if [ -e "$tmpdir/mail/$domain/accounts.tar.gz" ]; then
-                chmod u+w "$HOMEDIR/$user/mail/$domain_idn"
                 $BIN/v-extract-fs-archive "$user" "$tmpdir/mail/$domain/accounts.tar.gz" "$HOMEDIR/$user/mail/$domain_idn/"
                 if [ "$?" -ne 0 ]; then
                     rm -rf $tmpdir
@@ -643,9 +659,13 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
             fi
         fi
         # Chowning mail conf files to exim user
-        find $HOMEDIR/$user/conf/mail/$domain -user root \
-            -exec chown $exim_user {} \;
-            
+        if [ -d "$HOMEDIR/$user/conf/mail/$domain" ]; then 
+            find $HOMEDIR/$user/conf/mail/$domain -user root \
+                -exec chown $exim_user {} \;
+        fi
+        
+        $HESTIA/bin/v-rebuild-mail-domain $user $domain
+        
     done
 
     # Restarting web server