چرا انتقال به سرورنت نیازمند برنامهریزی دقیق است؟
انتقال یک وبسایت از ارائهدهندهی قبلی به میزبان جدید، اگر بدون آمادگی انجام شود، میتواند به قطعی طولانی، از دست رفتن ایمیلها یا خرابی دیتابیس منجر شود. بسیاری از کاربران تصور میکنند کافی است فایلها را با FTP آپلود کنند و DNS را تغییر دهند، اما در عمل، جزئیاتی مانند نسخهی PHP، تنظیمات MySQL و رکوردهای MX میتوانند سایت را برای ساعتها از دسترس خارج کنند. در این مقاله، یک چکلیست عملی برای انتقال به سرورنت ارائه میدهیم که تمام مراحل ضروری را پوشش میدهد و downtime را به حداقل میرساند.
مرحلهی اول: آمادهسازی و پشتیبانگیری کامل
پیش از هر اقدامی، باید از همهی دادههای خود یک نسخهی پشتیبان تهیه کنید. این کار را حتی اگر ارائهدهندهی قبلی ابزار پشتیبانگیری خودکار دارد، بهصورت دستی انجام دهید.
پشتیبانگیری از فایلها
از طریق SSH یا cPanel، کل دایرکتوری public_html را بهصورت فشرده درآورید:
tar -czf backup_site.tar.gz /home/username/public_html
اگر به SSH دسترسی ندارید، از FTP با یک کلاینت مانند FileZilla استفاده کنید. مطمئن شوید که فایلهای مخفی مانند .htaccess و .env نیز منتقل میشوند.
پشتیبانگیری از دیتابیس
با دستور mysqldump از تمام دیتابیسها خروجی بگیرید:
mysqldump -u username -p database_name > backup_db.sql
اگر دیتابیس بزرگ است (بیش از ۱ گیگابایت)، از گزینهی --single-transaction برای جلوگیری از قفل شدن جداول استفاده کنید.
پشتیبانگیری از ایمیلها
ایمیلهای موجود در صندوقهای پستی را با ابزارهایی مانند imapsync یا از طریق تنظیمات cPanel (گزینهی Email Disk Usage) ذخیره کنید. اگر از سرویس ایمیل شخص ثالث مانند Google Workspace استفاده میکنید، نیازی به این مرحله نیست.
مرحلهی دوم: تنظیم محیط میزبان جدید
پس از تهیهی پشتیبان، باید محیط سرورنت را برای پذیرش سایت آماده کنید. این کار شامل ایجاد دیتابیس، تنظیم PHP و نصب ماژولهای مورد نیاز است.
ایجاد دیتابیس و کاربر
در کنترلپنل سرورنت (مانند cPanel یا DirectAdmin)، یک دیتابیس جدید ایجاد کنید. نام دیتابیس و کاربر را یادداشت کنید. سپس دیتابیس پشتیبان را وارد کنید:
mysql -u newuser -p newdatabase < backup_db.sql
اگر با خطای ERROR 1045 مواجه شدید، مجوزهای کاربر را بررسی کنید. معمولاً باید کاربر به دیتابیس دسترسی کامل داشته باشد.
تنظیم نسخهی PHP و ماژولها
سایت شما ممکن است به نسخهی خاصی از PHP نیاز داشته باشد. در سرورنت، معمولاً میتوانید از طریق MultiPHP Manager یا فایل .htaccess نسخه را تنظیم کنید:
AddHandler application/x-httpd-php74 .php
همچنین ماژولهایی مانند mysqli، curl و gd را فعال کنید. اگر سایت از وردپرس استفاده میکند، افزونههای کش و امنیت را موقتاً غیرفعال کنید تا تداخل ایجاد نکنند.
مرحلهی سوم: انتقال فایلها و تنظیمات
اکنون فایلهای پشتیبان را به سرورنت منتقل کنید. بهترین روش استفاده از rsync است که سرعت و امنیت بالایی دارد:
rsync -avz --progress /local/path/ user@server.net:/home/user/public_html/
اگر از FTP استفاده میکنید، حتماً حالت Binary را برای فایلهای تصویری و فشرده فعال کنید. حالت ASCII فقط برای فایلهای متنی مناسب است.
تنظیم فایل کانفیگ
فایلهای کانفیگ مانند wp-config.php (برای وردپرس) یا .env (برای لاراول) را با اطلاعات دیتابیس جدید بهروز کنید. نام دیتابیس، کاربر و رمز عبور را دقیقاً مطابق با تنظیمات سرورنت وارد کنید.
رفع مشکل رایج: مسیرهای مطلق
بسیاری از سایتها از مسیرهای مطلق مانند /home/olduser/public_html استفاده میکنند. پس از انتقال، این مسیرها باید به مسیر جدید تغییر کنند. با دستور زیر میتوانید آنها را در دیتابیس جستجو و جایگزین کنید:
sed -i 's|/home/olduser|/home/newuser|g' backup_db.sql
این کار را پیش از وارد کردن دیتابیس انجام دهید.
مرحلهی چهارم: انتقال ایمیلها و تنظیم رکوردهای MX
ایمیلهای موجود را با ابزار imapsync از سرور قدیمی به سرورنت منتقل کنید. یک نمونه دستور:
imapsync --host1 oldserver.com --user1 olduser --password1 oldpass \
--host2 newserver.net --user2 newuser --password2 newpass
پس از انتقال، رکوردهای MX را در DNS به سرورنت تغییر دهید. معمولاً مقدار MX باید به mail.newserver.net یا آدرس IP سرور ایمیل اشاره کند. اگر از سرویس ایمیل شخص ثالث استفاده میکنید، رکوردهای MX را تغییر ندهید.
نکتهی مهم: SPF و DKIM
برای جلوگیری از اسپم شدن ایمیلها، رکوردهای SPF و DKIM را بهروز کنید. یک رکورد SPF ساده به این شکل است:
v=spf1 mx a include:_spf.newserver.net ~all
این رکورد را در ناحیهی DNS سرورنت اضافه کنید.
مرحلهی پنجم: تغییر DNS با حداقل قطعی
تغییر DNS مهمترین بخش انتقال است. اگر TTL (Time To Live) رکوردهای قبلی بالا باشد (مثلاً ۲۴ ساعت)، قطعی طولانی خواهد شد. بنابراین:
- چند روز قبل از انتقال، TTL همهی رکوردها را به ۳۰۰ ثانیه (۵ دقیقه) کاهش دهید.
- پس از انتقال، نامسرورهای دامنه را به سرورنت تغییر دهید. معمولاً دو نامسرور مانند
ns1.servernet.netوns2.servernet.netارائه میشود. - پس از اعمال تغییر، از ابزارهایی مانند
digیاnslookupبرای بررسی انتشار DNS استفاده کنید:
dig example.com NS +short
اگر خروجی نامسرورهای جدید را نشان داد، تغییر اعمال شده است.
اشتباه رایج: فراموشی رکوردهای AAAA
بسیاری از کاربران فقط رکورد A (IPv4) را تغییر میدهند و رکورد AAAA (IPv6) را نادیده میگیرند. اگر سایت شما از IPv6 پشتیبانی میکند، حتماً رکورد AAAA را نیز به آدرس IPv6 سرورنت بهروز کنید.
مرحلهی ششم: تست و رفع خطاهای احتمالی
پس از اعمال همهی تغییرات، سایت را بهدقت تست کنید. موارد زیر را بررسی کنید:
- بارگذاری صفحات اصلی و داخلی
- ارسال و دریافت ایمیل
- ورود به پنل مدیریت (مانند وردپرس)
- کارکرد فرمها و دکمههای تماس
اگر با خطای ۵۰۰ مواجه شدید، فایل error_log را در ریشهی سایت بررسی کنید. معمولاً خطاهای PHP یا مجوزهای نادرست فایلها علت هستند. مجوز فایلها را با دستور زیر تنظیم کنید:
find /home/user/public_html -type f -exec chmod 644 {} \;
find /home/user/public_html -type d -exec chmod 755 {} \;
نتیجهگیری: انتقال به سرورنت با اطمینان
انتقال یک وبسایت به میزبان جدید، اگر با دقت و طبق چکلیست انجام شود، میتواند بدون قطعی قابل توجهی صورت گیرد. با رعایت مراحل ذکر شده – از پشتیبانگیری کامل تا تنظیم DNS – میتوانید انتقال به سرورنت را با کمترین دردسر انجام دهید. اگر در هر مرحله به مشکل برخوردید، تیم پشتیبانی سرورنت آمادهی کمک به شماست. به یاد داشته باشید که همیشه یک نسخهی پشتیبان از سایت خود در مکانی امن نگه دارید.