- index.html: notification dropdown scroll (list max-height, flex min-height:0), button min-width and contrast, dark text on white for dark mode visibility
- cyberpanel.sh, cyberpanel_upgrade.sh, preUpgrade.sh: default install/upgrade URLs to usmannasir/cyberpanel (keep -r/--repo for fork)
- databases/plogical: AutoLogin, views, phpmyadminsignin updates
- cyberpanel.sh: clear MariaDB-server* from dnf.conf/yum.conf before running installer so MariaDB-server can be installed (fixes exclude filtering on retry/partial install)
- cyberpanel.sh: try refs/heads/v2.5.5-dev.tar.gz for branch archive; remove installer MariaDB patch; softer chmod message
- install.py: sed fallback to strip MariaDB-server from dnf exclude if Python logic fails
- install.py: create venv at /usr/local/CyberCP if missing; add system python3 fallback for migrations; download composer.sh before chmod; remove existing SSH keys before ssh-keygen
- installCyberPanel.py: remove MariaDB-server from dnf exclude before install
- cyberpanel.sh: ensure ports 8090 and 7080 listening after install; final status shows port accessibility
- backupUtilities.py: remove existing cyberpanel keys before ssh-keygen to avoid Overwrite prompt
- install.py: allow --mariadb-version 10.11 (with 11.8, 12.1); use --nobest for 10.11/11.8 on RHEL; accept existing 10.x
- cyberpanel.sh: prompt and --mariadb-version accept 10.11; only pass --mariadb-version if install.py supports it; fix MySQLdb check (no __version__)
- cyberpanel_upgrade.sh: accept 10.11 in --mariadb-version and prompt; Check_Root allow uid 0 when SUDO set; Branch_Check avoid double v (vv2.5.5-dev); early root check
- cyberpanel.sh: ask MariaDB version (11.8/12.1) first even in --auto; add --mariadb-version
- install/install.py: remove existing SSH key before ssh-keygen to avoid Overwrite (y/n) prompt
- install/installCyberPanel.py: use MariaDB 11.8 and --nobest for AlmaLinux 9 / cent8 to fix client dependency
- Temporarily adjust dnf exclude to allow mariadb-devel installation
- Only exclude MariaDB-server, not development packages
- Ensures mariadb-devel can be installed even when server is excluded
- Critical for Python mysqlclient package compilation
- Remove silent redirects to show actual errors
- Add explicit success/failure messages
- Show pip installation output for debugging
- Better OS detection with fallback
- Verify MySQLdb availability with version check
- Add diagnostic output if installation fails
- Ensures dependencies are installed before install.py runs
- Detect AlmaLinux 10 in detect_os() function
- Treat AlmaLinux 10 same as AlmaLinux 9 for package installation
- Update supported OS list to include AlmaLinux 10
- Ensures installer works on AlmaLinux 9.x and 10.x
- Install MariaDB/MySQL development headers (mariadb-devel/mysql-devel)
- Install mysqlclient Python package (provides MySQLdb)
- Support for AlmaLinux 9/10, Rocky Linux, CentOS, RHEL, Ubuntu, Debian
- Verify MySQLdb is available before running installer
- Fixes ModuleNotFoundError: No module named 'MySQLdb'
- Verify install directory exists after extraction
- Show archive contents if extraction fails
- Ensures install/install.py is available for direct execution
- Patches install.py (not just wrapper script) to add --exclude=MariaDB-server*
- Handles both shell commands and Python string commands
- Ensures MariaDB exclude is applied to all installation commands
- Works in conjunction with dnf.conf excludes
- Get server IP address automatically
- Pass publicip as required positional argument
- Set default options (OpenLiteSpeed, Full install, Local MySQL)
- Ensures install.py runs in non-interactive mode
- Fixes issue where old interactive installer was being used
- install/install.py is the actual installer with our fixes
- cyberpanel_installer.sh is old v2.4.4 wrapper that doesn't support auto-install
- This ensures auto-install mode works and uses our fixed installer
- Falls back to cyberpanel_installer.sh if install.py not found
- Uses python3 -c instead of heredoc for better compatibility
- Simplified regex patterns for more reliable matching
- Better error handling and fallback to sed
- Properly adds --exclude=MariaDB-server* to dnf/yum install commands
- Uses Python to properly parse and modify installer script
- Handles multiple patterns for dnf/yum install commands
- Adds --exclude=MariaDB-server* to all relevant commands
- Falls back to sed if Python fails
- More robust than simple sed replacements
- Modifies installer script after download but before execution
- Adds --exclude=MariaDB-server* to all dnf/yum install commands
- Prevents MariaDB upgrade attempts in Pre_Install_Required_Components
- Works even if repository is set up and enabled
- Uses Python for more reliable repository file parsing
- Handles MariaDB 12.1 repository sections correctly
- Falls back to renaming repository files if Python fails
- More robust than sed for complex repository file formats
- Simplified repository disabling logic
- Ensures enabled=0 is set in all MariaDB repository sections
- Handles cases where enabled line doesn't exist
- More robust file detection using find command
- Creates function to disable MariaDB repository files
- Starts background process to monitor and disable repos as they're created
- Calls disable function right before installer runs
- Stops monitor after installation completes
- Prevents MariaDB upgrade attempts even if repository is set up
- Use MariaDB-server* with wildcard for better matching
- Ensure exclude is in [main] section of dnf.conf
- Also add exclude to yum.conf for compatibility
- Better handling of existing exclude lines
- Checks for existing MariaDB 10.x installation
- Adds MariaDB-server to dnf excludes BEFORE Pre_Install_Setup_Repository
- Prevents upgrade attempts in Pre_Install_Required_Components
- Runs early in install_cyberpanel_direct() function
- Change installer URL from usmannasir/cyberpanel to master3395/cyberpanel
- Update archive URL to use master3395 fork
- This ensures our fixes (bash execution, permission handling) are used
- Fixes issue where old version without fixes was being downloaded
- Use bash to execute cyberpanel_installer.sh instead of relying on execute bit
- Verify file exists before execution
- Use absolute path to ensure correct file location
- Improve chmod error handling with verification
- Fixes 'Permission denied' error when cyberpanel.sh tries to execute installer
- 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.