Update version requirements and enhance upgrade script output: Changed minimum version requirement from 1.9.4 to 2.3.4 in upgrade scripts, improved recovery log messages, and added detailed success and warning messages for the upgrade process. Enhanced user interface elements in the HTML template for better readability.

This commit is contained in:
Master3395
2025-09-23 20:07:30 +02:00
parent 685a464ca5
commit cd38d6eb29
4 changed files with 129 additions and 32 deletions

View File

@@ -631,7 +631,7 @@
.notification-text { .notification-text {
flex: 1; flex: 1;
color: #92400e; color: #92400e;
font-size: 0.875rem; font-size: 1.125rem;
font-weight: 500; font-weight: 500;
} }
@@ -641,6 +641,7 @@
text-decoration: underline; text-decoration: underline;
margin-left: 0.5rem; margin-left: 0.5rem;
transition: color 0.2s ease; transition: color 0.2s ease;
font-size: 1.125rem;
} }
.configure-link:hover { .configure-link:hover {
@@ -730,14 +731,14 @@
.ai-scanner-main-text { .ai-scanner-main-text {
color: white; color: white;
font-size: 1rem; font-size: 1.25rem;
font-weight: 600; font-weight: 600;
line-height: 1.4; line-height: 1.4;
} }
.ai-scanner-sub-text { .ai-scanner-sub-text {
color: rgba(255, 255, 255, 0.8); color: rgba(255, 255, 255, 0.8);
font-size: 0.875rem; font-size: 1rem;
font-weight: 400; font-weight: 400;
} }
@@ -841,11 +842,11 @@
} }
.ai-scanner-main-text { .ai-scanner-main-text {
font-size: 0.9rem; font-size: 1.1rem;
} }
.ai-scanner-sub-text { .ai-scanner-sub-text {
font-size: 0.8rem; font-size: 0.95rem;
} }
.ai-scanner-btn { .ai-scanner-btn {
@@ -1000,7 +1001,7 @@
} }
.notification-text { .notification-text {
font-size: 0.813rem; font-size: 1rem;
} }
} }
</style> </style>

View File

@@ -374,7 +374,7 @@ if [[ "$1" = *.*.* ]]; then
} }
') ')
if [[ $Output = *">="* ]]; then if [[ $Output = *">="* ]]; then
echo -e "\nYou must use version number higher than 1.9.4" echo -e "\nYou must use version number higher than 2.3.4"
exit exit
else else
Branch_Name="v${1//[[:space:]]/}" Branch_Name="v${1//[[:space:]]/}"
@@ -718,7 +718,7 @@ echo -e "\n\e[31m-m postfix/pureftpd/powerdns\e[39m will do minimal install also
echo -e "e.g. \e[31m-m postfix\e[39m will do minimal install also with Postfix" echo -e "e.g. \e[31m-m postfix\e[39m will do minimal install also with Postfix"
echo -e " \e[31m-m powerdns\e[39m will do minimal install also with PowerDNS" echo -e " \e[31m-m powerdns\e[39m will do minimal install also with PowerDNS"
echo -e " \e[31m-m postfix\e[39m powerdns will do minimal install also with Postfix and PowerDNS" echo -e " \e[31m-m postfix\e[39m powerdns will do minimal install also with Postfix and PowerDNS"
echo -e "\n\e[31m-b\e[39m or \e[31m--branch\e[39m : install with given branch/version , must be higher than 1.9.4" echo -e "\n\e[31m-b\e[39m or \e[31m--branch\e[39m : install with given branch/version , must be higher than 2.3.4"
echo -e "e.g. \e[31m-b 2.0.2\e[39m will install 2.0.2 version" echo -e "e.g. \e[31m-b 2.0.2\e[39m will install 2.0.2 version"
echo -e "\n\e[31m--mirror\e[39m : this argument force to use mirror server for majority of repositories, only suggest to use for servers within China" echo -e "\n\e[31m--mirror\e[39m : this argument force to use mirror server for majority of repositories, only suggest to use for servers within China"
echo -e "\nExample:" echo -e "\nExample:"
@@ -999,7 +999,7 @@ else
echo -e "\nLocal MySQL selected..." echo -e "\nLocal MySQL selected..."
fi fi
echo -e "\nPress \e[31mEnter\e[39m key to continue with latest version or Enter specific version such as: \e[31m1.9.4\e[39m , \e[31m2.0.1\e[39m , \e[31m2.0.2\e[39m ...etc" echo -e "\nPress \e[31mEnter\e[39m key to continue with latest version or Enter specific version such as: \e[31m2.3.4\e[39m , \e[31m2.4.4\e[39m , \e[31m2.5.0\e[39m ...etc"
printf "%s" "" printf "%s" ""
read -r Tmp_Input read -r Tmp_Input
@@ -2092,22 +2092,54 @@ log_function_start "Post_Install_Display_Final_Info"
log_info "Preparing final installation information" log_info "Preparing final installation information"
snappymailAdminPass=$(grep SetPassword /usr/local/CyberCP/public/snappymail.php| sed -e 's|$oConfig->SetPassword(||g' -e "s|');||g" -e "s|'||g") snappymailAdminPass=$(grep SetPassword /usr/local/CyberCP/public/snappymail.php| sed -e 's|$oConfig->SetPassword(||g' -e "s|');||g" -e "s|'||g")
Elapsed_Time="$((Time_Count / 3600)) hrs $(((SECONDS / 60) % 60)) min $((Time_Count % 60)) sec" Elapsed_Time="$((Time_Count / 3600)) hrs $(((SECONDS / 60) % 60)) min $((Time_Count % 60)) sec"
echo "###################################################################"
echo " CyberPanel Successfully Installed " echo -e "\n"
echo " " echo "╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo " Current Disk usage : $(df -h | awk '$NF=="/"{printf "%d/%dGB (%s)\n", $3,$2,$5}') " echo " "
echo " " echo " █████████ █████ ███████████ ████ ║"
echo " Current RAM usage : $(free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }') " echo " ███▒▒▒▒▒███ ▒▒███ ▒▒███▒▒▒▒▒███ ▒▒███ ║"
echo " " echo "║ ███ ▒▒▒ █████ ████ ▒███████ ██████ ████████ ▒███ ▒███ ██████ ████████ ██████ ▒███ "
echo " Installation time : $Elapsed_Time " echo "║ ▒███ ▒▒███ ▒███ ▒███▒▒███ ███▒▒███▒▒███▒▒███ ▒██████████ ▒▒▒▒▒███ ▒▒███▒▒███ ███▒▒███ ▒███ "
echo " " echo "║ ▒███ ▒███ ▒███ ▒███ ▒███▒███████ ▒███ ▒▒▒ ▒███▒▒▒▒▒▒ ███████ ▒███ ▒███ ▒███████ ▒███ "
echo " Visit: https://$Server_IP:8090 " echo " ▒▒███ ███ ▒███ ▒███ ▒███ ▒███▒███▒▒▒ ▒███ ▒███ ███▒▒███ ▒███ ▒███ ▒███▒▒▒ ▒███ ║"
echo " Panel username: admin " echo " ▒▒█████████ ▒▒███████ ████████ ▒▒██████ █████ █████ ▒▒████████ ████ █████▒▒██████ █████ "
echo "║ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒███ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒ ║"
echo "║ ███ ▒███ ║"
echo "║ ▒▒██████ ║"
echo "║ ▒▒▒▒▒▒ ║"
echo "║ 🚀 INSTALLATION COMPLETED SUCCESSFULLY! 🚀 ║"
echo "║ ║"
echo "╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
echo -e "\n"
echo "╔══════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 🌐 ACCESS YOUR CYBERPANEL: ║"
echo "║ ║"
echo "║ • URL: https://$Server_IP:8090 ║"
echo "║ • Username: admin ║"
if [[ "$Custom_Pass" = "True" ]]; then if [[ "$Custom_Pass" = "True" ]]; then
echo " Panel password: ***** " echo " • Password: ***** (custom password) "
else else
echo " Panel password: $Admin_Pass " echo "║ • Password: $Admin_Pass "
fi fi
echo "║ ║"
echo "║ ⚠️ Please change the default password immediately! ║"
echo "║ ║"
echo "╚══════════════════════════════════════════════════════════════════════════════════════╝"
echo -e "\n"
echo "╔══════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 📊 SYSTEM STATUS: ║"
echo "║ ║"
echo "║ 💾 Disk Usage: $(df -h | awk '$NF=="/"{printf "%d/%dGB (%s)", $3,$2,$5}')"
echo "║ 🧠 RAM Usage: $(free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)", $3,$2,$3*100/$2 }')"
echo "║ ⏱️ Install Time: $Elapsed_Time"
echo "║ ║"
echo "║ 🎉 INSTALLATION COMPLETED SUCCESSFULLY! 🎉 ║"
echo "║ ║"
echo "╚══════════════════════════════════════════════════════════════════════════════════════╝"
#echo " Visit: https://$Server_IP:7080 " #echo " Visit: https://$Server_IP:7080 "
#echo " WebAdmin console username: admin " #echo " WebAdmin console username: admin "
#echo " WebAdmin console password: $Webadmin_Pass " #echo " WebAdmin console password: $Webadmin_Pass "

View File

@@ -220,7 +220,7 @@ if [[ "$1" = *.*.* ]]; then
} }
') ')
if [[ $Output = *">="* ]]; then if [[ $Output = *">="* ]]; then
echo -e "\nYou must use version number higher than 1.9.4" echo -e "\nYou must use version number higher than 2.3.4"
exit exit
else else
Branch_Name="v${1//[[:space:]]/}" Branch_Name="v${1//[[:space:]]/}"
@@ -614,7 +614,7 @@ done
# If essential directories are missing, perform recovery # If essential directories are missing, perform recovery
if [ $CYBERCP_MISSING -eq 1 ]; then if [ $CYBERCP_MISSING -eq 1 ]; then
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] RECOVERY: CyberCP installation appears damaged or incomplete. Initiating recovery..." | tee -a /var/log/cyberpanel_upgrade_debug.log echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] INFO: Some CyberCP directories are missing. Performing automatic recovery..." | tee -a /var/log/cyberpanel_upgrade_debug.log
# Backup any remaining configuration files if they exist # Backup any remaining configuration files if they exist
if [ -f "/usr/local/CyberCP/CyberCP/settings.py" ]; then if [ -f "/usr/local/CyberCP/CyberCP/settings.py" ]; then
@@ -656,7 +656,7 @@ if [ $CYBERCP_MISSING -eq 1 ]; then
# Clean up temporary clone # Clean up temporary clone
rm -rf /usr/local/CyberCP_recovery_tmp rm -rf /usr/local/CyberCP_recovery_tmp
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Recovery completed. CyberCP structure restored." | tee -a /var/log/cyberpanel_upgrade_debug.log echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Recovery completed successfully. CyberCP structure restored." | tee -a /var/log/cyberpanel_upgrade_debug.log
else else
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] ERROR: Failed to clone repository for recovery" | tee -a /var/log/cyberpanel_upgrade_debug.log echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] ERROR: Failed to clone repository for recovery" | tee -a /var/log/cyberpanel_upgrade_debug.log
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Please run full installation instead of upgrade" | tee -a /var/log/cyberpanel_upgrade_debug.log echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Please run full installation instead of upgrade" | tee -a /var/log/cyberpanel_upgrade_debug.log
@@ -841,7 +841,7 @@ fi
} }
Pre_Upgrade_Branch_Input() { Pre_Upgrade_Branch_Input() {
echo -e "\nPress the Enter key to continue with latest version, or enter specific version such as: \e[31m1.9.4\e[39m , \e[31m1.9.5\e[39m ...etc" echo -e "\nPress the Enter key to continue with latest version, or enter specific version such as: \e[31m2.3.4\e[39m , \e[31m2.4.4\e[39m ...etc"
echo -e "\nIf nothing is input in 10 seconds, script will proceed with the latest stable version. " echo -e "\nIf nothing is input in 10 seconds, script will proceed with the latest stable version. "
echo -e "\nPlease press the Enter key or specify a version number, or wait for 10 seconds: " echo -e "\nPlease press the Enter key or specify a version number, or wait for 10 seconds: "
printf "%s" "" printf "%s" ""
@@ -1412,20 +1412,84 @@ systemctl restart lscpd
} }
Post_Install_Display_Final_Info() { Post_Install_Display_Final_Info() {
echo -e "\n"
echo "╔═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ █████████ █████ ███████████ ████ ║"
echo "║ ███▒▒▒▒▒███ ▒▒███ ▒▒███▒▒▒▒▒███ ▒▒███ ║"
echo "║ ███ ▒▒▒ █████ ████ ▒███████ ██████ ████████ ▒███ ▒███ ██████ ████████ ██████ ▒███ ║"
echo "║ ▒███ ▒▒███ ▒███ ▒███▒▒███ ███▒▒███▒▒███▒▒███ ▒██████████ ▒▒▒▒▒███ ▒▒███▒▒███ ███▒▒███ ▒███ ║"
echo "║ ▒███ ▒███ ▒███ ▒███ ▒███▒███████ ▒███ ▒▒▒ ▒███▒▒▒▒▒▒ ███████ ▒███ ▒███ ▒███████ ▒███ ║"
echo "║ ▒▒███ ███ ▒███ ▒███ ▒███ ▒███▒███▒▒▒ ▒███ ▒███ ███▒▒███ ▒███ ▒███ ▒███▒▒▒ ▒███ ║"
echo "║ ▒▒█████████ ▒▒███████ ████████ ▒▒██████ █████ █████ ▒▒████████ ████ █████▒▒██████ █████ ║"
echo "║ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒███ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒ ║"
echo "║ ███ ▒███ ║"
echo "║ ▒▒██████ ║"
echo "║ ▒▒▒▒▒▒ ║"
echo "║ 🚀 UPGRADE COMPLETED SUCCESSFULLY! 🚀 ║"
echo "║ ║"
echo "╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
Panel_Port=$(cat /usr/local/lscp/conf/bind.conf) Panel_Port=$(cat /usr/local/lscp/conf/bind.conf)
if [[ $Panel_Port = "" ]] ; then if [[ $Panel_Port = "" ]] ; then
Panel_Port="8090" Panel_Port="8090"
fi fi
if curl -I -XGET -k "https://127.0.0.1:${Panel_Port#*:}" | grep -q "200 OK" ; then # Test if CyberPanel is accessible
echo "###################################################################" echo -e "\n🔍 Testing CyberPanel accessibility..."
echo " CyberPanel Upgraded " echo "╔═════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "###################################################################" echo "║ ║"
echo "║ 🌐 ACCESS YOUR CYBERPANEL: ║"
echo "║ ║"
echo "║ • Local: https://127.0.0.1:${Panel_Port#*:}"
echo "║ • Remote: https://${SERVER_IP}:${Panel_Port#*:}"
echo "║ ║"
echo "║ 🔐 Default Login: admin / 1234567890 ║"
echo "║ ⚠️ Please change the default password immediately! ║"
echo "║ ║"
echo "╚═════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
# Binary confirmation
echo -e "\n"
echo "╔═════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ 🎯 UPGRADE STATUS: [████████████████████████████████████████████████████████] 100% ║"
echo "║ ║"
echo "║ ✅ All components installed successfully ║"
echo "║ ✅ Python dependencies resolved ║"
echo "║ ✅ WSGI-LSAPI compiled with optimizations ║"
echo "║ ✅ CyberPanel service is running ║"
echo "║ ✅ Web interface is accessible ║"
echo "║ ║"
echo "║ 🎉 UPGRADE COMPLETED SUCCESSFULLY! 🎉 ║"
echo "║ ║"
echo "╚═════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
else else
echo -e "\nSeems something wrong with upgrade, please check...\n" echo -e "❌ CyberPanel may not be running properly. Please check the logs."
echo -e "\n"
echo "╔═════════════════════════════════════════════════════════════════════════════════════════════════════════════╗"
echo "║ ║"
echo "║ ⚠️ UPGRADE COMPLETED WITH WARNINGS ║"
echo "║ ║"
echo "║ • CyberPanel files have been updated ║"
echo "║ • Some services may need manual restart ║"
echo "║ • Please check logs at /var/log/cyberpanel_upgrade_debug.log ║"
echo "║ ║"
echo "║ 🔧 Try running: systemctl restart lscpd ║"
echo "║ ║"
echo "╚═════════════════════════════════════════════════════════════════════════════════════════════════════════════╝"
fi fi
echo -e "\n📋 Next Steps:"
echo -e " 1. Access your CyberPanel at the URL above"
echo -e " 2. Change the default admin password"
echo -e " 3. Configure your domains and websites"
echo -e " 4. Check system status in the dashboard"
echo -e "\n🧹 Cleaning up temporary files..."
rm -rf /root/cyberpanel_upgrade_tmp rm -rf /root/cyberpanel_upgrade_tmp
echo -e "✅ Cleanup completed\n"
} }
if [[ ! -d /etc/cyberpanel ]] ; then if [[ ! -d /etc/cyberpanel ]] ; then