راهنمای کامل مهاجرت DirectAdmin: آماده‌سازی سرور، نکات حیاتی DNS و سه روش کامل انتقال

این مقاله یک راهنمای جامع برای انجام مهاجرت کامل DirectAdmin از یک سرور به سرور دیگر است. شامل آماده‌سازی سرور مقصد، نکات مهم DNS، بررسی تنظیمات، انتقال قالب‌ها و اسکریپت‌های سفارشی، و سه روش کامل مهاجرت: بک‌آپ کامل، بک‌آپ جزئی همراه با همگام‌سازی home، و روش پیشرفته با همگام‌سازی MySQL. هر روش با جزئیات کامل، هشدارها و بهترین شیوه‌ها ارائه شده است.

DirectAdmin MigrationServer TransferFull Backup Method

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

1. آماده‌سازی سرور مقصد


قبل از شروع مهاجرت، باید DirectAdmin روی سرور جدید نصب شود. می‌توانید از پشتیبانی DirectAdmin یک لایسنس موقت رایگان برای مهاجرت درخواست کنید. پس از پایان مهاجرت، لایسنس اصلی خود را روی سرور جدید اعمال کنید.


نکته مهم برای لایسنس‌های Legacy: لایسنس موقت ارائه نمی‌شود. این لایسنس‌ها دیگر قابل نصب روی سرور جدید نیستند و باید از یک لایسنس Legacy دیگر استفاده کنید.


1.1 روش‌های نصب DirectAdmin


A. روش آسان — نصب پیش‌فرض


با یک دستور، DirectAdmin همراه با نسخه‌های پیشنهادی PHP و نرم‌افزارهای لازم نصب می‌شود.


B. روش متوسط — بارگذاری متغیرهای محیطی قبل از نصب


export [email protected]
export DA_NS1=ns1.example.com
export DA_NS2=ns2.example.com
export php1_release=8.0
./setup.sh LICENSE_KEY

C. روش پیشرفته — بارگذاری options.conf


می‌توانید فایل options.conf و کل مسیر /usr/local/directadmin/custombuild/custom/ را قبل از نصب به سرور جدید منتقل کنید.


نکته: مطمئن شوید نسخه‌های PHP و MySQL/MariaDB در فایل options.conf توسط نسخه فعلی DirectAdmin پشتیبانی می‌شوند.


2. نکات مهم قبل از مهاجرت


2.1 برنامه‌ریزی DNS


DNS مهم‌ترین بخش مهاجرت است. بررسی کنید چه کسی کنترل DNS دامنه‌ها را بر عهده دارد.


  • اگر DNS خارجی است، کاربران باید رکوردها را دستی تغییر دهند.
  • TTL را قبل از مهاجرت کاهش دهید.
  • اگر نیاز به تغییر DNS Server یا Glue Record دارید، رکوردها را روی هر دو سرور (قدیم و جدید) به مقصد جدید اشاره دهید.

2.2 فایل‌های تنظیمات


فایل directadmin.conf معمولاً بهتر است نسخه پیش‌فرض باشد. فقط موارد زیر را اصلاح کنید:


  • ns1 و ns2
  • max_username

قالب‌ها و اسکریپت‌های سفارشی را بررسی کنید:


/usr/local/directadmin/data/templates/custom
/usr/local/directadmin/scripts/custom

Multi Server Setup را دوباره پیکربندی کنید. تنظیمات php.ini برای تمام نسخه‌های PHP را بررسی کنید.


3. روش‌های مهاجرت


سه روش کامل برای مهاجرت وجود دارد. روش ساده‌تر، downtime بیشتری دارد. روش‌های پیشرفته downtime را کاهش می‌دهند اما نیازمند تجربه بیشتر هستند.


A. روش آسان — بک‌آپ کامل


مناسب برای کاربران تازه‌کار.


مرحله 1 — ساخت بک‌آپ کامل


Admin Tools → Admin Backup/Transfer
Who: All Users
When: Now
Where: /home/admin/admin_backups/
What: All Data

مرحله 2 — انتقال بک‌آپ‌ها به سرور جدید


rsync -av /home/admin/admin_backups/ root@dest_server_ip:/home/admin/admin_backups/ --delete

مرحله 3 — ری‌استور روی سرور جدید


از همان ابزار Admin Backup/Transfer برای ری‌استور استفاده کنید.


پایان.


B. روش متوسط — بک‌آپ جزئی + همگام‌سازی home


downtime کمتر، نیازمند دانش بیشتر.


مرحله 1 — ساخت بک‌آپ جزئی


در بخش “What” گزینه‌های زیر را غیرفعال کنید:


  • Domains Directory
  • E-mail Data

مرحله 2 — ری‌استور کاربران


مطمئن شوید همه کاربران با موفقیت ری‌استور شده‌اند.


مرحله 3 — همگام‌سازی پوشه home


rsync -av --progress --delete /home/ root@dest_server_ip:/home/

هشدار: این دستور کل /home مقصد را حذف و جایگزین می‌کند.


پایان.


C. روش پیشرفته — بک‌آپ جزئی + همگام‌سازی home + همگام‌سازی MySQL


کمترین downtime، اما نیازمند تجربه بالا.


مرحله 1 — ساخت بک‌آپ جزئی


گزینه‌های زیر را غیرفعال کنید:


  • Domains Directory
  • E-mail Data
  • Database Settings
  • Database Data

مرحله 2 — ری‌استور کاربران


مرحله 3 — همگام‌سازی home


rsync -av --progress --delete /home/ root@dest_server_ip:/home/

مرحله 4 — توقف MySQL روی هر دو سرور


sed -i -e 's/mysqld=ON/mysqld=OFF/g' /usr/local/directadmin/data/admin/services.status
systemctl stop mysqld

MySQL باید روی هر دو سرور کاملاً خاموش باشد.


مرحله 5 — همگام‌سازی دیتابیس


rsync -av --delete --progress /var/lib/mysql/ root@dest_server_ip:/var/lib/mysql_new/

دستور را دوباره اجرا کنید تا مطمئن شوید دیتابیس تغییر نکرده است.


مرحله 6 — جایگزینی دیتابیس


پوشه mysql_new را به mysql تغییر نام دهید.


مرحله 7 — کپی فایل‌های تنظیمات MySQL


/usr/local/directadmin/conf/my.cnf
/usr/local/directadmin/conf/mysql.conf

مرحله 8 — راه‌اندازی MySQL و ارتقا


mysql_upgrade

سپس:


da build roundcube

پایان.


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