مهاجرت از cPanel به DirectAdmin: نکات مهم، مشکلات شناخته‌شده، انتقال کامل و انتقال تکی

این مقاله یک راهنمای جامع برای انتقال حساب‌ها از cPanel به DirectAdmin است. شامل نکات مهم قبل از مهاجرت، مشکلات شناخته‌شده، محدودیت‌های نام‌گذاری دیتابیس، آماده‌سازی بک‌آپ‌ها، انتقال گروهی تمام کاربران، انتقال تکی، تبدیل بک‌آپ cPanel به فرمت DirectAdmin و نکات حیاتی برای جلوگیری از خطاهای احتمالی.

cPanel to DirectAdmin migrationcpmove conversionDA restore

~3 دقیقه مطالعه • بروزرسانی ۱۳ اسفند ۱۴۰۴

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 را انتخاب کنید و ری‌استور کنید.


پایان!


نوشته و پژوهش شده توسط دکتر شاهین صیامی