Commit Graph

5384 Commits

Author SHA1 Message Date
Master3395
6e935d64c7 Merge pull request #1667 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-01 01:39:52 +01:00
Master3395
7f07e3969e Delete UNIVERSAL_OS_COMPATIBILITY.md 2026-01-31 23:06:40 +01:00
master3395
37bebeb425 Fix: Add local DNS fallback to reverse_dns_lookup() - Resolves issue #1654 2026-01-31 20:46:30 +01:00
Master3395
0228ff0c33 Remove deprecated files.
Remove deprecated files.
2026-01-31 20:28:29 +01:00
Master3395
3aa2747d5c Delete MARIADB_INSTALLATION_FIXES.md 2026-01-31 17:58:40 +01:00
Master3395
4f5771e37b Merge pull request #7 from master3395/revert-4-fix/elevate-install-upgrade
Revert "fix: auto-elevate installer/upgrade"
2026-01-31 17:09:30 +01:00
Master3395
020d14fa0c Revert "fix: auto-elevate installer/upgrade" 2026-01-31 17:09:19 +01:00
Master3395
40bed7b764 Merge pull request #4 from KraoESPfan1n/fix/elevate-install-upgrade
fix: auto-elevate installer/upgrade
2026-01-30 23:31:55 +01:00
KraoESPfan1n
81a27b05f3 fix: add installer/upgrade logging 2026-01-30 22:26:22 +00:00
KraoESPfan1n
07e5715fed fix: auto-elevate installer/upgrade 2026-01-30 22:09:27 +00:00
Master3395
348fca4230 Merge pull request #1665 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-30 20:35:27 +01:00
master3395
238f4b7478 Dashboard, user management, and FTP quota fixes for v2.5.5-dev
- base: Clickable insight cards (Users, Websites, WordPress, DBs, Emails, FTP)
- base: data-cfasync=false on scripts for Cloudflare Rocket Loader compatibility
- userManagment: createUser/modifyUser/createACL/apiAccess fixes, alert logic
- websiteFunctions: FTP quota management, createWebsite, ACLManager fix
2026-01-30 20:34:29 +01:00
master3395
30f5e375eb Merge origin/v2.5.5-dev - keep FTP, dashboard, notification fixes 2026-01-30 19:46:39 +01:00
master3395
6598bf818f FTP, dashboard, and notification fixes for v2.5.5-dev
- FTP: Fix createFTPAccount (ChildDomains), deleteFTPAccount, ResetFTPConfigurations, listFTPAccounts, quotaManagement
- FTP: Add quotaManagement page at /ftp/quotaManagement, improve reset status polling and error display
- Dashboard: Fix Angular ng-click parse error (remove return false from blockIPAddress)
- Dashboard: Add data-cfasync=false to jQuery/system-status for Rocket Loader compatibility
- FTP Quota Management: Improve error handling, fix refreshQuotas success/error callbacks
- Notification: Add updated_at column for usernotificationpreferences (run SQL migration)
2026-01-30 19:46:05 +01:00
Master3395
0814f8c792 Merge pull request #1664 from master3395/v2.5.5-dev
…tent-type, fix IP validation, and add comprehensive logging

- Fixed IP validation logic in blockIPAddress function
- Added proper JSON content-type header in firewallManager.py addBannedIP response
- Improved error handling with try-catch wrapper
- Added comprehensive console logging for debugging
- Fixed button onclick handler interference with ng-click
- Added $scope.$apply() calls for proper AngularJS view updates
- Enhanced error message parsing and display
- Fixed duplicate error notification prevention
2026-01-29 01:05:12 +01:00
master3395
14152d150b Fix Ban IP functionality: Improve error handling, add proper JSON content-type, fix IP validation, and add comprehensive logging
- Fixed IP validation logic in blockIPAddress function
- Added proper JSON content-type header in firewallManager.py addBannedIP response
- Improved error handling with try-catch wrapper
- Added comprehensive console logging for debugging
- Fixed button onclick handler interference with ng-click
- Added $scope.$apply() calls for proper AngularJS view updates
- Enhanced error message parsing and display
- Fixed duplicate error notification prevention
2026-01-29 01:02:35 +01:00
Master3395
9e666c9134 Merge pull request #1663 from master3395/v2.5.5-dev
V2.5.5 dev Fixing Firewall rules and Banned IP's page.
2026-01-28 23:25:42 +01:00
master3395
e303548112 Add modify firewall rule and improve export/import functionality
- Add modifyRule function to allow editing firewall rules without deletion
- Add modify button and modal for firewall rules (similar to banned IPs)
- Fix exportRules function to properly handle file downloads with blob response
- Improve importRules function with better error handling and PNotify notifications
- Add exportBannedIPs and importBannedIPs functionality
- Add export/import buttons for banned IPs
- Improve error handling and user feedback for all export/import operations
- Add proper validation and duplicate detection for imports
2026-01-28 23:24:16 +01:00
master3395
4cf263d205 Fix firewall banned IP modify functionality
- Remove readonly attribute from IP address field in modify modal
- Make IP address field editable when modal opens
- Update modifyBannedIP function to include IP address in save request
- Remove conflicting onclick handler that was blocking ng-click
- Update help text to reflect that IP address can be changed
- Add IP address validation in modifyBannedIP function
2026-01-28 23:15:10 +01:00
master3395
1e87abb978 Update preUpgrade.sh to use master3395/cyberpanel repository instead of usmannasir/cyberpanel 2026-01-28 03:13:14 +01:00
master3395
1c7daae155 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-28 03:12:17 +01:00
master3395
88e1faa07d Fix syntax error in cyberpanel_upgrade.sh - add missing if statement for lscpd service check 2026-01-28 03:12:08 +01:00
Master3395
d733c4a1d0 Merge pull request #1662 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-28 03:08:43 +01:00
master3395
63a54607b7 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-28 02:47:32 +01:00
master3395
f7d173a8cb Bump version to 2.5.5-dev for v2.5.5-dev branch 2026-01-28 02:47:14 +01:00
Master3395
3e298f120f Merge pull request #1661 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-28 01:32:00 +01:00
master3395
1aa8db0339 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-27 00:41:52 +01:00
master3395
98c7fefd99 Fix MariaDB installation issues on AlmaLinux 9
- Enhanced MariaDB-server-compat package removal with multiple aggressive attempts
- Added --allowerasing and dnf exclude to prevent compat package conflicts
- Added MariaDB binary verification before password change
- Added service status verification and wait time
- Improved error handling and graceful failure
- Fixed FileNotFoundError when mysql command not found

Fixes:
- MariaDB-server-compat-12.1.2-1.el9.noarch conflict with MariaDB 10.11
- mysql command not found after failed installation
- Installation proceeding when MariaDB wasn't actually installed
2026-01-27 00:41:43 +01:00
Master3395
1c054af741 Merge pull request #1660 from master3395/v2.5.5-dev
CyberPanel Plugin Store

Added upgrade button UI
Added revert version button in Grid and Table views
Implemented local timezone display for cache expiry
Fixed revert plugin JavaScript function
2026-01-27 00:34:32 +01:00
master3395
2bde2624f0 Enhance plugin store: Add upgrade button, auto-backup, revert functionality, cache randomization, and local time display
- Add upgrade button in plugin store when updates are available
- Implement automatic plugin backup before upgrades
- Add revert version functionality with backup selection
- Randomize cache duration (±10 minutes) to prevent simultaneous GitHub API requests
- Display cache expiry time in user's local timezone and locale format
- Fix revert plugin function to work without event object
- Improve error handling in plugin store operations
2026-01-27 00:32:45 +01:00
master3395
da4c1d9601 Fix compat removal, shell metachars in call(), upgrade AlmaLinux 9 MariaDB
- install_utils.call: use shell=True for commands with ||, 2>, |, etc.
  Avoids 'No matching repo to modify: 2>/dev/null, true, ||' when
  dnf config-manager '... 2>/dev/null || true' is run via shlex.split.

- Add explicit 'rpm -e --nodeps MariaDB-server-compat-12.1.2-1.el9.noarch'
  before dnf remove in main(), installMySQL, fix_almalinux9_comprehensive.

- upgrade fix_almalinux9_mariadb: add compat removal before MariaDB install;
  use MariaDB 10.11 repo instead of 12.1 to avoid compat conflicts.
2026-01-27 00:23:56 +01:00
master3395
de21c03fc7 Fix MariaDB compat, mysql path, and OpenLiteSpeed binary install
MariaDB-server-compat:
- Remove MariaDB-server-compat* in main() before any MariaDB install
- Use dnf remove then rpm -e --nodeps loop in main(), installMySQL, fix_almalinux9
- Prevents transaction conflicts when installing MariaDB 10.11

mysql command not found:
- install_utils.call: detect mysql/mariadb commands, use shell=True and full path
- Replace leading mysql/mariadb with /usr/bin/mariadb or /usr/bin/mysql
- Fixes FileNotFoundError when changeMYSQLRootPassword runs

OpenLiteSpeed:
- Create /usr/local/lsws and /usr/local/lsws/bin before installing custom binary
- Fixes 'No such file or directory: /usr/local/lsws/bin/openlitespeed'
2026-01-26 23:21:53 +01:00
master3395
99b24f853a Fix mysql command not found error in install_utils.call
- Detect mysql/mariadb commands and find binary path automatically
- Replace mysql/mariadb with full path (/usr/bin/mysql or /usr/bin/mariadb)
- Use shell=True for mysql commands to handle complex SQL properly
- Fixes FileNotFoundError when executing mysql commands
- Works with both mysql and mariadb binaries
2026-01-26 22:58:56 +01:00
master3395
a28c4287bf Remove conflicting MariaDB-server-compat packages before installation
- Remove MariaDB-server-compat* packages that conflict with MariaDB 10.11
- Fixes transaction test errors when installing MariaDB 10.11
- Removes compat packages from previous MariaDB 12.1 installation attempts
- Ensures clean MariaDB 10.11 installation without conflicts
- Also remove sudo from curl command (not needed when running as root)
2026-01-26 22:58:06 +01:00
master3395
e271edd1b2 Fix mariadb-devel installation when MariaDB-server is excluded
- 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
2026-01-26 22:48:53 +01:00
master3395
49df4ae9ac Improve Python MySQL dependency installation with better error handling
- 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
2026-01-26 22:48:28 +01:00
master3395
cc30e8aed8 Add AlmaLinux 10 support to OS detection
- 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
2026-01-26 22:44:51 +01:00
master3395
e2931ad53e Install Python MySQL dependencies before running install.py
- 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'
2026-01-26 22:44:17 +01:00
master3395
9006b1bb6b Add verification for install directory extraction
- Verify install directory exists after extraction
- Show archive contents if extraction fails
- Ensures install/install.py is available for direct execution
2026-01-26 22:39:33 +01:00
master3395
615e148467 Patch install.py directly to exclude MariaDB-server from dnf commands
- 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
2026-01-26 22:38:58 +01:00
master3395
703ea3b1bb Pass required arguments to install.py for non-interactive installation
- 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
2026-01-26 22:38:32 +01:00
master3395
368994ab13 Use install/install.py directly instead of cyberpanel_installer.sh wrapper
- 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
2026-01-26 22:37:50 +01:00
master3395
730cbe6879 Fix Python script syntax for installer patching
- 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
2026-01-26 22:29:33 +01:00
master3395
cb2ec327ce Improve installer script patching with Python for better reliability
- 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
2026-01-26 22:29:01 +01:00
master3395
70a4182962 Patch downloaded installer script to exclude MariaDB-server from dnf/yum commands
- 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
2026-01-26 22:28:30 +01:00
master3395
09800e12fc Use Python to properly disable MariaDB repositories with fallback
- 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
2026-01-26 22:02:44 +01:00
master3395
e71a097cf9 Fix sed commands to properly disable MariaDB repositories
- 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
2026-01-26 22:02:14 +01:00
master3395
5a448acd64 Add background monitor to disable MariaDB repositories after they're created
- 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
2026-01-26 22:01:53 +01:00
master3395
cc62657026 Improve dnf exclude syntax and add yum.conf exclude
- 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
2026-01-26 22:01:12 +01:00
master3395
e2033b1f34 Add dnf exclude for MariaDB-server in cyberpanel.sh before installer runs
- 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
2026-01-26 21:49:46 +01:00