اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری، سرور مجازی/اختصاصی، هاست و دامنه

اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری

دریافت مشاوره رایگان

آموزش انتقال سایت از یک اکانت به اکانت دیگر سی پنل

 

پیش‌فرض‌ها و چک‌لیست اولیه

 

– هر دو سرور cPanel/WHM در دسترس‌اند و شما دسترسی WHM/روت روی سرور مقصد یا مبدا دارید (برای ویزارد نیاز به WHM).

– نام کاربری cPanelها، رمزها و آدرس IP هر دو سرور را دارید.

– فضای دیسک کافی در سرور مقصد موجود است.

– TTL رکوردهای DNS را در صورت امکان قبلاً به مقدار کم (مثلاً 300) کاهش دهید تا قطعی کم شود.

 

چک‌لیست:

 

–  دسترسی WHM/روت در مقصد (یا هر دو)

–  IP/Host و credentials هر دو سرور

– نسخه‌های PHP/MySQL و ماژول‌های مورد نیاز بررسی شده

–  پشتیبان‌گیری اولیه از سرور مبدا

 

بخش اول — انتقال با ویزارد WHM (توصیه‌شده برای حساب‌های کامل cPanel)

 

مناسب برای: انتقال یک یا چند حساب cPanel کامل (فایل‌ها، دیتابیس‌ها، ایمیل‌ها، تنظیمات)

 

مراحل (گام‌به‌گام)

  1. وارد WHM سرور مقصد شوید (https://DEST-IP:2087) با دسترسی root.
  2. در منوی سمت چپ: “Transfers” → “Transfer Tool” (یا “Copy an Account From Another Server”).
  3. در بخش “Remote Server Information”:

– Remote Server: IP یا hostname سرور مبدا

– Remote Server SSH Port: معمولاً 22

– Authentication: انتخاب کنید “Password” یا “SSH Key”. (اگر SSH key دارید امن‌تر و سریع‌تر است.)

– وارد کردن نام کاربری root یا کاربری با مجوزهای کافی و رمز/کلید.

  1. اتصال تست:

– روی “Connect” کلیک کنید تا WHM مقصد بتواند به سرور مبدا متصل شود. در صورت خطا، بررسی فایروال/SSH و اعتبارنامه.

  1. انتخاب حساب‌ها برای انتقال:

– لیست حساب‌های موجود در سرور مبدا نمایش داده می‌شود. تیک حساب(های) موردنظر را بزنید.

– گزینه‌ها: می‌توانید انتخاب کنید فایل‌های لاگ نیز منتقل شوند یا خیر.

  1. تنظیمات انتقال:

– انتخاب گزینه‌های مربوط به اسکپ (skip) یا overwrite (اگر حساب وجود دارد).

– انتخاب انتقال DNS zones یا نگه داشتن DNS در جای دیگر.

– تنظیم موقتی برای تغییر owner، تخصیص quota و غیره.

  1. شروع انتقال:

– روی “Copy” یا “Transfer” کلیک کنید. WHM فرایند پشتیبان‌گیری موقت، انتقال فایل‌ها (tar)، استخراج و بازسازی حساب را انجام می‌دهد.

– پنجره لاگ نمایش فرایند و خطاها را نشان می‌دهد.

  1. پس از اتمام:

– بررسی لاگ‌ها برای خطاها (permissions, missing packages).

– در صورت نیاز، اجرای دستورالعمل‌های Fix Ownership/Permissions در WHM یا دستی.

  1. تنظیمات تکمیلی:

– اگر SSLها منتقل نشده‌اند یا AutoSSL نیاز به اجرای مجدد دارد، در WHM/AutoSSL اجرا کنید.

– بررسی و اصلاح نسخه PHP/MultiPHP، cron jobs، فایل‌های پیکربندی.

  1. تغییر DNS:

– پس از تأیید سلامت سایت، رکورد A را به IP جدید تغییر دهید (یا در WHM اگر DNS سرور مقصد است، تغییر دهید).

 

نکات عملی:

– اگر سرورها هر دو WHM دارند، گزینه “Remote Server” ساده و قابل اطمینان است.

– برای انتقال تعداد زیاد حساب‌ها، از گزینه batch در Transfer Tool استفاده کنید.

– اگر مایلید پیشرفت را به‌صورت خام ببینید، لاگ‌های انتقال در /var/cpanel/transfers/ قابل مشاهده است.

 

 

بخش دوم — انتقال دستی بین دو حساب cPanel (بدون WHM transfer tool)

 

مناسب برای: زمانی که دسترسی WHM ندارید یا می‌خواهید کنترل دقیق‌تری روی هر بخش داشته باشید؛ همچنین برای یک سایت بر روی هاست سی پنل واحد.

 

ساختار کلی کار (ترتیب پیشنهادی):

  1. ایجاد حساب/دومین و منابع در سرور مقصد
  2. انتقال فایل‌ها (public_html, www, سایر مسیرها)
  3. انتقال دیتابیس‌ها و کاربران
  4. انتقال ایمیل‌ها (Maildir) یا استفاده از imapsync
  5. انتقال SSL (در صورت نیاز)
  6. همگام‌سازی نهایی و تغییر DNS

 

آماده‌سازی حساب در سرور مقصد

– در cPanel مقصد: از بخش “Create a New Account” در WHM یا در cPanel خود، حساب با همان نام کاربری (در صورت امکان) یا نام جدید بسازید.

– ایجاد دامنه اصلی/addon/subdomains مطابق مبدا.

– در صورت نداشتن WHM، در cPanel مقصد دامنه و دیتابیس‌ها و ایمیل‌ها را به‌صورت دستی بسازید.

 

انتقال فایل‌ها

روش A — از طریق بک‌آپ کامل cPanel (Backup Wizard)

  1. در سرور مبدا cPanel → Backup → Download a Full Account Backup.
  2. انتخاب مقصد (در صورت امکان remote FTP/SCP به سرور مجازی مقصد) یا دانلود فایل backup به کامپیوتر محلی.
  3. اگر فایل full backup را دانلود کردید، آن را به سرور مقصد آپلود کنید (cPanel مقصد → Backup Restoration نیاز به WHM دارد). در صورت نداشتن WHM، از روش زیر استفاده کنید.

 

روش B — از طریق File Manager (کوچک) یا FTP (توصیه برای فایل‌های کم حجم)

  1. وارد File Manager شوید → public_html → Compress → ZIP → دانلود.
  2. آپلود روی سرور مقصد و Extract.

 

روش C — توصیه‌شده با SSH/rsync (بزرگ/سریع/قابل ادامه)

 

روی سرور مبدا، به مسیر home کاربر بروید و فایل را tar کنید:

cd /home/username
tar -czf username_public_html_YYYYMMDD.tar.gz public_html

 

انتقال با rsync مستقیم به مقصد (پایدار و قابل resume):

rsync -avz --progress /home/username/public_html/ user_dest@DEST-IP:/home/user_dest/public_html/

 

یا اگر فایل tar را می‌خواهید منتقل کنید:

scp username_public_html_YYYYMMDD.tar.gz user_dest@DEST-IP:/home/user_dest/

 

در مقصد:

ssh user_dest@DEST-IP
cd /home/user_dest
tar -xzf username_public_html_YYYYMMDD.tar.gz
chown -R user_dest:user_dest public_html
find public_html -type d -exec chmod 755 {} \;
find public_html -type f -exec chmod 644 {} \;

 

 

نکته: اگر نام کاربری یکسان نیست، مسیرها را مطابق با حساب جدید تنظیم کنید و تغییر owner را فراموش نکنید.

 

انتقال دیتابیس‌ها (MySQL/MariaDB)

روش A — phpMyAdmin (کوچک)

  1. در cPanel مبدا → phpMyAdmin → انتخاب DB → Export → Quick/SQL → Go (دانلود sql).
  2. در سرور مقصد → phpMyAdmin → Create database و user → Import → انتخاب فایل sql → Go.
  3. در فایل پیکربندی سایت (wp-config.php/.env) اطلاعات جدید DB را وارد کنید.

 

روش B — SSH/mysqldump (بزرگ/قابل اعتماد)

در مبدا:

mysqldump -u dbuser -p dbname > dbname_YYYYMMDD.sql
gzip dbname_YYYYMMDD.sql
scp dbname_YYYYMMDD.sql.gz user_dest@DEST-IP:/home/user_dest/

 

در مقصد:

gunzip dbname_YYYYMMDD.sql.gz
mysql -u newdbuser -p newdbname < dbname_YYYYMMDD.sql

 

ایجاد کاربر DB در cPanel مقصد: cPanel → MySQL® Databases → ساخت database و user → تخصیص پرمیشن‌ها.

 

نکات انکودینگ:

– هنگام import از –default-character-set=utf8mb4 استفاده کنید در صورت لزوم:

mysql --default-character-set=utf8mb4 -u newdbuser -p newdbname < db.sql

 

 

انتقال ایمیل‌ها

 

روش A — انتقال Maildir از طریق SSH (نیاز به دسترسی به فایل‌ها)

 

مسیر ایمیل در cPanel معمولاً /home/username/mail یا /home/username/etc و /home/username/mail است.

آرشیو و انتقال:

cd /home/username
tar -czf username_mail_YYYYMMDD.tar.gz mail
scp username_mail_YYYYMMDD.tar.gz user_dest@DEST-IP:/home/user_dest/

 

در مقصد استخراج و تنظیم مالکیت:

tar -xzf username_mail_YYYYMMDD.tar.gz
chown -R user_dest:user_dest mail

 

 

روش B — imapsync (بدون دسترسی روت، امن و حفظ تاریخ‌ها)

– روی یک ماشین محلی یا سرور اختصاصی دارای imapsync:

imapsync --host1 source.imap.server --user1 user@domain.com --password1 'pass1' \
         --host2 dest.imap.server --user2 user@domain.com --password2 'pass2'

 

– تکرار برای هر حساب ایمیل. مزیت: ساختار فولدر، تاریخ و خوانده/نخوانده بودن حفظ می‌شود.

 

نکته DNS: تا زمانی که رکورد MX به مقصد اشاره نکرده، ایمیل‌ها به سرور قدیمی می‌رسند. برای کمترین قطعی: همگام‌سازی نهایی قبل از تغییر MX یا استفاده از کوتاه کردن TTL.

 

نصب/انتقال SSL

روش A — استفاده از AutoSSL در سرور مقصد

– پس از تغییر DNS و اختصاص IP، در cPanel/WHM مقصد AutoSSL اجرا کنید تا گواهی جدید صادر شود.

 

روش B — انتقال دستی گواهی‌ها

 

در سرور مبدا گواهی و کلید خصوصی را از cPanel → SSL/TLS → Private Keys و Certificates استخراج کنید (CRT, KEY, CABUNDLE).

در مقصد cPanel → SSL/TLS → Install an SSL Certificate → وارد کردن CRT، KEY، CA Bundle → Install.

 

نکته: اگر از Let’s Encrypt استفاده می‌کنید، ساده‌ترین راه اجرای AutoSSL پس از هدایت DNS به سرور جدید است.

 

همگام‌سازی نهایی (برای کمترین قطعی)

قبل از عملیات نهایی، در سایت مبدا حالت maintenance فعال کنید.

اجرای rsync یک‌مرتبه نهایی برای فایل‌ها:

rsync -avz --delete /home/username/public_html/ user_dest@DEST-IP:/home/user_dest/public_html/

 

تهیه mysqldump نهایی و import در مقصد:

mysqldump -u dbuser -p dbname > db_final.sql
gzip db_final.sql
scp db_final.sql.gz user_dest@DEST-IP:/home/user_dest/

 

در مقصد:

gunzip db_final.sql.gz
mysql -u newdbuser -p newdbname < db_final.sql

 

خاموش‌سازی حالت maintenance در مقصد پس از تغییر DNS.

 

تغییر DNS و بررسی

در پنل DNS (Registrar یا DNS host) رکورد A (و AAAA اگر لازم) برای domain و www را به IP سرور مقصد تغییر دهید.

اگر رکورد MX ایمیل تغییر یافته، آن را نیز به‌روز کنید.

بعد از تغییر، بررسی کنید:

dig +short example.com A
curl -I https://example.com

 

رفع مشکلات دسترسی، خطاهای PHP، فایل‌های مفقود و مجوزها.

 

بخش سوم — مقایسه سریع: ویزارد WHM vs روش دستی

 

 

رفع خطاهای شایع و راه‌حل‌ها

 

– اتصال SSH قطع می‌شود: بررسی فایروال و پورت SSH، اجازه IP در csf/iptables.

– خطا در WHM Transfer: بررسی لاگ /var/cpanel/transfers/ و لاگ SSH برای پیام خطا.

– مشکلات مالکیت فایل: اجرای chown -R username:username و تنظیم chmod مناسب.

– ایمیل‌ها منتقل نشدند: استفاده از imapsync و بررسی MX بعد از انتقال.

– دیتابیس با کاراکترها مشکل دارد: استفاده از –default-character-set=utf8mb4 در import.

 

 

4.2/5 - (2609 امتیاز)

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


18 - 13

قوانین

قوانین ارسال دیدگاه

لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.