# CyberPanel CLI Command Reference Guide ## Overview This comprehensive guide covers all available CyberPanel CLI commands for managing your server directly from SSH. The CyberPanel CLI provides powerful command-line tools for website management, system administration, and automation. ## Table of Contents 1. [Getting Started](#getting-started) 2. [Website Management Commands](#website-management-commands) 3. [DNS Management Commands](#dns-management-commands) 4. [Database Management Commands](#database-management-commands) 5. [Email Management Commands](#email-management-commands) 6. [User Management Commands](#user-management-commands) 7. [Package Management Commands](#package-management-commands) 8. [System Administration Commands](#system-administration-commands) 9. [File Management Commands](#file-management-commands) 10. [Application Installation Commands](#application-installation-commands) 11. [Backup and Restore Commands](#backup-and-restore-commands) 12. [Security and Firewall Commands](#security-and-firewall-commands) 13. [Troubleshooting Commands](#troubleshooting-commands) 14. [Advanced Usage Examples](#advanced-usage-examples) ## Getting Started ### Accessing CyberPanel CLI ```bash # Access CyberPanel CLI sudo cyberpanel # Or run specific commands directly sudo cyberpanel [command] [options] ``` ### Basic Syntax ```bash cyberpanel [function] --parameter1 value1 --parameter2 value2 ``` ### Getting Help ```bash # Show all available commands cyberpanel --help # Show help for specific command cyberpanel createWebsite --help ``` ## Website Management Commands ### Create Website ```bash # Basic website creation cyberpanel createWebsite \ --package Default \ --owner admin \ --domainName example.com \ --email admin@example.com \ --php 8.1 # With SSL and DKIM cyberpanel createWebsite \ --package Default \ --owner admin \ --domainName example.com \ --email admin@example.com \ --php 8.1 \ --ssl 1 \ --dkim 1 ``` **Parameters:** - `--package`: Package name (e.g., Default, CLI) - `--owner`: Owner username - `--domainName`: Domain name to create - `--email`: Administrator email - `--php`: PHP version (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3) - `--ssl`: Enable SSL (1) or disable (0) - `--dkim`: Enable DKIM (1) or disable (0) - `--openBasedir`: Enable open_basedir protection (1) or disable (0) ### Delete Website ```bash # Delete a website cyberpanel deleteWebsite \ --domainName example.com ``` ### List Websites ```bash # List all websites cyberpanel listWebsites ``` ### Change PHP Version ```bash # Change PHP version for a website cyberpanel changePHP \ --domainName example.com \ --php 8.1 ``` ### Change Package ```bash # Change website package cyberpanel changePackage \ --domainName example.com \ --packageName CLI ``` ## DNS Management Commands ### Create DNS Record ```bash # Create A record cyberpanel createDNSRecord \ --domainName example.com \ --name www \ --recordType A \ --value 192.168.1.100 \ --priority 0 \ --ttl 3600 # Create MX record cyberpanel createDNSRecord \ --domainName example.com \ --name @ \ --recordType MX \ --value mail.example.com \ --priority 10 \ --ttl 3600 # Create CNAME record cyberpanel createDNSRecord \ --domainName example.com \ --name blog \ --recordType CNAME \ --value example.com \ --priority 0 \ --ttl 3600 ``` **Parameters:** - `--domainName`: Domain name - `--name`: Record name (subdomain or @ for root) - `--recordType`: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV) - `--value`: Record value (IP address, hostname, text) - `--priority`: Priority (for MX records) - `--ttl`: Time to live in seconds ### List DNS Records ```bash # List DNS records as JSON cyberpanel listDNSJson \ --domainName example.com # List DNS records (human readable) cyberpanel listDNS \ --domainName example.com ``` ### Delete DNS Record ```bash # Delete DNS record by ID cyberpanel deleteDNSRecord \ --recordID 123 ``` ## Database Management Commands ### Create Database ```bash # Create MySQL database cyberpanel createDatabase \ --databaseWebsite example.com \ --dbName mydatabase \ --dbUsername dbuser \ --dbPassword securepassword ``` **Parameters:** - `--databaseWebsite`: Associated website domain - `--dbName`: Database name - `--dbUsername`: Database username - `--dbPassword`: Database password ### Delete Database ```bash # Delete database cyberpanel deleteDatabase \ --dbName mydatabase ``` ### List Databases ```bash # List all databases cyberpanel listDatabases ``` ## Email Management Commands ### Create Email Account ```bash # Create email account cyberpanel createEmail \ --userName admin \ --password securepassword \ --databaseWebsite example.com ``` **Parameters:** - `--userName`: Email username (without @domain.com) - `--password`: Email password - `--databaseWebsite`: Associated website domain ### Delete Email Account ```bash # Delete email account cyberpanel deleteEmail \ --userName admin \ --databaseWebsite example.com ``` ### List Email Accounts ```bash # List email accounts cyberpanel listEmails \ --databaseWebsite example.com ``` ## User Management Commands ### Create User ```bash # Create new user cyberpanel createUser \ --firstName John \ --lastName Doe \ --userName johndoe \ --email john@example.com \ --websitesLimit 5 \ --selectedACL user \ --securityLevel 0 ``` **Parameters:** - `--firstName`: User's first name - `--lastName`: User's last name - `--userName`: Username - `--email`: User's email address - `--websitesLimit`: Maximum number of websites - `--selectedACL`: Access control level (user, reseller, admin) - `--securityLevel`: Security level (0=normal, 1=high) ### Delete User ```bash # Delete user cyberpanel deleteUser \ --userName johndoe ``` ### List Users ```bash # List all users cyberpanel listUsers ``` ### Change User Password ```bash # Change user password cyberpanel changeUserPass \ --userName johndoe \ --password newpassword ``` ### Suspend/Unsuspend User ```bash # Suspend user cyberpanel suspendUser \ --userName johndoe \ --state 1 # Unsuspend user cyberpanel suspendUser \ --userName johndoe \ --state 0 ``` ## Package Management Commands ### Create Package ```bash # Create hosting package cyberpanel createPackage \ --packageName MyPackage \ --diskSpace 1024 \ --bandwidth 10240 \ --emailAccounts 10 \ --dataBases 5 \ --ftpAccounts 5 \ --allowedDomains 3 ``` **Parameters:** - `--packageName`: Package name - `--diskSpace`: Disk space in MB - `--bandwidth`: Bandwidth in MB - `--emailAccounts`: Number of email accounts - `--dataBases`: Number of databases - `--ftpAccounts`: Number of FTP accounts - `--allowedDomains`: Number of allowed domains ### Delete Package ```bash # Delete package cyberpanel deletePackage \ --packageName MyPackage ``` ### List Packages ```bash # List all packages cyberpanel listPackages ``` ## System Administration Commands ### Fix File Permissions ```bash # Fix file permissions for a domain cyberpanel fixFilePermissions \ --domainName example.com ``` **Note**: This command was recently added and fixes file permissions for websites. ### Switch to LiteSpeed Enterprise ```bash # Switch to LiteSpeed Enterprise cyberpanel switchTOLSWS \ --licenseKey YOUR_LITESPEED_LICENSE_KEY ``` ### Verify Connection ```bash # Verify CyberPanel connection cyberpanel verifyConn \ --adminUser admin \ --adminPass yourpassword ``` ## File Management Commands ### File Manager Operations ```bash # List files (via FileManager) cyberpanel listFiles \ --domainName example.com \ --path public_html ``` ## Application Installation Commands ### Install WordPress ```bash # Install WordPress cyberpanel installWordPress \ --domainName example.com \ --password adminpass \ --siteTitle "My WordPress Site" \ --path blog ``` **Parameters:** - `--domainName`: Domain name - `--password`: WordPress admin password - `--siteTitle`: Site title - `--path`: Installation path (optional, defaults to root) ### Install Joomla ```bash # Install Joomla cyberpanel installJoomla \ --domainName example.com \ --password adminpass \ --siteTitle "My Joomla Site" \ --path joomla ``` ## Backup and Restore Commands ### Create Backup ```bash # Create website backup cyberpanel createBackup \ --domainName example.com ``` ### Restore Backup ```bash # Restore website backup cyberpanel restoreBackup \ --domainName example.com \ --fileName /path/to/backup/file.tar.gz ``` **Parameters:** - `--domainName`: Domain name - `--fileName`: Complete path to backup file ### List Backups ```bash # List available backups cyberpanel listBackups \ --domainName example.com ``` ## Security and Firewall Commands ### Firewall Management ```bash # List firewall rules cyberpanel listFirewallRules # Add firewall rule cyberpanel addFirewallRule \ --port 8080 \ --action Allow # Delete firewall rule cyberpanel deleteFirewallRule \ --ruleID 123 ``` ## Troubleshooting Commands ### System Status ```bash # Check CyberPanel version cyberpanel version # Check system status cyberpanel status # Verify installation cyberpanel verifyInstall ``` ### Log Commands ```bash # View CyberPanel logs cyberpanel logs # View error logs cyberpanel errorLogs # Clear logs cyberpanel clearLogs ``` ## Advanced Usage Examples ### Automated Website Deployment ```bash #!/bin/bash # Script to create a complete website setup DOMAIN="example.com" OWNER="admin" EMAIL="admin@example.com" PACKAGE="Default" # Create website cyberpanel createWebsite \ --package $PACKAGE \ --owner $OWNER \ --domainName $DOMAIN \ --email $EMAIL \ --php 8.1 \ --ssl 1 # Create database cyberpanel createDatabase \ --databaseWebsite $DOMAIN \ --dbName wpdb \ --dbUsername wpuser \ --dbPassword $(openssl rand -base64 32) # Create email cyberpanel createEmail \ --userName admin \ --password $(openssl rand -base64 16) \ --databaseWebsite $DOMAIN # Install WordPress cyberpanel installWordPress \ --domainName $DOMAIN \ --password $(openssl rand -base64 16) \ --siteTitle "My Website" echo "Website setup complete for $DOMAIN" ``` ### Bulk User Creation ```bash #!/bin/bash # Script to create multiple users USERS=("user1" "user2" "user3") for USER in "${USERS[@]}"; do cyberpanel createUser \ --firstName "$USER" \ --lastName "User" \ --userName "$USER" \ --email "$USER@example.com" \ --websitesLimit 3 \ --selectedACL user \ --securityLevel 0 done ``` ### Website Maintenance Script ```bash #!/bin/bash # Script for website maintenance # List all websites WEBSITES=$(cyberpanel listWebsites | grep -o '"[^"]*\.com"' | tr -d '"') for WEBSITE in $WEBSITES; do echo "Processing $WEBSITE..." # Fix permissions cyberpanel fixFilePermissions --domainName $WEBSITE # Create backup cyberpanel createBackup --domainName $WEBSITE echo "Completed $WEBSITE" done ``` ## Common Error Messages and Solutions ### "Please enter the domain" Error ```bash # Make sure to include all required parameters cyberpanel createWebsite \ --package Default \ --owner admin \ --domainName example.com \ --email admin@example.com \ --php 8.1 ``` ### "Administrator not found" Error ```bash # Verify the owner exists cyberpanel listUsers | grep admin # Create the owner if it doesn't exist cyberpanel createUser \ --firstName Admin \ --lastName User \ --userName admin \ --email admin@example.com \ --websitesLimit 10 \ --selectedACL admin ``` ### "Package not found" Error ```bash # List available packages cyberpanel listPackages # Create package if needed cyberpanel createPackage \ --packageName Default \ --diskSpace 1024 \ --bandwidth 10240 \ --emailAccounts 10 \ --dataBases 5 \ --ftpAccounts 5 \ --allowedDomains 3 ``` ## Best Practices ### 1. Always Use Full Parameters ```bash # Good - explicit parameters cyberpanel createWebsite \ --package Default \ --owner admin \ --domainName example.com \ --email admin@example.com \ --php 8.1 # Avoid - relying on defaults cyberpanel createWebsite --domainName example.com ``` ### 2. Use Strong Passwords ```bash # Generate secure passwords cyberpanel createDatabase \ --databaseWebsite example.com \ --dbName mydb \ --dbUsername dbuser \ --dbPassword $(openssl rand -base64 32) ``` ### 3. Backup Before Changes ```bash # Always backup before making changes cyberpanel createBackup --domainName example.com cyberpanel changePHP --domainName example.com --php 8.1 ``` ### 4. Use Scripts for Automation ```bash # Create reusable scripts cat > setup-website.sh << 'EOF' #!/bin/bash DOMAIN=$1 if [ -z "$DOMAIN" ]; then echo "Usage: $0 domain.com" exit 1 fi cyberpanel createWebsite \ --package Default \ --owner admin \ --domainName $DOMAIN \ --email admin@$DOMAIN \ --php 8.1 \ --ssl 1 EOF chmod +x setup-website.sh ./setup-website.sh example.com ``` ## Integration with Automation Tools ### Ansible Playbook Example ```yaml --- - name: Setup CyberPanel Website hosts: cyberpanel_servers tasks: - name: Create website command: > cyberpanel createWebsite --package {{ package_name }} --owner {{ owner_name }} --domainName {{ domain_name }} --email {{ admin_email }} --php {{ php_version }} register: website_result - name: Create database command: > cyberpanel createDatabase --databaseWebsite {{ domain_name }} --dbName {{ db_name }} --dbUsername {{ db_user }} --dbPassword {{ db_password }} when: website_result.rc == 0 ``` ### Docker Integration ```dockerfile FROM ubuntu:20.04 # Install CyberPanel RUN wget -O - https://cyberpanel.sh/install.sh | bash # Copy setup script COPY setup.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/setup.sh # Run setup on container start CMD ["/usr/local/bin/setup.sh"] ``` ## Getting Help ### Command Help ```bash # Get help for any command cyberpanel [command] --help # Example cyberpanel createWebsite --help ``` ### Logs and Debugging ```bash # Check CyberPanel logs tail -f /usr/local/lscp/logs/error.log # Check system logs journalctl -u lscpd -f # Enable debug mode export CYBERPANEL_DEBUG=1 cyberpanel createWebsite --domainName example.com ``` ### Community Support - **CyberPanel Forums**: https://community.cyberpanel.net - **GitHub Issues**: https://github.com/usmannasir/cyberpanel/issues - **Discord Server**: https://discord.gg/cyberpanel --- **Note**: This guide covers the most commonly used CyberPanel CLI commands. For the complete list of available commands and their parameters, run `cyberpanel --help` on your server. *Last updated: January 2025*