- Move status messages to appear after CyberPanel installer completes
- Silence verbose output during post-installation fixes
- Auto-answer OpenLiteSpeed password prompts to avoid manual input
- Simplify final status summary with cleaner formatting
- Fix static file permissions silently in background
- Show actual server IP in access details
- Reduce redundant success messages
- Make post-installation configurations less verbose
This creates a cleaner installation experience where the CyberPanel installer's summary appears first, followed by minimal post-installation configuration messages and a concise final status.
- Capture actual generated password from CyberPanel installation output
- Save generated password to /root/.cyberpanel_password for persistence
- Use captured password for OpenLiteSpeed admin configuration
- Update status summary to show actual password instead of hardcoded value
- Fix service check to use lscpd (actual CyberPanel service) instead of non-existent 'cyberpanel' service
- Add lscpd service status check in installation summary
This ensures the password shown in the summary matches the actual CyberPanel admin password.
- Updated the installation and upgrade processes to provide live output monitoring instead of background execution.
- Enhanced logging by creating dedicated directories for installation and upgrade logs.
- Improved error handling to display relevant exit codes and log information upon failure.
- Removed deprecated progress tracking logic for a more streamlined user experience during installation and upgrades.
- Modified the download logic to use a version-specific URL for the installation files.
- Added conditional checks to determine the appropriate installation directory based on the selected installer URL.
- Updated user feedback to inform about the availability of the v2.5.5-dev version and guide users on alternative options if it's not available.
- 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.
- 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.
- Modified cyberpanel.sh to verify the existence of the development branch using the GitHub API, improving accuracy in branch checks.
- Updated BRANCH_PREFIX_FIX.md to include confirmation of GitHub API verification for the v2.5.5-dev branch.
- Enhanced test_fixes.sh to include a test for the v2.5.5-dev branch via GitHub API, ensuring reliable branch validation.
- Added logic to automatically prepend 'v' to development branch names if not provided in cyberpanel.sh.
- Updated test_fixes.sh to include tests for both existing and non-existent branches with and without 'v' prefix, ensuring accurate HTTP response validation.
- Changed MariaDB server version from 10.11 to 12.1 in cyberpanel_upgrade.sh, cyberpanel.sh, install.py, and venvsetup.sh to ensure compatibility with the latest features and security updates.
- Enhanced error handling for branch and commit verification in venvsetup.sh to improve installation reliability.
- Streamlined the requirements file download process with fallback options in venvsetup.sh to handle potential download failures.
- Updated cyberpanel_upgrade.sh to differentiate AlmaLinux 9 for dnf package management and specific package installations.
- Improved OS detection logic to handle AlmaLinux 9 separately, ensuring correct repository setup and package installations.
- Enhanced error handling and logging for better feedback during the installation process.
- Refined version validation in cyberpanel.sh to support stable versions, development versions, and commit hashes.
- Streamlined installation process in install.sh to accommodate specific branch, tag, or commit installations.
- Integrated OS detection and specific fix application directly into the installation flow, improving compatibility and reducing conflicts.
- Added logging for MariaDB repository setup and verification, ensuring successful addition or warning on potential failures.
- Enhanced the installation of MariaDB for AlmaLinux 9 with improved error handling and service configuration checks.
- Removed the deprecated installCyberPanel.py file, consolidating functionality into the main installation script for better maintainability.
- Improved conflict resolution for MariaDB and MySQL packages in both cyberpanel.sh and cyberpanel_upgrade.sh.
- Added checks and symlink creation for mysql.h compatibility to ensure successful installation of MySQL development headers.
- Enhanced error handling during Python requirements installation with fallback options for mysqlclient and PyMySQL.
- Verified installation of MySQL development headers and modified requirements to avoid mysqlclient compilation issues.
- Added installation steps for MySQL/MariaDB development headers in both cyberpanel.sh and cyberpanel_upgrade.sh to support the mysqlclient Python package.
- Implemented checks for different operating systems (Ubuntu, Debian, CentOS, RHEL, etc.) to ensure the correct packages are installed.
- Enhanced error handling during Python requirements installation with fallback options for mysqlclient.
- Verified the installation of MySQL development headers using pkg-config.
- Added steps to clean and make cache before and after EPEL and MariaDB repository installations to prevent conflicts.
- Implemented repository priority settings to avoid package conflicts during installation.
- Included checks for repository and package conflicts, with fallback installation strategies for MariaDB.
- Organized package installation into logical steps to ensure proper dependency resolution and system stability.
- Finalized with a cache clean and system update to maintain consistency.
- Changed package names from 'MariaDB-*' to 'mariadb-*' for consistency across scripts.
- Modified LSMCD service type from 'forking' to 'simple' and added user/group settings in cyberpanel.sh.
- Improved error handling for LSMCD service startup in cyberpanel.sh.
- Fixed Django AutoField warnings in install.py by directly calling the fix function.
- Added compilation and installation steps for LiteSpeed Memcached (LSMCD) in cyberpanel.sh, including systemd service creation and management.
- Updated install.py to include checks for LSMCD service status and improved status checks for OpenLiteSpeed, PowerDNS, and Pure-FTPd.
- Updated MariaDB repository setup commands in cyberpanel.sh to use double quotes for consistency.
- Added installation of libmemcached dependencies in both cyberpanel.sh and install.py for improved functionality.
- Modified ownership commands in install.py to remove unnecessary redirection for better clarity.
- Introduced a fix for Django AutoField warnings in install.py by adding a DEFAULT_AUTO_FIELD setting.
- Created mbstring configuration for each PHP version in installCyberPanel.py to ensure proper PHP functionality.
- Adjusted PHP version priority in cyberpanel_upgrade.sh and install.py to include PHP 8.5 (beta) as the highest priority.
- Enhanced package installation logic in cyberpanel.sh and installCyberPanel.py to install PHP dependencies more robustly, including error handling for missing packages.
- Updated README.md to reflect the new recommended PHP versions and deprecated versions.
- Improved error handling and dependency management in phpUtilities.py and upgrade.py for better installation reliability.
Implemented a comprehensive installation summary function in both cyberpanel.sh and install.py. The summary includes installation status, system resource usage, and troubleshooting steps for failed installations. Enhanced user feedback during the installation process to improve clarity and support for users.