- Introduced a new function to install CyberPanel from a local repository if installation files are available.
- Updated the installation flow to prioritize local installation before falling back to the direct download method.
- Enhanced error handling to provide clearer feedback if local installation files are not found.
- Adjusted the installer script to include branch specification for better version control during installation.
- Added detection for AlmaLinux 10 and updated package manager settings accordingly.
- Included support for Ubuntu versions 25.10, 25.04, and 22.04.5 in the OS detection logic.
- Updated error messages and supported OS lists to reflect the new additions.
- Improved compatibility checks and installation scripts for comprehensive support across the newly added OS versions.
- Removed session validation check from phpmyadminsignin.php
- Removed PhpMyAdminAccessMiddleware from settings.py
- These changes were preventing access to phpMyAdmin even for logged-in users
- Reverts problematic authentication flow that was blocking legitimate access
- Set proper ownership (root:cyberpanel) and permissions (640) on /etc/cyberpanel/mysqlPassword
- Ensures cyberpanel group can read the password file to prevent permission denied errors
- Falls back to root-only permissions if cyberpanel group doesn't exist yet
- Also fixes permissions on existing password files during installation
Account creation now happens immediately after Python version check, before other system operations. This ensures system users are available for subsequent installation steps.
Update all vhost configurations to use /usr/local/lsws/Example/html/.well-known/acme-challenge
instead of domain-specific paths for better SSL certificate management
- 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.
Added missing PowerDNS configuration setup that was present in v2.4.4:
- Added installPowerDNSConfigurations() method to properly copy and configure pdns.conf
- Fixed PowerDNS installation to call configuration method after package installation
- Updated fixAndStartPowerDNS() to copy config template if missing
- Added proper MySQL password configuration for PowerDNS backend
- Added errno import for proper error handling
This fixes PowerDNS installation failures by ensuring the configuration file is properly created and configured with database credentials.
- 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.
- 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.
- 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.
- 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.