~3 min read • Updated Mar 4, 2026
1. نکات مهم قبل از مهاجرت از cPanel به DirectAdmin
1.1 مشکلات شناختهشده
- Mailman به Majordomo تبدیل نمیشود.
- فایلهای
cpmove-user.tar.gzباید توسط خود شما ساخته شوند. - DirectAdmin همیشه از فرمت
username_databaseوusername_userاستفاده میکند.
به دلیل محدودیت طول نام کاربری در cPanel، ممکن است DA مجبور به تغییر نام دیتابیس یا یوزر شود. مثال:
WARNING! us_wordpress cannot be owned by user, renaming database user to user_wordpress
1.2 نکات تکمیلی
- فایلهای cpmove را بعد از ریاستور حذف نکنید.
- DA و cPanel امکانات متفاوتی دارند (DA از PostgreSQL یا Ruby پشتیبانی نمیکند).
- حداکثر طول نام کاربری در DA برابر 16 کاراکتر است.
برای یافتن طولانیترین نام کاربری در cPanel:
ls /var/cpanel/users | awk '{print length, $0}' | sort -nr | head -n1
1.3 فرمت صحیح بکآپ
فرمت صحیح: cpmove-USERNAME.tar.gz
تغییر نام فایلهای user.tar.gz:
for i in `ls *.tar.gz | grep '^[A-Za-z0-9]*.tar.gz'`; do { mv -vf ${i} cpmove-${i}; }; done
تغییر نام فایلهای backup-..._user.tar.gz:
for i in `ls backup-[0-9]*.*.tar.gz`; do {
USERNAME=`echo $i | cut -d_ -f3 | cut -d'.' -f1`
mv -v $i cpmove-${USERNAME}.tar.gz
}; done
1.4 اگر کاربر در لیست Move Users Between Resellers دیده نمیشود
echo "action=cache&value=showallusers" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d
1.5 اگر ریسلرها قبل از کاربران ریاستور نشده باشند
تمام کاربران به admin اختصاص داده میشوند. برای اصلاح:
cd /home/admin/all_backups
for i in `ls user*.tar.gz`; do {
RESELLER=`echo $i | cut -d. -f2`
USER=`echo $i | cut -d'.' -f3`
/usr/local/directadmin/scripts/move_user_to_reseller.sh $USER admin $RESELLER
}; done
---
2. مهاجرت کامل cPanel → DirectAdmin (تمام کاربران)
2.1 مراحل روی سرور cPanel
ساخت بکآپ تمام کاربران:
mkdir -p /home/all_backups
for user in `ls /var/cpanel/users/`; do {
/scripts/pkgacct ${user} /home/all_backups
}; done
انتقال بکآپها به سرور DirectAdmin:
rsync -avt --delete /home/all_backups/ root@your_directadmin_server.com:/home/admin/all_backups/
---
2.2 مراحل روی سرور DirectAdmin
اصلاح مالکیت فایلها:
chown -R admin. /home/admin/all_backups
ریاستور تمام کاربران:
Admin Level → Admin Backup/Transfer
مسیر /home/admin/all_backups را انتخاب کنید و ریاستور را انجام دهید.
پایان!
---
3. روش کمفضا: انتقال تکبهتک کاربران
3.1 فعالسازی SSH بدون پسورد
ssh-keygen
محتوای /root/.ssh/id_rsa.pub را در سرور DA داخل:
/root/.ssh/authorized_keys
3.2 انتقال خودکار تکبهتک
for user in `ls /var/cpanel/users/`; do {
/scripts/pkgacct ${user} /home/all_backups
rsync -avt /home/all_backups/cpmove-${user}.tar.gz \
root@your_directadmin_server.com:/home/admin/all_backups/cpmove-${user}.tar.gz
rm -f /home/all_backups/cpmove-${user}.tar.gz
}; done
---
4. مهاجرت تکی cPanel → DirectAdmin
4.1 مراحل روی سرور cPanel
ساخت بکآپ:
/scripts/pkgacct USERNAME /home/user_backups
انتقال بکآپ:
rsync -avt /home/user_backups/cpmove-USERNAME.tar.gz \
root@your_directadmin_server.com:/home/admin/
---
4.2 مراحل روی سرور DirectAdmin
تبدیل بکآپ cPanel به فرمت DirectAdmin:
/usr/local/directadmin/shared/cpanel_to_da/cpanel_to_da.sh \
/home/admin/cpmove-USERNAME.tar.gz \
/home/admin/converted_user_backup/
اصلاح مالکیت:
chown -R admin:admin /home/admin/converted_user_backup
ریاستور از طریق پنل DirectAdmin:
Admin Level → Admin Backup/Transfer
مسیر /home/admin/converted_user_backup را انتخاب کنید و ریاستور کنید.
پایان!
Written & researched by Dr. Shahin Siami