mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-12-17 13:59:41 +01:00
Refactor CyberPanel installation script to improve upgrade and pre-upgrade processes
- Renamed the original installer script to 'cyberpanel_original.sh' for clarity. - Added functions for starting upgrades and pre-upgrade setups, enhancing the installation workflow. - Implemented detailed progress monitoring and status messages during the upgrade process. - Updated the main menu to include options for pre-upgrade and reinstallation, improving user navigation. - Enhanced progress calculation for a more realistic display during installation and upgrade processes.
This commit is contained in:
333
cyberpanel.sh
333
cyberpanel.sh
@@ -212,16 +212,16 @@ install_cyberpanel() {
|
|||||||
echo " 🔄 Downloading CyberPanel installer..."
|
echo " 🔄 Downloading CyberPanel installer..."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Download and run the original installer
|
# Download the original CyberPanel installer
|
||||||
if [ -n "$BRANCH_NAME" ]; then
|
if [ -n "$BRANCH_NAME" ]; then
|
||||||
echo "Downloading from: https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel.sh"
|
echo "Downloading from: https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel.sh"
|
||||||
curl --silent -o cyberpanel.sh "https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel.sh" 2>/dev/null
|
curl --silent -o cyberpanel_original.sh "https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel.sh" 2>/dev/null
|
||||||
else
|
else
|
||||||
echo "Downloading from: https://cyberpanel.sh/?dl&$SERVER_OS"
|
echo "Downloading from: https://cyberpanel.sh/?dl&$SERVER_OS"
|
||||||
curl --silent -o cyberpanel.sh "https://cyberpanel.sh/?dl&$SERVER_OS" 2>/dev/null
|
curl --silent -o cyberpanel_original.sh "https://cyberpanel.sh/?dl&$SERVER_OS" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chmod +x cyberpanel.sh
|
chmod +x cyberpanel_original.sh
|
||||||
|
|
||||||
echo " ✓ CyberPanel installer downloaded"
|
echo " ✓ CyberPanel installer downloaded"
|
||||||
echo " 🔄 Starting CyberPanel installation..."
|
echo " 🔄 Starting CyberPanel installation..."
|
||||||
@@ -239,30 +239,40 @@ install_cyberpanel() {
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Start the installer in background and monitor progress
|
# Start the installer in background and monitor progress
|
||||||
./cyberpanel.sh $([ "$DEBUG_MODE" = true ] && echo "--debug") > /tmp/cyberpanel_install_output.log 2>&1 &
|
./cyberpanel_original.sh $([ "$DEBUG_MODE" = true ] && echo "--debug") > /tmp/cyberpanel_install_output.log 2>&1 &
|
||||||
local install_pid=$!
|
local install_pid=$!
|
||||||
|
|
||||||
# Active progress bar with real-time updates
|
# Active progress bar with real-time updates
|
||||||
local progress=0
|
local progress=0
|
||||||
local bar_length=50
|
local bar_length=50
|
||||||
local start_time=$(date +%s)
|
local start_time=$(date +%s)
|
||||||
|
local last_progress=0
|
||||||
|
|
||||||
echo "Progress: [ ] 0%"
|
echo "Progress: [ ] 0%"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Status: Downloading and installing CyberPanel components..."
|
echo "Status: Downloading and installing CyberPanel components..."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
while kill -0 $install_pid 2>/dev/null; do
|
# Monitor the installation process
|
||||||
|
while true; do
|
||||||
|
# Check if process is still running
|
||||||
|
if ! kill -0 $install_pid 2>/dev/null; then
|
||||||
|
# Process has finished, break the loop
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
local current_time=$(date +%s)
|
local current_time=$(date +%s)
|
||||||
local elapsed=$((current_time - start_time))
|
local elapsed=$((current_time - start_time))
|
||||||
|
|
||||||
# Calculate progress based on elapsed time (rough estimate)
|
# Calculate progress based on elapsed time (more realistic)
|
||||||
if [ $elapsed -lt 60 ]; then
|
if [ $elapsed -lt 30 ]; then
|
||||||
progress=$((elapsed * 2)) # 0-120% in first minute
|
progress=$((elapsed * 3)) # 0-90% in first 30 seconds
|
||||||
|
elif [ $elapsed -lt 120 ]; then
|
||||||
|
progress=$((90 + (elapsed - 30) * 1)) # 90-180% in next 90 seconds
|
||||||
elif [ $elapsed -lt 300 ]; then
|
elif [ $elapsed -lt 300 ]; then
|
||||||
progress=$((120 + (elapsed - 60) * 2)) # 120-200% in next 4 minutes
|
progress=$((180 + (elapsed - 120) * 1)) # 180-360% in next 3 minutes
|
||||||
else
|
else
|
||||||
progress=$((200 + (elapsed - 300) * 1)) # 200-300% after 5 minutes
|
progress=$((360 + (elapsed - 300) * 1)) # 360%+ after 5 minutes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cap progress at 95% until actually complete
|
# Cap progress at 95% until actually complete
|
||||||
@@ -270,6 +280,8 @@ install_cyberpanel() {
|
|||||||
progress=95
|
progress=95
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Only update display if progress changed significantly
|
||||||
|
if [ $progress -gt $last_progress ]; then
|
||||||
# Create progress bar
|
# Create progress bar
|
||||||
local filled=$((progress * bar_length / 100))
|
local filled=$((progress * bar_length / 100))
|
||||||
local empty=$((bar_length - filled))
|
local empty=$((bar_length - filled))
|
||||||
@@ -296,8 +308,10 @@ install_cyberpanel() {
|
|||||||
|
|
||||||
# Update progress display
|
# Update progress display
|
||||||
printf "\r\033[KProgress: [%s] %d%% | %s | Elapsed: %dm %ds" "$bar" "$progress" "$status_msg" "$((elapsed / 60))" "$((elapsed % 60))"
|
printf "\r\033[KProgress: [%s] %d%% | %s | Elapsed: %dm %ds" "$bar" "$progress" "$status_msg" "$((elapsed / 60))" "$((elapsed % 60))"
|
||||||
|
last_progress=$progress
|
||||||
|
fi
|
||||||
|
|
||||||
sleep 1
|
sleep 2
|
||||||
done
|
done
|
||||||
|
|
||||||
# Wait for the process to complete and get exit status
|
# Wait for the process to complete and get exit status
|
||||||
@@ -305,10 +319,15 @@ install_cyberpanel() {
|
|||||||
local install_status=$?
|
local install_status=$?
|
||||||
|
|
||||||
# Show final progress
|
# Show final progress
|
||||||
printf "\r\033[KProgress: [██████████████████████████████████████████████████] 100%% | Complete! | Elapsed: %dm %ds\n" "$((elapsed / 60))" "$((elapsed % 60))"
|
local final_elapsed=$((elapsed / 60))
|
||||||
|
local final_seconds=$((elapsed % 60))
|
||||||
|
printf "\r\033[KProgress: [██████████████████████████████████████████████████] 100%% | Complete! | Elapsed: %dm %ds\n" "$final_elapsed" "$final_seconds"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
# Clean up downloaded installer
|
||||||
|
rm -f cyberpanel_original.sh 2>/dev/null
|
||||||
|
|
||||||
if [ $install_status -eq 0 ]; then
|
if [ $install_status -eq 0 ]; then
|
||||||
print_status "SUCCESS: CyberPanel installed successfully"
|
print_status "SUCCESS: CyberPanel installed successfully"
|
||||||
return 0
|
return 0
|
||||||
@@ -456,15 +475,16 @@ show_main_menu() {
|
|||||||
echo " 1. Fresh Installation (Recommended)"
|
echo " 1. Fresh Installation (Recommended)"
|
||||||
echo " 2. Update Existing Installation"
|
echo " 2. Update Existing Installation"
|
||||||
echo " 3. Reinstall CyberPanel"
|
echo " 3. Reinstall CyberPanel"
|
||||||
echo " 4. Check System Status"
|
echo " 4. Pre-Upgrade (Download latest upgrade script)"
|
||||||
echo " 5. Advanced Options"
|
echo " 5. Check System Status"
|
||||||
echo " 6. Exit"
|
echo " 6. Advanced Options"
|
||||||
|
echo " 7. Exit"
|
||||||
echo ""
|
echo ""
|
||||||
echo "==============================================================================================================="
|
echo "==============================================================================================================="
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
echo -n "Enter your choice [1-6]: "
|
echo -n "Enter your choice [1-7]: "
|
||||||
read -r choice
|
read -r choice
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
@@ -484,21 +504,25 @@ show_main_menu() {
|
|||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
show_system_status
|
start_preupgrade
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
show_advanced_menu
|
show_system_status
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
|
show_advanced_menu
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
7)
|
||||||
echo ""
|
echo ""
|
||||||
echo "Goodbye!"
|
echo "Goodbye!"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo ""
|
echo ""
|
||||||
echo "ERROR: Invalid choice. Please enter 1-6."
|
echo "ERROR: Invalid choice. Please enter 1-7."
|
||||||
echo ""
|
echo ""
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -755,7 +779,7 @@ show_update_menu() {
|
|||||||
show_main_menu
|
show_main_menu
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
start_installation
|
start_upgrade
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -835,7 +859,7 @@ show_reinstall_menu() {
|
|||||||
read -r response
|
read -r response
|
||||||
case $response in
|
case $response in
|
||||||
[yY]|[yY][eE][sS])
|
[yY]|[yY][eE][sS])
|
||||||
start_installation
|
start_reinstall
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
show_main_menu
|
show_main_menu
|
||||||
@@ -1116,6 +1140,271 @@ show_diagnostics() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to start upgrade
|
||||||
|
start_upgrade() {
|
||||||
|
echo ""
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo " STARTING UPGRADE"
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Detect OS
|
||||||
|
echo "Step 1/5: Detecting operating system..."
|
||||||
|
if ! detect_os; then
|
||||||
|
print_status "ERROR: Failed to detect operating system"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo " ✓ Operating system detected successfully"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
echo "Step 2/5: Installing/updating dependencies..."
|
||||||
|
install_dependencies
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Download and run the upgrade script
|
||||||
|
echo "Step 3/5: Downloading CyberPanel upgrade script..."
|
||||||
|
if [ -n "$BRANCH_NAME" ]; then
|
||||||
|
echo "Downloading from: https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel_upgrade.sh"
|
||||||
|
curl --silent -o cyberpanel_upgrade.sh "https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/cyberpanel_upgrade.sh" 2>/dev/null
|
||||||
|
else
|
||||||
|
echo "Downloading from: https://cyberpanel.sh/?dl&$SERVER_OS"
|
||||||
|
curl --silent -o cyberpanel_upgrade.sh "https://cyberpanel.sh/?dl&$SERVER_OS" 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
chmod +x cyberpanel_upgrade.sh
|
||||||
|
|
||||||
|
echo " ✓ CyberPanel upgrade script downloaded"
|
||||||
|
echo " 🔄 Starting CyberPanel upgrade..."
|
||||||
|
echo ""
|
||||||
|
echo "IMPORTANT: The upgrade is now running in the background."
|
||||||
|
echo "You will see detailed output from the CyberPanel upgrade script below."
|
||||||
|
echo "This is normal and expected - the upgrade is proceeding!"
|
||||||
|
echo ""
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Run the upgrade with progress monitoring
|
||||||
|
echo "Starting CyberPanel upgrade process..."
|
||||||
|
echo "This may take several minutes. Please be patient."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Start the upgrade in background and monitor progress
|
||||||
|
./cyberpanel_upgrade.sh $([ "$DEBUG_MODE" = true ] && echo "--debug") > /tmp/cyberpanel_upgrade_output.log 2>&1 &
|
||||||
|
local upgrade_pid=$!
|
||||||
|
|
||||||
|
# Active progress bar with real-time updates
|
||||||
|
local progress=0
|
||||||
|
local bar_length=50
|
||||||
|
local start_time=$(date +%s)
|
||||||
|
local last_progress=0
|
||||||
|
|
||||||
|
echo "Progress: [ ] 0%"
|
||||||
|
echo ""
|
||||||
|
echo "Status: Upgrading CyberPanel components..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Monitor the upgrade process
|
||||||
|
while true; do
|
||||||
|
# Check if process is still running
|
||||||
|
if ! kill -0 $upgrade_pid 2>/dev/null; then
|
||||||
|
# Process has finished, break the loop
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
local current_time=$(date +%s)
|
||||||
|
local elapsed=$((current_time - start_time))
|
||||||
|
|
||||||
|
# Calculate progress based on elapsed time
|
||||||
|
if [ $elapsed -lt 30 ]; then
|
||||||
|
progress=$((elapsed * 3)) # 0-90% in first 30 seconds
|
||||||
|
elif [ $elapsed -lt 120 ]; then
|
||||||
|
progress=$((90 + (elapsed - 30) * 1)) # 90-180% in next 90 seconds
|
||||||
|
elif [ $elapsed -lt 300 ]; then
|
||||||
|
progress=$((180 + (elapsed - 120) * 1)) # 180-360% in next 3 minutes
|
||||||
|
else
|
||||||
|
progress=$((360 + (elapsed - 300) * 1)) # 360%+ after 5 minutes
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cap progress at 95% until actually complete
|
||||||
|
if [ $progress -gt 95 ]; then
|
||||||
|
progress=95
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Only update display if progress changed significantly
|
||||||
|
if [ $progress -gt $last_progress ]; then
|
||||||
|
# Create progress bar
|
||||||
|
local filled=$((progress * bar_length / 100))
|
||||||
|
local empty=$((bar_length - filled))
|
||||||
|
|
||||||
|
local bar=""
|
||||||
|
for ((i=0; i<filled; i++)); do
|
||||||
|
bar="${bar}█"
|
||||||
|
done
|
||||||
|
for ((i=0; i<empty; i++)); do
|
||||||
|
bar="${bar}░"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Status messages based on elapsed time
|
||||||
|
local status_msg=""
|
||||||
|
if [ $elapsed -lt 30 ]; then
|
||||||
|
status_msg="Preparing upgrade..."
|
||||||
|
elif [ $elapsed -lt 120 ]; then
|
||||||
|
status_msg="Upgrading core components..."
|
||||||
|
elif [ $elapsed -lt 300 ]; then
|
||||||
|
status_msg="Updating services and database..."
|
||||||
|
else
|
||||||
|
status_msg="Finalizing upgrade..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update progress display
|
||||||
|
printf "\r\033[KProgress: [%s] %d%% | %s | Elapsed: %dm %ds" "$bar" "$progress" "$status_msg" "$((elapsed / 60))" "$((elapsed % 60))"
|
||||||
|
last_progress=$progress
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
# Wait for the process to complete and get exit status
|
||||||
|
wait $upgrade_pid
|
||||||
|
local upgrade_status=$?
|
||||||
|
|
||||||
|
# Show final progress
|
||||||
|
local final_elapsed=$((elapsed / 60))
|
||||||
|
local final_seconds=$((elapsed % 60))
|
||||||
|
printf "\r\033[KProgress: [██████████████████████████████████████████████████] 100%% | Complete! | Elapsed: %dm %ds\n" "$final_elapsed" "$final_seconds"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Clean up downloaded upgrade script
|
||||||
|
rm -f cyberpanel_upgrade.sh 2>/dev/null
|
||||||
|
|
||||||
|
if [ $upgrade_status -eq 0 ]; then
|
||||||
|
print_status "SUCCESS: CyberPanel upgraded successfully"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
print_status "ERROR: CyberPanel upgrade failed. Check /tmp/cyberpanel_upgrade_output.log for details"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to start preupgrade
|
||||||
|
start_preupgrade() {
|
||||||
|
echo ""
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo " PRE-UPGRADE SETUP"
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "This will download the latest CyberPanel upgrade script to /usr/local/"
|
||||||
|
echo "and prepare it for execution."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Get the latest version
|
||||||
|
echo "Step 1/3: Fetching latest version information..."
|
||||||
|
local latest_version=$(curl -s https://cyberpanel.net/version.txt | sed -e 's|{"version":"||g' -e 's|","build":|.|g' | sed 's:}*$::')
|
||||||
|
local branch_name="v$latest_version"
|
||||||
|
|
||||||
|
echo " ✓ Latest version: $latest_version"
|
||||||
|
echo " ✓ Branch: $branch_name"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Download the upgrade script
|
||||||
|
echo "Step 2/3: Downloading CyberPanel upgrade script..."
|
||||||
|
local upgrade_url="https://raw.githubusercontent.com/usmannasir/cyberpanel/$branch_name/cyberpanel_upgrade.sh"
|
||||||
|
echo "Downloading from: $upgrade_url"
|
||||||
|
|
||||||
|
if curl --silent -o /usr/local/cyberpanel_upgrade.sh "$upgrade_url" 2>/dev/null; then
|
||||||
|
chmod 700 /usr/local/cyberpanel_upgrade.sh
|
||||||
|
echo " ✓ Upgrade script downloaded to /usr/local/cyberpanel_upgrade.sh"
|
||||||
|
else
|
||||||
|
print_status "ERROR: Failed to download upgrade script"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Show instructions
|
||||||
|
echo "Step 3/3: Setup complete!"
|
||||||
|
echo ""
|
||||||
|
echo "The upgrade script is now ready at: /usr/local/cyberpanel_upgrade.sh"
|
||||||
|
echo ""
|
||||||
|
echo "To run the upgrade, you can either:"
|
||||||
|
echo " 1. Use this installer's 'Update Existing Installation' option"
|
||||||
|
echo " 2. Run directly: /usr/local/cyberpanel_upgrade.sh"
|
||||||
|
echo ""
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -p "Press Enter to return to main menu..."
|
||||||
|
show_main_menu
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to start reinstall
|
||||||
|
start_reinstall() {
|
||||||
|
echo ""
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo " STARTING REINSTALL"
|
||||||
|
echo "==============================================================================================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "WARNING: This will completely remove the existing CyberPanel installation!"
|
||||||
|
echo "All data, websites, and configurations will be lost!"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Detect OS
|
||||||
|
echo "Step 1/6: Detecting operating system..."
|
||||||
|
if ! detect_os; then
|
||||||
|
print_status "ERROR: Failed to detect operating system"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo " ✓ Operating system detected successfully"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Stop services
|
||||||
|
echo "Step 2/6: Stopping CyberPanel services..."
|
||||||
|
systemctl stop lscpd 2>/dev/null || true
|
||||||
|
systemctl stop lsws 2>/dev/null || true
|
||||||
|
systemctl stop mariadb 2>/dev/null || true
|
||||||
|
systemctl stop postfix 2>/dev/null || true
|
||||||
|
systemctl stop dovecot 2>/dev/null || true
|
||||||
|
systemctl stop pure-ftpd 2>/dev/null || true
|
||||||
|
echo " ✓ Services stopped"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Remove existing installation
|
||||||
|
echo "Step 3/6: Removing existing CyberPanel installation..."
|
||||||
|
rm -rf /usr/local/CyberCP 2>/dev/null || true
|
||||||
|
rm -rf /usr/local/lsws 2>/dev/null || true
|
||||||
|
rm -rf /home/cyberpanel 2>/dev/null || true
|
||||||
|
rm -rf /var/lib/mysql 2>/dev/null || true
|
||||||
|
rm -rf /var/log/cyberpanel 2>/dev/null || true
|
||||||
|
echo " ✓ Existing installation removed"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
echo "Step 4/6: Installing dependencies..."
|
||||||
|
install_dependencies
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Install CyberPanel
|
||||||
|
echo "Step 5/6: Installing CyberPanel..."
|
||||||
|
if ! install_cyberpanel; then
|
||||||
|
print_status "ERROR: CyberPanel installation failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Apply fixes
|
||||||
|
echo "Step 6/6: Applying installation fixes..."
|
||||||
|
apply_fixes
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Show status summary
|
||||||
|
show_status_summary
|
||||||
|
|
||||||
|
print_status "SUCCESS: CyberPanel reinstalled successfully!"
|
||||||
|
}
|
||||||
|
|
||||||
# Function to start installation
|
# Function to start installation
|
||||||
start_installation() {
|
start_installation() {
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user