Why Migrate from Plesk to Panelica
Plesk is a capable panel with a long history, but rising license costs, limited Docker integration, and the absence of cgroup-based isolation are pushing administrators toward modern alternatives. Panelica is a modern hosting control panel designed for multi-server environments, and it includes a universal migration tool that handles the entire transfer process from Plesk automatically.
Before You Start
Prepare the following before initiating the migration:
- A fresh Panelica server running Ubuntu 22.04 or 24.04 LTS
- SSH root access to both the source Plesk server and the destination Panelica server
- Sufficient disk space on the destination (at least equal to the source data)
- DNS TTL lowered to 300 seconds (5 minutes) at least 24 hours before migration
- A full backup of the Plesk server as a safety net
Step 1: Connect to the Source Server
In the Panelica dashboard, navigate to Migration and enter the Plesk server SSH credentials: hostname or IP address, SSH port, username (root), and password or SSH key. Click Connect.
The migration engine connects via SSH and runs automatic panel detection. It checks for the Plesk binary at /usr/sbin/plesk and reads the version file at /usr/local/psa/version. Once Plesk is detected, the system identifies available capabilities including CLI tools, databases, email, SSL, DNS, and FTP.
Step 2: Site Discovery
After connecting, the migration tool scans the Plesk server and discovers all subscriptions, domains, databases, email accounts, and SSL certificates. Each site is listed with its document root, PHP version, database count, and email account count.
You can select individual sites to migrate or choose all. The discovery process reads Plesk configuration files and uses the Plesk CLI to gather accurate information.
Step 3: User and Domain Creation
For each selected site, Panelica creates a corresponding user account with RBAC role assignment. The domain provisioning pipeline runs a nine-step process that configures Nginx virtual host, PHP-FPM pool (per-user, per-version), DNS zone with BIND, cgroup slice for resource isolation, and the home directory with correct Unix permissions.
Step 4: File Transfer
Files are transferred using rsync over SSH with progress tracking. The migration engine uses --info=progress2 for accurate overall progress reporting and supports checkpoint-based resume if the connection drops during large transfers.
Configuration files like .env and wp-config.php are preserved without modification. The file permission handler ensures ownership matches the new user on the destination server.
Step 5: Database Migration
MySQL databases are exported from the source server using credential discovery that tries multiple authentication methods: socket auth, root password, debian-sys-maint via debian.cnf, and .my.cnf files. The migration preserves MySQL user password hashes so that applications continue to work without credential resets.
Dumps are compressed during transfer and imported on the destination using the Panelica MySQL instance at /opt/panelica/var/run/mysqld/mysqld.sock.
Step 6: Email Account Migration
Email accounts are recreated on the destination with Postfix and Dovecot. Mailbox data is transferred via rsync. Forwarders, autoresponders, and mailing lists are migrated as well. DKIM keys are regenerated on the destination to match the new server, and DNS records for SPF, DKIM, and DMARC are automatically created in the BIND zone file.
Step 7: SSL Certificate Transfer
Existing SSL certificates from Plesk are transferred to the Panelica server. If certificates are expired or close to expiry, the ACME service can issue new Let us Encrypt certificates automatically using the lego ACME library with HTTP-01 or DNS-01 challenges.
Step 8: Post-Migration Verification
The verification step runs health checks on each migrated site: HTTP response code, database connectivity, email delivery test, and DNS resolution. Any issues are flagged in the migration report for manual review.
After Migration: DNS Cutover
Once verification passes, update DNS A records to point to the new Panelica server IP. With TTL already lowered to 300 seconds, propagation completes within minutes. Keep the old Plesk server running for at least 48 hours as a fallback.
What Transfers Automatically
- All website files with correct permissions
- MySQL databases with user password hashes preserved
- Email accounts, mailboxes, forwarders, and autoresponders
- SSL certificates
- DNS zone records
- Cron jobs
- PHP version settings per domain
What Requires Manual Setup
- Plesk-specific extensions and their configurations
- Custom Plesk event handlers or action hooks
- Third-party applications installed outside Plesk management
- Server-level firewall rules (Panelica has its own firewall management)
Conclusion
Migrating from Plesk to Panelica follows a structured, automated pipeline that handles the complexity of multi-site transfers. The universal migration tool detects the source panel, discovers all sites, and transfers everything including database credentials. Panelica empowers sysadmins with RBAC and automated security tools, making the transition from Plesk a matter of connecting and clicking rather than manual server reconfiguration.