/
home
/
clp
/
htdocs
/
app
/
files
/
up file
home
Application Commands: # Add User clpctl user:add --userName='john.doe' --email='john.doe@domain.com' --firstName='John' --lastName='Doe' --password='!password!' --role='admin' --timezone='UTC' --status='1' clpctl user:add --userName='john.doe' --email='john.doe@domain.com' --firstName='John' --lastName='Doe' --password='!password!' --role='site-manager' --timezone='UTC' --status='1' clpctl user:add --userName='john.doe' --email='john.doe@domain.com' --firstName='John' --lastName='Doe' --password='!password!' --role='user' --sites='domain.com,domain.io' --timezone='Europe/Berlin' --status='1' # Delete User clpctl user:delete --userName='john.doe' # List Users clpctl user:list # Resets users password clpctl user:reset:password --userName='stefan' --password='stefan87' # Disable MFA for user clpctl user:disable:mfa --userName='stefan' # Enable CloudPanel Basic Auth clpctl cloudpanel:enable:basic-auth --userName='stefan' --password='stefan87' # Disable CloudPanel Basic Auth clpctl cloudpanel:disable:basic-auth # Set Release Channel clpctl cloudpanel:set:release-channel --channel='test' clpctl cloudpanel:set:release-channel --channel='stable' # Delete CloudPanel Sites clpctl cloudpanel:delete:sites # Get Config Value clpctl app:get:config-value 'cloud' clpctl app:get:config-value 'release_channel' # Set a Config Value clpctl app:get:config-value 'key' 'value' # CloudFlare update IP ranges clpctl cloudflare:update:ips clpctl cloudflare:update:ips --delay=true # Let's Encrypt Install Certificate clpctl lets-encrypt:install:certificate --domainName=www.domain.com clpctl lets-encrypt:install:certificate --domainName=www.domain.com --subjectAlternativeName=domain1.com,www.domain1.com # Let's Encrypt Renew Domains clpctl lets-encrypt:renew:certificates # Let's Encrypt Renew Custom Domain clpctl lets-encrypt:renew:custom-domain:certificate # Delete a Site clpctl site:delete --domainName=www.domain.com # Add a Nodejs Site clpctl site:add:nodejs --domainName=www.moby.io --nodejsVersion=16 --appPort=3000 --siteUser=moby --siteUserPassword='stefan87' # Add a Static HTML Site clpctl site:add:static --domainName=www.moby.io --siteUser=moby --siteUserPassword='stefan87' # Add a Python Site clpctl site:add:python --domainName=www.moby.io --pythonVersion=3.9 --appPort=8080 --siteUser=moby --siteUserPassword='stefan87' # Add a PHP Site clpctl site:add:php --domainName=www.moby.io --phpVersion=8.1 --vhostTemplate='Generic' --siteUser=moby --siteUserPassword='stefan87' # Add a Reverse Proxy clpctl site:add:reverse-proxy --domainName=www.moby.io --reverseProxyUrl='http://8.8.8.8' --siteUser='moby' --siteUserPassword='stefan87' # Install Certificate clpctl site:install:certificate --domainName=www.moby.io --privateKey=/path/to/private.key --certificate=/path/to/certificate.crt --certificateChain=/path/to/chain.crt # Show Database Master Credentials clpctl db:show:master-credentials # Add Database clpctl db:add --domainName=www.moby.io --databaseName=moby --databaseUserName=moby --databaseUserPassword='stefan123' # Export Database clpctl db:export --databaseName=magento2 --file=dump.sql # Import Database clpctl db:import --databaseName=magento2 --file=dump.sql # Delete Database clpctl db:delete --databaseName=moby # Backup Databases clpctl db:backup --ignoreDatabases='db1,db2' --retentionPeriod=7 # System Permissions Reset clpctl system:permissions:reset --path=. --directories=770 --files=660 # Import Vhost Templates clpctl vhost-templates:import clpctl vhost-templates:import --delay=true # List Vhost Templates clpctl vhost-templates:list # Add Vhost Template clpctl vhost-template:add --name='My Application' --file=/tmp/template.tpl clpctl vhost-template:add --name='Magento 2' --file=https://gist.githubusercontent.com/swieczorek/2389d894644b65e8eb61ce2e39923b9e/raw/9234bbbcacb6425fc19372aea1856ba0d81ddd44/gistfile1.txt # Delete Vhost Template clpctl vhost-template:delete --name='My Application' clpctl vhost-template:delete --name='Magento 2' # View Vhost Template clpctl vhost-template:view --name='My Application' # Clean Monitoring Data clpctl monitoring:data:clean # Remote Backup clpctl remote-backup:create ## Cloud Commands # AWS create image clpctl aws:image:create --frequency=3 # Do create snapshot clpctl do:snapshot:create --frequency=3 # Gce create snapshot clpctl gce:snapshot:create --frequency=3 # Vultr create snapshot clpctl vultr:snapshot:create --frequency=3 Symfony Commands: // Creates an entity php8.1 bin/console make:entity // Generates getter/setter methods php8.1 bin/console make:entity --regenerate App // Load fixtures php8.1 bin/console doctrine:fixtures:load -n // Validates database schema php8.1 bin/console doctrine:schema:validate // Updates database schema php8.1 bin/console doctrine:schema:update --force // Displays events and listeners php8.1 bin/console debug:event-dispatcher // List status of migrations php8.1 bin/console doctrine:migrations:status // List status of migrations php8.1 bin/console doctrine:migrations:list // Run migrations php8.1 bin/console doctrine:migrations:migrate -n // Validation translation files php8.1 bin/console lint:xliff translations // Execute SQL Query php8.1 bin/console doctrine:query:sql "SELECT name FROM sqlite_schema WHERE type ='table' AND name NOT LIKE 'sqlite_%';" php8.1 bin/console doctrine:query:sql "DELETE from doctrine_migration_versions;" php8.1 bin/console doctrine:query:sql "DELETE from notification;" php8.1 bin/console doctrine:query:sql "DELETE from site;" php8.1 bin/console doctrine:query:sql "SELECT type, sql FROM sqlite_master WHERE tbl_name='php_settings';" php8.1 bin/console doctrine:query:sql "DELETE from php_settings;" php8.1 bin/console doctrine:query:sql "SELECT * from config where key = 'cloud';" php8.1 bin/console doctrine:query:sql "SELECT * from user;" php8.1 bin/console doctrine:query:sql "SELECT * from instance_cpu;" // Database Backups su -s /bin/bash -c '/usr/bin/clpctl db:backup --ignoreDatabases='db1,db2' --retentionPeriod=7' clp // Example Queries su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from config where key = \"le_private_key\";"' clp su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from instance_cpu order by created_at DESC limit 10;"' clp su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from config where key = \"instance_uid\";"' clp su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from certificate;"' clp su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from user;"' clp // Doctrine Migration Commands su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:migrations:list' clp // Renew Let's Encrypt Certificates su -s /bin/bash -c '/usr/bin/clpctl lets-encrypt:renew:certificates' clp // Setting Expiration Date su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "SELECT * from certificate where uid = \"bf84903133e86d61d2e88f55ec859ab7d646742d\";"' clp su -s /bin/bash -c '/usr/bin/php8.1 /home/clp/htdocs/app/files/bin/console doctrine:query:sql "UPDATE certificate SET expires_at = \"2023-06-17 16:27:24\" WHERE uid = \"bf84903133e86d61d2e88f55ec859ab7d646742d\";"' clp // Create Remote Backup su -s /bin/bash -c '/usr/bin/clpctl remote-backup:create' clp // Display environment variables php8.1 bin/console about // Display all services php8.1 bin/console debug:container // Displays all routes php8.1 bin/console debug:router // Validation translation files php8.1 bin/console lint:xliff translations Composer Update: php8.1 /usr/local/bin/composer update Rclone Commands: // Get files as json rclone lsjson remote:clp-sw-bucket/backups/ // Google Drive rclone --drive-impersonate stefan.wieczorek@mgt-commerce.com lsjson remote:/ // Mount S3 Bucket mkdir /mnt/s3 rclone mount remote:clp-sw-bucket /mnt/s3 // Copy file rclone copy /home/wp-blog/tmp/backup.tar remote:clp-sw-bucket/backups/2022-07-21/home/wp-blog/ // Delete Files rclone purge remote:clp-sw-bucket/backups/ Links: API: - https://www.baeldung.com/rest-api-error-handling-best-practices - https://swagger.io/specification/ - https://www.vultr.com/api/ - https://docs.digitalocean.com/reference/api/api-reference/ - https://mailchimp.com/developer/marketing/api/campaigns/add-campaign/ Validation: - https://symfony.com/doc/current/validation/raw_values.html UFW: // Force Reset /usr/sbin/ufw --force reset // Allow services /usr/sbin/ufw allow 22/tcp /usr/sbin/ufw allow 80/tcp /usr/sbin/ufw allow 443/tcp // Enable with dry-run /usr/sbin/ufw --dry-run --force enable // Status /usr/sbin/ufw status numbered Dev Docker Container: // Run docker run -d --net=bridge -v /var/lib/mysql -v /home/cloudpanel --restart=always --privileged -h clp-dev-v2 --name clp-dev-v2 -it -p 25:25 -p 80:80 -p 443:443 -p 8443:8443 -p 8843:8843 -p 22:22 -p 3306:3306 -p 9200:9200 -p 15672:15672 mgtcommerce/mgt-dev:cloudpanel