Thank you for your detailed feedback. As a long-time user of CyberPanel, your concerns deserve a thorough response. Let me address each issue systematically:
1. WordPress Database Connection Error
First, let’s clarify - the post you referenced (#58833) is indeed 7 days old, not weeks. More importantly, I’ve personally tested WordPress installations on multiple fresh CyberPanel setups and cannot reproduce this issue. This suggests the problem may be environment-specific rather than a universal bug.
To debug what’s happening when you install WordPress from the UI:
First, activate CyberPanel Python environment
source /usr/local/CyberCP/bin/activate
Enable debug mode to see detailed errors
touch /usr/local/CyberCP/debug
Monitor the CyberPanel log during WordPress installation
tail -f /home/cyberpanel/error-logs.txt
In another terminal, check MySQL/MariaDB logs
tail -f /var/log/mysql/error.log
or
journalctl -u mariadb -f
To verify database connectivity:
Get MySQL root password
cat /etc/cyberpanel/mysqlPassword
Test MySQL connection
mysql -u root -p
Enter the password from above
Check CyberPanel database user privileges
SHOW GRANTS FOR 'cyberpanel'@'localhost';
When you click “Install WordPress” in the UI, watch these logs for specific errors. Common issues include:
- Database service connectivity
- Insufficient MySQL privileges
- Disk space issues
- PHP version conflicts
2. Backup Scheduler Showing No Websites
This is likely an ACL (Access Control List) issue. The backup scheduler uses the same ACL system as other
CyberPanel components. If you’re seeing no websites despite having 100+ sites:
Get MySQL password first
cat /etc/cyberpanel/mysqlPassword
Check websites in database directly
mysql -u root -p cyberpanel -e "SELECT domain, admin FROM websiteFunctions_websites LIMIT 10;"
Or using Django shell:
Activate CyberPanel environment first
source /usr/local/CyberCP/bin/activate
Check via Django
cd /usr/local/CyberCP
python manage.py shell
Then:
from loginSystem.models import Administrator
from websiteFunctions.models import Websites
from plogical.acl import ACLManager
Replace ‘admin’ with your actual username
admin = Administrator.objects.get(userName='admin')
print(f"User level: {admin.acl}")
print(f"Admin status: {admin.acl.adminStatus}")
Check websites count
total_sites = Websites.objects.count()
user_sites = Websites.objects.filter(admin=admin).count()
print(f"Total websites: {total_sites}")
print(f"Your websites: {user_sites}")
3. Regarding Update Frequency and Testing
While I understand your frustration, let me provide some perspective:
- CyberPanel is an open-source project with active development. The frequent updates you’re seeing are
actually bug fixes and security patches.
- The AI scanner was added based on community requests for better security features.
- You can check your current version at: https://yourserver:8090/base/versionManagment
However, your point about stability is valid, and here’s what we’re doing:
- Improved Testing Pipeline: We’re implementing more comprehensive automated tests
- Staging Branch: Critical updates will be tested longer in staging before release
- Better Communication: Release notes will clearly indicate whether updates are critical security fixes or
feature additions
4. Debugging Steps for Your Issues
For WordPress Installation:
- Check PHP configuration:
Check which PHP version is set for the domain
ls -la /usr/local/lsws/conf/vhosts/yourdomain.com/
cat /usr/local/lsws/conf/vhosts/yourdomain.com/vhost.conf | grep php
- Monitor database creation during installation:
Get MySQL password
cat /etc/cyberpanel/mysqlPassword
Monitor MySQL queries in real-time
mysql -u root -p -e "SET GLOBAL general_log = 'ON';"
tail -f /var/lib/mysql/*.log
Try WordPress installation and watch what queries are executed
For Backup Scheduler:
Check if websites are properly loaded:
source /usr/local/CyberCP/bin/activate
cd /usr/local/CyberCP
python manage.py shell
from websiteFunctions.models import Websites
from loginSystem.models import Administrator
from plogical.acl import ACLManager
Check total websites
print(f"Total websites: {Websites.objects.count()}")
Check websites for specific admin
admin = Administrator.objects.get(userName='your_username')
currentACL = ACLManager.loadedACL(admin.userName)
websites = ACLManager.findWebsiteObjects(currentACL, admin.pk)
print(f"ACL type: {type(websites)}")
print(f"Websites accessible: {len(websites) if isinstance(websites, list) else websites.count()}")
Final Thoughts
Your experience matters to us. If the above debugging steps don’t help identify the issues, please provide:
- Your server OS and version
- CyberPanel version (check at :8090/base/versionManagment)
- The specific error messages from the logs when attempting WordPress installation
- Output from the debugging commands above
- Results from the MySQL connectivity tests
We’re committed to making CyberPanel better, but we need specific error messages and logs to fix issues effectively. The debugging steps above should help us identify exactly what’s failing in your environment.
Let’s work together to resolve these issues and improve CyberPanel for everyone.