- Added functionality to drop and recreate the 'cyberpanel' database user with proper permissions.
- Implemented verification for the database user creation process, including an alternative method if the initial attempt fails.
- Set a unified password for both CyberPanel and OpenLiteSpeed, ensuring consistency across services.
- Improved PHP configuration handling by establishing a reference PHP version for creating missing php.ini files.
- Updated service restart and installation verification messages to include access details and default credentials for both CyberPanel and OpenLiteSpeed.
- Introduced a new function to check if CyberPanel is already installed and clean up existing installations if necessary.
- Added a force reinstall option in the main menu, allowing users to completely remove and reinstall CyberPanel.
- Enhanced user prompts and feedback during the cleanup and reinstallation process to improve clarity and user experience.
- Introduced a new function to address common post-installation issues, including starting services and fixing database permissions.
- Added a verification function to ensure services are running and accessible after installation.
- Implemented checks for MariaDB and LiteSpeed services, along with database connection validation.
- Enhanced user feedback during the installation process with detailed status messages and troubleshooting steps.
- Replaced the original download logic with a streamlined approach that directly installs CyberPanel from a stable branch.
- Introduced a new function for direct installation, improving clarity and reducing complexity.
- Enhanced error handling during the download and extraction of installation files.
- Updated user prompts to reflect the new installation process and provide clearer feedback.
- Removed branch and commit hash checks for downloading the installer, defaulting to a single download URL.
- Added fallback mechanism to attempt downloading from the GitHub main branch if the primary download fails or the file is too small.
- Included additional debugging information for failed installations, such as file size and permissions, to assist in troubleshooting.
- Improved clarity in error messages related to the downloaded file's integrity.
- Improved error handling during installation and upgrade processes by providing specific troubleshooting steps and log file locations.
- Added a new function to display error help, guiding users through common issues and solutions.
- Updated user prompts to offer troubleshooting assistance directly after installation failures.
- Enhanced the advanced menu to include an option for showing error help, improving user experience and support accessibility.
- Added functionality to allow users to select specific commit hashes for installation.
- Improved logging by creating a dedicated log directory and updating log file paths.
- Enhanced user prompts and error handling for better clarity during installation and upgrade processes.
- Updated installation steps to reflect new options and improved user experience.
- Added checks to ensure successful download and execution of the CyberPanel installer.
- Implemented detailed error messages for various failure scenarios during installation.
- Introduced debugging output for better visibility into the installer script's behavior.
- Enhanced progress monitoring with minimum wait time and timeout handling during installation.
- Improved overall structure and readability of the script for better maintainability.
- 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.
- Added detailed status messages and progress indicators during the installation of system dependencies to improve user experience.
- Implemented a more interactive progress bar with real-time updates during the CyberPanel installation process.
- Improved clarity of installation steps with clear prompts and success messages for each stage of dependency installation.
- Enhanced overall structure and readability of the installation script for better maintainability.
- Added detailed status messages and progress indicators during the installation of CyberPanel to improve user experience.
- Implemented background installation with real-time feedback, allowing users to monitor the installation status without interruption.
- Updated the OS detection and dependency installation steps with clear prompts to guide users through the process.
- Improved overall structure and readability of the installation script for better maintainability.
- Renamed the installer to "CyberPanel Simple Installer" and simplified the banner and menu displays for better clarity.
- Removed color codes for output to enhance compatibility across different terminal environments.
- Updated status messages to provide clearer feedback during the installation process.
- Streamlined prompts and logging for a more user-friendly experience.
- Updated the banner and menu display in the installer script to enhance visual clarity and user experience.
- Replaced escape sequences with plain text for better compatibility across different terminal environments.
- Improved prompts for user input to streamline the installation process.
- Updated the installer script to provide a complete standalone experience with interactive menus for fresh installation, updates, and reinstallation options.
- Improved user prompts and logging for better feedback during the installation process.
- Added functionality to check system status and installation preferences, enhancing user control over the installation process.
- Refined the overall structure for better maintainability and user experience.
- Updated the installer to a standalone modular format, enhancing organization and maintainability.
- Added a banner display and improved logging for better user feedback.
- Implemented comprehensive OS detection for various distributions, including AlmaLinux, CentOS, Rocky Linux, Ubuntu, and Debian.
- Enhanced dependency installation logic tailored to specific OS families.
- Introduced a status summary feature to provide users with installation progress and service status.
- Improved error handling and user prompts throughout the installation process.
Refactor CyberPanel Installer into Modular Architecture
- Transformed the monolithic installer script into a modular structure, enhancing maintainability and readability.
- Introduced dedicated modules for OS detection, dependency management, installation logic, and fixes.
- Added a beautiful interactive UI with progress indicators and menus for a better user experience.
- Implemented multiple installation modes: Interactive, Auto, and Update.
- Included comprehensive error handling and logging for improved diagnostics.
- Created a test script to validate module existence and functionality.
This update significantly improves the installation process and user interaction for CyberPanel.
- Deleted `install_enhanced.sh` and `INSTALLATION_STATUS_FINAL.md` as part of the transition to a modular architecture for the CyberPanel installer.
- Removed `INSTALLER_COMPLETION_SUMMARY.md` to streamline documentation and focus on essential components.
- Updated `install.sh` to reflect changes in the installation process, enhancing modularity and maintainability.
- Ensured that the installer now utilizes a more organized structure with dedicated modules for OS detection, dependency management, and installation processes.
- Introduced `fix_installation_issues.sh` to address critical installation issues for CyberPanel, including database connection, LiteSpeed service configuration, SSL certificate generation, and admin console setup.
- Added `install_enhanced.sh` as a robust installer with retry logic and comprehensive status checks, improving the installation experience.
- Created `service_status_check.sh` for detailed service and port status reporting, ensuring users can verify the health of their CyberPanel setup.
- Updated `install.sh` to download and execute the enhanced installer, providing a fallback to the original installer if necessary.
- Introduced `INSTALLER_COMPLETION_SUMMARY.md` to summarize the overhaul of the CyberPanel installer for universal OS compatibility.
- Added `test_all_os_compatibility.sh` and `test_installer_all_os.sh` for thorough testing across all supported operating systems.
- Implemented `validate_installation.sh` to ensure successful installation and service status verification.
- Created `universal_os_fixes.py` to manage OS-specific fixes and package installations.
- Enhanced `install.py` to integrate universal fixes and improve error handling during installation.
- Updated `UNIVERSAL_OS_COMPATIBILITY.md` with detailed documentation on compatibility features and testing procedures.
- Achieved 100% compatibility across all supported OS versions, ensuring a seamless installation experience for users.
- Adjusted indentation in `install.py` for better code clarity.
- Enhanced error handling in package installation logic to prevent silent failures.
- Streamlined configuration file checks and updates for OpenLiteSpeed port changes.
- Implemented `exportFirewallRules` method in `FirewallManager` to export custom firewall rules to a JSON file, excluding default rules.
- Added `importFirewallRules` method to handle the import of firewall rules from a JSON file, with validation and error handling.
- Updated `urls.py` to include routes for exporting and importing firewall rules.
- Created corresponding view functions in `views.py` to manage requests for exporting and importing rules.
- Enhanced the frontend with buttons for exporting and importing rules, along with appropriate loading and error handling in `firewall.js`.
- Updated the HTML template to include export/import buttons and loading indicators for better user experience.
- Modified `cyberpanel.sh` to correct the path for the `lsmcd` executable.
- Enhanced `install.py` with comprehensive fallback logic for installing AlmaLinux 9 packages, including support for PowerTools and alternative repositories.
- Improved error handling and installation methods in `venvsetup.sh` to ensure successful package installations with better error suppression and individual package handling.
- Added checks for service existence and installation for PowerDNS, improving the robustness of the installation process.
- Updated MariaDB repository URLs in cyberpanel_upgrade.sh and cyberpanel.sh to use the mirror site for improved reliability.
- Added logic in cyberpanel_upgrade.sh to determine the appropriate MariaDB repository based on the OS version.
- Introduced a new method in install.py to apply specific fixes for AlmaLinux 9, including the installation of compatibility packages.
- Removed the obsolete simple_install.py script to streamline the installation process.