- Add execute_mysql_command() helper in install.py for robust auth fallback
- Update mysqlUtilities.py with socket auth fallback for all operations:
* Database creation
* User creation
* Privilege granting
* Privilege flushing
- Fix PowerDNS database setup to use new authentication helper
- Improve cyberpanel user connection verification
- Add proper error handling and logging throughout
This ensures the installation works correctly when MariaDB is pre-installed
with socket authentication (common with dependency installations).
Fixes the 'Cannot update settings with empty passwords' installation failure.
- Add socket authentication support (sudo mysql/mariadb) for fresh MariaDB installs
- Fallback to traditional password-based authentication for existing installs
- Improve error handling with subprocess.run() and proper timeouts
- Add detailed logging to show which authentication method succeeded
- Graceful degradation when all methods fail
- Fixes installation failure when MariaDB is pre-installed as dependency
Resolves issue where installation fails with 'Cannot update settings with empty passwords'
when MariaDB gets installed during dependency phase with socket authentication.
- Changed repository URLs in the CyberPanel upgrade script and related installation scripts to use HTTPS for improved security.
- Updated the `mailscannerinstaller.sh` and `spamassassin_tojunk_installer.sh` scripts to reflect the new secure URLs.
- Modified the `install.py` script to include an additional parameter in the `update_settings_file` method for better password management.
- Deleted the .env.template file and the env_generator.py script to streamline the installation process.
- Removed various test scripts related to installation and compatibility checks, as they are no longer necessary with the updated configuration approach.
- Updated settings.py to directly include secure credentials, eliminating the need for external environment files.
- Enhanced security by ensuring sensitive information is handled directly within the application code.
- 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.
- 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.
- 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.
- Renamed the fix method to `fix_almalinux9_comprehensive` to reflect broader scope.
- Streamlined the installation process by updating system packages, installing essential build tools, and adding PHP dependencies.
- Enhanced firewall configuration by adding required ports and ensuring the service is started and enabled.
- Improved error handling and logging throughout the installation steps for better feedback on the process.
- Updated install.sh to replace yum with dnf for installing and updating curl and wget on AlmaLinux 9 and 10.
- Enhanced install/install.py to streamline MariaDB package installation with improved error handling and added installation of PHP dependencies, ensuring compatibility with AlmaLinux.
- Implemented logic to save MySQL root password securely and handle potential errors during installation processes.
- 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.
- Added checks to ensure the Python virtual environment is properly set up before running migrations.
- Implemented logic to find the correct Python executable from multiple potential paths.
- Improved MariaDB installation by trying different package combinations for AlmaLinux 9 and checking for service file existence.
- Enhanced service management to handle symlinks and alternative service names for MariaDB.
- Added error handling for missing MySQL/MariaDB client commands and ensured proper cleanup of conflicting service files.
- Improved Git clone reliability by implementing multiple clone methods and a fallback manual download option.
- Added checks to ensure necessary directories exist before cloning and configuring Dovecot.
- Enhanced Dovecot installation logic with multiple command attempts and service management.
- Updated PHP installation process to dynamically create symlinks to the best available PHP version.
- Added error handling for missing configuration files and created basic configurations as fallbacks.
- Ensured firewall setup for Sieve is only attempted if the required module is available.
- 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.