Site Operations
The site detail page groups routine work by site while preserving each site's Linux-user and PHP-FPM isolation.
Files
The file manager is contained within the selected site's home directory. It supports chunked uploads, download, rename, copy, move, archive creation and extraction, and safe deletion. Path validation prevents traversal outside the site user's home.
Use jailed SFTP when an external client or collaborator needs file transfer access. SFTP is opt-in, lands in /htdocs, provides no interactive shell, and supports managed passwords or SSH public keys.
sudo aidipanel sftp:enable --domain example.com
printf '%s\n' 'UniqueSftpPassword!' | sudo aidipanel sftp:passwd --domain example.com
printf '%s\n' 'ssh-ed25519 AAAA...' | sudo aidipanel sftp:key-add --domain example.com
aidipanel sftp:status --domain example.comDatabases and phpMyAdmin
The Databases tab creates databases and database users, changes permissions, rotates credentials, and launches phpMyAdmin through an isolated sign-on flow. Panel clients can only access databases assigned to their sites.
sudo aidipanel db:add --name example_db --user example_user
aidipanel db:list
aidipanel db:users --name example_dbDatabase passwords are returned only when created or rotated. Store them immediately.
Cron
Cron jobs run as the site's Linux user. AidiPanel validates five-field schedules and tracks managed entries without replacing unrelated lines in the user's crontab.
printf '%s\n' 'cd /home/example/htdocs/example.com && php artisan schedule:run' |
sudo aidipanel cron:add --domain example.com --schedule '* * * * *'
aidipanel cron:list --domain example.com
sudo aidipanel cron:wp --domain example.com --action enable --interval 5The WordPress preset enables real cron and disables request-driven wp-cron.php; disabling the preset reverses both changes.
Backups
Local backups contain the site's web root and database exports in /home/<site-user>/backups/.
sudo aidipanel backup:create --domain example.com --keep 5
aidipanel backup:list --domain example.comRemote backup settings support S3-compatible providers through a tested destination, scheduled policy, retention, and exclusions. Credentials are stored in protected configuration generations and are never returned by status commands.
Access protection
The Security tab manages:
- HTTP Basic Authentication;
- per-site IP deny lists;
- Cloudflare-only HTTPS origin access;
- restoration of the real visitor IP from trusted Cloudflare ranges.
aidipanel security:status --domain example.com
aidipanel security:basic-auth --domain example.com --action status
aidipanel security:ip-block --domain example.com --action status
aidipanel security:cloudflare-only --domain example.com --action statusCloudflare-only mode should be enabled only after DNS is proxied through Cloudflare and trusted TLS is working. Otherwise direct HTTPS access can be locked out.
Panel accounts
Administrators can create manager and client accounts and assign site access. Two-factor authentication uses TOTP plus one-time recovery codes. Keep recovery codes outside the server.
If an account loses both its authenticator and recovery codes, root can clear its 2FA state:
sudo aidipanel user:2fa-reset --user account-nameThe user must sign in with their password and enable 2FA again immediately.
Diagnostics
Use Dashboard, Services, and Web Delivery for health, traffic, provider metadata, DNS/CDN observations, and origin-delivery diagnostics. CLI equivalents include:
aidipanel system:info
aidipanel system:cloud-metadata
aidipanel web-delivery:status
aidipanel service:status nginxProvider metadata output is cached and sanitized; it does not expose cloud-instance credentials.