» مرکز آموزش هاست و دامین » هاست » لینوکس » رفع خطای “Domain already exists” هنگام افزودن دامنه به سی پنل
ممکن است پیش بیایید بخواهید یک دامنه جدید را به هاست سی پنل خود اضافه کنید، ممکن است با خطای “Domain already exists” مواجه شوید. این خطا به این معنی است که دامنهای که شما میخواهید اضافه کنید، قبلاً در سرور ( هاست شما) یا تنظیمات DNS آن وجود دارد. در این مقاله قصد داریم نشان دهیم که چگونه میتوانید این خطا را رفع کنید و دامنه خود را به هاست لینوکس cPanel اضافه کنید.
خطا Domain already exists در سی پنل ممکن است در چندین موقعیت رخ دهد:
– زمانی که شما میخواهید یک دامنه را به عنوان یک addon domain یا دامنه اضافی اضافه کنید. یک addon domain یک دامنه است که به یک پوشه در حساب کاربری شما اشاره میکند و میتواند یک وبسایت مستقل داشته باشد. برای مثال، اگر شما دامنه example.com را دارید و میخواهید دامنه example.net را به عنوان یک addon domain اضافه کنید، باید یک پوشه به نام example.net در public_html خود بسازید و دامنه را به آن اشاره دهید.
– زمانی که میخواهید یک دامنه را به عنوان یک alias domain یا پارک دامین اضافه کنید. یک alias domain دامنه ای است که به دامنه اصلی شما اشاره میکند و همان محتوای آن را نشان میدهد. برای مثال، اگر شما دامنه example.com را دارید و میخواهید دامنه example.org را به عنوان یک alias domain اضافه کنید، شما باید دامنه را به example.com اشاره دهید و هر دو دامنه همان وبسایت را نشان خواهند داد.
در صورتی که توضیحات بیشتر در خصوص پارک دامین یا alias domain و دامنه اضافی یا addon domain نیاز دارید پیشنهاد می شود مقاله آموزشی تفاوت Addon Domain با Alias Domain را به صورت کامل مطالعه فرمایید.
– زمانی که شما میخواهید یک دامنه را به عنوان یک subdomain یا زیر دامنه اضافه کنید. یک subdomain یک زیرمجموعه از دامنه اصلی شما است که میتواند یک وبسایت مستقل داشته باشد. برای مثال، اگر شما دامنه example.com را دارید و میخواهید دامنه blog.example.com را به عنوان یک subdomain اضافه کنید، شما باید یک پوشه به نام blog در public_html خود بسازید و دامنه را به آن اشاره دهید.
این خطا ممکن است به دلایل مختلفی ایجاد شود:
– دامنهای که شما میخواهید اضافه کنید، قبلاً به عنوان یک addon domain، alias domain یا subdomain در حساب کاربری شما یا حساب کاربری دیگری در سرور اضافه شده باشد. در این صورت، شما باید دامنه را از حساب کاربری خود یا حساب کاربری دیگری حذف کنید و سپس دوباره اضافه کنید.
– دامنهای که شما میخواهید اضافه کنید، قبلاً در سرور وجود داشته باشد ولی به درستی حذف نشده باشد. در این صورت، شما باید تنظیمات DNS و اطلاعات دامنه را از سرور پاک کنید و سپس دوباره اضافه کنید.
– دامنهای که شما میخواهید اضافه کنید، به یک آدرس IP اشاره میکند که DNS سرور شما را استفاده نمیکند. در این صورت، شما باید تنظیمات DNS دامنه را بررسی و اصلاح کنید و یا تنظیمات cPanel را تغییر دهید تا اجازه دهد که دامنههای ریموت را اضافه کنید.
جهت پی بردن به وجود دامنه های یک هاست ۲ روش وجود دارد.
اگر بعنوان یک کاربری که هاست اشتراکی لینوکس با کنترل پنل cPanel دارد میخواهید خطای مذکور را رفع کنید؛ باید وارد سیپنل و بخش Domains شوید. این بخش تمامی دامنه های موجود در هاست شما اعم از دامنه Addon و یا Alias و حتی Subdomain را نشان میدهد.
همانطور که در شکل زیر می بینید در بخش domains این هاست ۳ دامنه که شامل دامنه اصلی هاست و ۲ زیر دامنه نشان داده می شود. از این طریق می توانید متوجه شوید که دامنه مدنظر در این هاست اضافه شده است یا خیر.
برای تشخیص وجود دامنه مدنظر در هاست؛ استفاده از بخش Zone Editor سیپنل راه دیگر است. هر دامنه موجود در هاست؛ در بخش Zone Editor دیده می شود که جهت مدیریت رکوردهای DNS دامنه مدنظر از این قسمت اقدام می شود.
برای مثال شکل زیر بخش Zone Editor سیپنل هاست ما می باشد که دارای دو دامنه مجزا است:
اگر قصد دارید دامنه ای را به عنوان Parked Domain و یا Addon Domain به یک وب سایت خاص بیافزایید و در این حین با خطای “Domain already exists” مواجه شدید، درصورتیکه سرور مجازی و دسترسی به SSH دارید مرحله ۱ را انجام دهید و در صورتی که دسترسی به SSH ندارید و از هاست اشتراکی استفاده می نمایید، می توانید مرحله ۲ و ۳ را از طریق WHM انجام دهید.
نکته: نیاز است که پس از انجام هر مرحله مجددا امکان افزودن دامنه را بررسی فرمایید.
۱. ابتدا دستور زیر را در محیط SSH سرور خود اجرا نمایید. این دستور نام دامنه را از ورودی گرفته و نام کاربر را به خروجی ارسال می کند:
/scripts/whoowns [domain.com]
نکته: بجای [domain.com] دامنه مورد نظر خود را قرار دهید.
در صورتی که خروجی خالی بود؛ مرحله ۲ و ۳ را جهت اطمینان بررسی فرمایید.
در صورتی که خروجی یک نام کاربری بود، مشخص است که این دامنه در سرویس مربوط به آن نام کاربری افزوده شده است (به عنوان Parked Domain و یا Addon Domain و یا دامنه اصلی)؛ به سراغ مرحله ۲ بروید.
۲. در لیست Addon Domain ها و Parked Domain ها (در cPanel) بدنبال دامنه مورد نظر بگردید. در صورتی که در لیست ها وجود داشت، پس از اطمینان از بی اهمیت بودن آن، آنرا حذف نمایید.
(دامنه وجود نداشت؟ به مرحله بعد بروید…)
۳. از طریق WHM سرور (ترجیحاً با سطح دسترسی root) وارد گزینه Delete a DNS Zone شوید و از لیست پیش رو، دامنه مورد نظر را بیابید و حذف نمایید.
(دامنه وجود نداشت؟ به مرحله بعد بروید…)
فرآیند حذف یک دامنه با استفاده از دستور زیر در SSH سرور نیز قابل انجام است:
/scripts/killdns [domain.com]
۴. با استفاده از SSH سرور خود، مسیرهای زیر را بدنبال هرگونه نشانه از دامنه مورد نظر خود جستجو کنید:
/etc/named.conf
/usr/local/apache/conf/httpd.conf
/var/named/[domain.com].db
/etc/userdomains
/etc/localdomains
/var/cpanel/users/[username]
/var/cpanel/userdata/[username]/main
نکته: بجای [username] شناسه کاربری اکانت مورد نظر خود را قرار دهید.
پس از یافتن دامنه مورد نظر در هر یک از فایل های فوق، آنرا حذف نمایید.
در صورتی که آشنایی با نحوه دسترسی به سرور مجازی/ اختصاصی با سیستم عامل لینوکس و SSH ندارید، حتما مقاله آموزش دسترسی به سرورهای لینوکس از طریق SSH را مطالعه فرمایید.
توجه: اکیداً توصیه می گردد قبل از هرگونه تغییرات در فایل های اعلام شده، از آنها یک نسخه پشتیبان تهیه کنید تا در مواقع بروز خطا، بتوانید از آنها استفاده کنید.
۵. پس از اعمال تغییرات بر روی فایل های فوق، دستور زیر را در محیط SSH اجرا نمایید:
service cpanel restart
/scripts/updateuserdomains
هم اکنون قادر خواهید بود پس از ثبت دامنه مد نظر، دامنه مورد نظر خود را به عنوان Addon Domain و یا Parked Domain به هاست خود بیافزایید.
امیدواریم این مقاله مورد توجه شما قرار گرفته باشد.