چگونه لایسنس cPanel خود را فعال کنیم (به همراه بهروزرسانی لایسنس DirectAdmin)
لایسنس cPanel به آیپی اصلی سرور گره خورده است؛ بنابراین فعالسازی آن یعنی ثبت لایسنس روی همان آیپی و سپس اجرای یک دستور روی خود سرور. کافی است با کاربر root وارد SSH شوید و دستور /usr/local/cpanel/cpkeyclt را اجرا کنید تا سرور فایل مجوز را از سرورهای لایسنس cPanel بگیرد و کنترلپنل فعال شود.
لایسنس cPanel روی چه چیزی قفل میشود
برخلاف بسیاری از نرمافزارها، cPanel کلید سریالی ندارد که خودتان جایی وارد کنید. مجوز در سمت cPanel روی یک آیپی ثبت میشود و سرور شما هر بار برای اعتبارسنجی با سرورهای مجوز تماس میگیرد؛ آنجا آیپی مبدأ با فهرست لایسنسها مقایسه میشود. به همین دلیل برای فعال شدن لایسنس باید سه شرط همزمان برقرار باشد:
- لایسنس فعال و تسویهشده باشد و در وضعیت معتبر قرار داشته باشد.
- آیپی ثبتشده روی لایسنس دقیقاً همان آیپی عمومی سرور باشد.
- سرور بتواند به سرورهای مجوز cPanel روی پورت خروجی TCP شمارهٔ ۲۰۸۹ متصل شود و پاسخ برگشتی هم از فایروال عبور کند.
نوع لایسنس هم اهمیت دارد. لایسنسهای cPanel بر اساس تعداد اکانتهای قابل ساخت و اینکه سرور مجازی است یا اختصاصی دستهبندی میشوند و لایسنس یک دسته لزوماً روی دستهٔ دیگر معتبر نیست. پیش از خرید مشخص کنید روی سرور مجازی نصب میکنید یا سرور اختصاصی، و چند اکانت cPanel قرار است بسازید؛ جزئیات سطحبندی و شرایط هر نوع لایسنس را از فروشندهٔ خود بپرسید چون این دستهبندیها در طول زمان تغییر کردهاند.
لایسنس cPanel چطور فروخته میشود
لایسنس cPanel یک اشتراک است، نه خرید یکباره؛ بهصورت ماهانه یا سالانه تمدید میشود و اگر تمدید نشود، پنل از کار میافتد. قیمت آن نسبت به کاری که انجام میدهد و محیط کاربرپسندی که در اختیارتان میگذارد سنگین نیست، ولی cPanel در دستهٔ کنترلپنلهای ارزان هم طبقهبندی نمیشود و باید آن را یک هزینهٔ ثابت ماهانه یا سالانهٔ سرور در نظر بگیرید.
لایسنس سرور مجازی و لایسنس سرور اختصاصی جداگانه عرضه میشوند و نسخهٔ مخصوص سرور مجازی ارزانتر است، اما این اختلاف قیمت ربطی به امکانات پنل ندارد؛ محیط و قابلیتهای cPanel و WHM در هر دو حالت یکسان است و آنچه فرق میکند نوع سروری است که لایسنس روی آن معتبر شناخته میشود. به همین دلیل لایسنس مخصوص سرور مجازی روی یک سرور اختصاصی معتبر شناخته نمیشود؛ پیش از خرید، نوع سرور را به فروشنده بگویید.
cPanel یکی از پرکاربردترین کنترلپنلهای هاستینگ در جهان است و دو گروه سراغ خرید لایسنس آن میروند: ارائهدهندگان هاست اشتراکی که کل سرویسشان روی کنترلپنل بنا شده، و مدیران سایتهایی که سرور مجازی یا اختصاصی خودشان را دارند و نمیخواهند مدیریت اکانتها، وبسرور، ایمیل، دیتابیس و DNS را دستی و از راه خط فرمان انجام دهند. چیزی که با خرید لایسنس cPanel به دست میآورید، اجازهٔ استفادهٔ قانونی از همین لایهٔ مدیریتی روی یک آیپی مشخص است — از ساخت و مدیریت کاربران و هاستها گرفته تا نصب و بهروزرسانی سرویسهای لینوکسی از داخل خود پنل.
مراحل فعالسازی
- آیپی سرور را یادداشت کنید. منظور آیپی عمومی اصلی سرور است، نه آیپیهای اضافهای که بعداً روی کارت شبکه اضافه میکنید.
- لایسنس را با همان آیپی ثبت کنید. هنگام خرید لایسنس آیپی را با دقت وارد کنید؛ یک رقم اشتباه یعنی لایسنس روی سرور دیگری فعال شده است.
- cPanel را نصب کنید. نصب باید روی یک سیستمعامل تمیز و پشتیبانیشده انجام شود؛ فهرست سیستمعاملهای مجاز و دستور رسمی نصب را در آموزش نصب cPanel آوردهایم. cPanel روی سروری که از قبل کنترلپنل یا وبسرور دستی روی آن نصب شده نصب نمیشود.
- دستور فعالسازی را اجرا کنید. با کاربر root وارد SSH شوید و مسیر کامل دستور را بنویسید:
/usr/local/cpanel/cpkeyclt
اگر همه چیز درست باشد، دستور در خروجی پیام موفقیت (Update succeeded) را نشان میدهد و بلافاصله میتوانید وارد WHM شوید و سراغ تنظیمات اولیه WHM و ساخت اکانت بروید. این دستور فقط مجوز را تازه میکند و به پیکربندی سرویسها یا دادههای اکانتها دست نمیزند، بنابراین اجرای دوبارهٔ آن بیخطر است.
این دستور همان کاری را میکند که cPanel بهصورت دورهای و خودکار انجام میدهد؛ شما فقط آن را دستی و بیدرنگ اجرا میکنید تا لازم نباشد منتظر بررسی بعدی بمانید. به همین دلیل cpkeyclt فقط مخصوص نصب اولیه نیست: هر وقت لایسنس معتبر است ولی سرور آن را نمیبیند — بعد از تمدید، بعد از تغییر آیپی ثبتشده، یا وقتی پنل بیدلیل پیام لایسنس نامعتبر میدهد — همین یک دستور کار را راه میاندازد.
وقتی دستور فعالسازی خطا میدهد
خطای cpkeyclt تقریباً همیشه یکی از این چند علت را دارد و ترتیب بررسیشان مهم است:
- ناهماهنگی آیپی. آیپی ثبتشده روی لایسنس با آیپی خروجی سرور یکی نیست. آیپی عمومی واقعی سرور را از داخل خودش بررسی کنید، نه از روی پنل مدیریت؛ مثلاً با اجرای
curl -4 ifconfig.meروی همان سرور، که فقط یک درخواست خواندنی است و چیزی را تغییر نمیدهد. - بسته بودن مسیر خروجی. فایروال سرور (CSF، firewalld یا iptables) یا فایروال شبکهٔ بالادست، ترافیک خروجی روی پورت ۲۰۸۹ را میبندد. این مورد در شبکههایی با محدودیت خروجی رایج است؛ اگر همین فایروال راه ورود به خود پنل را هم بسته باشد، بهجای پیام لایسنس با خطای Connection to server failed در cPanel روبهرو میشوید. برای آزمایش، قاعدهٔ خروجی پورت ۲۰۸۹ را اضافه کنید؛ راهنماهایی که میگویند فایروال را با
iptables -Fخالی کنید را دنبال نکنید، چون این کار سرور را بدون فایروال رها میکند و اگر قاعدهٔ پیشفرض روی DROP باشد ممکن است ارتباط SSH خودتان هم قطع شود. - مشکل نامگذاری و DNS. اگر سرور نتواند نام سرورهای مجوز را resolve کند، تماس اعتبارسنجی هرگز برقرار نمیشود. سلامت resolver سرور را بررسی کنید.
- ساعت اشتباه سرور. اگر ساعت سیستم با زمان واقعی اختلاف زیادی داشته باشد، اعتبارسنجی رد میشود. زمان سرور را با یک منبع NTP هماهنگ کنید.
- عدم تطابق نوع لایسنس. لایسنسی که برای نوع دیگری از سرور صادر شده روی این ماشین معتبر شناخته نمیشود.
- تأخیر انتشار. بعد از ثبت یا تغییر آیپی، معمولاً کمی طول میکشد تا تغییر در سمت cPanel اعمال شود. چند دقیقه صبر کنید و دوباره دستور را اجرا کنید.
اگر آیپی سرور تغییر کند
چون لایسنس به آیپی بسته است، هر تغییری در آیپی اصلی سرور، لایسنس را نامعتبر میکند. این اتفاق در چند حالت رخ میدهد: مهاجرت به سرور جدید، تعویض آیپی توسط دیتاسنتر، تغییر آیپی اصلی هنگام تغییر مسیر شبکه، یا حتی جابهجایی سرویس بین دو مرکز داده.
روال درست این است: اول آیپی جدید روی سرور فعال و پایدار شود، سپس آیپی ثبتشدهٔ لایسنس به آیپی جدید تغییر داده شود و در پایان دوباره /usr/local/cpanel/cpkeyclt اجرا شود. اگر ترتیب را برعکس کنید، مدتی سرور بدون کنترلپنل میماند.
توجه کنید که تعداد و فاصلهٔ مجاز برای تغییر آیپی یک لایسنس محدودیت دارد و این محدودیتها بسته به قوانین cPanel و شرایط فروشنده متفاوت است. اگر برنامهٔ مهاجرت دارید، پیش از شروع با تیم پشتیبانی فنی هماهنگ کنید تا تغییر آیپی لایسنس همزمان با انتقال انجام شود و وقفه به حداقل برسد.
سرورهای پشت NAT
اگر سرور آیپی عمومی را مستقیماً روی کارت شبکه ندارد و پشت NAT قرار گرفته، آنچه برای لایسنس اهمیت دارد آیپی عمومی خروجی است، نه آیپی خصوصی داخلی. در این حالت لایسنس باید روی همان آیپی عمومی ثبت شود و پیکربندی NAT در خود cPanel هم باید درست انجام شود تا سرویسها آدرس عمومی صحیح را گزارش کنند. بیتوجهی به این نکته باعث میشود لایسنس ظاهراً درست باشد ولی اعتبارسنجی رد شود.
چطور از سالم بودن لایسنس مطمئن شویم
سه راه ساده برای بررسی وجود دارد:
- صفحهٔ رسمی بررسی مجوز. در verify.cpanel.net آیپی سرور را وارد کنید تا وضعیت لایسنس آن آیپی و اینکه منقضی شده یا نه نمایش داده شود. این کار از هر جایی و بدون نیاز به دسترسی به سرور ممکن است. در راهنماهای قدیمی این نشانی با
httpنوشته شده؛ امروز آن را باhttpsباز کنید. - اجرای دستی دستور. اجرای
/usr/local/cpanel/cpkeycltروی سرور، وضعیت واقعی و پیام خطای دقیق را نشان میدهد. اگر verify میگوید لایسنس فعال است ولی سرور آن را نامعتبر نشان میدهد، دقیقاً همینجاست که این دستور مشکل را حل میکند. - فایل مجوز روی سرور. فایل لایسنس در مسیر
/usr/local/cpanel/cpanel.liscقرار دارد. وجود این فایل بهتنهایی به معنی معتبر بودن لایسنس نیست، ولی نبودن یا خالی بودنش نشانهٔ روشنی از ناموفق بودن فعالسازی است. این فایل را دستی ویرایش یا جابهجا نکنید؛ ساخت و بهروزرسانیاش کار خودcpkeycltاست.
در خود WHM هم اطلاعات لایسنس و تاریخ اعتبار آن نمایش داده میشود؛ عادت کنید بعد از هر تغییر شبکهای یک بار آن را نگاه کنید.
وقتی لایسنس منقضی یا نامعتبر شود
در این حالت بهجای صفحهٔ ورود، پیام خطای لایسنس نمایش داده میشود و دسترسی به WHM و cPanel قطع میشود. معمولاً سرویسهای زیرساختی مثل وبسرور، ایمیل و دیتابیس بلافاصله متوقف نمیشوند و سایتها بالا میمانند، اما مدیریت سرور، ساخت اکانت، صدور گواهی SSL خودکار و کارهای زمانبندیشدهای که به کنترلپنل وابستهاند از کار میافتد. روی این مهلت حساب باز نکنید و مشکل را سریع حل کنید.
پس از تمدید لایسنس هم منتظر نمانید تا سرور خودش متوجه شود؛ همان /usr/local/cpanel/cpkeyclt را با کاربر root اجرا کنید تا مجوز تازه بیدرنگ روی سرور بنشیند و پنل برگردد.
اگر برنامهٔ بلندمدت شما تغییر کنترلپنل است، پیش از انقضا تصمیم بگیرید؛ مهاجرت بین کنترلپنلها روی سروری که کنترلپنلش قفل شده بهمراتب سختتر است. لایسنس دایرکتادمین گزینهٔ رایج دیگری در همین دسته است؛ آن هم به آیپی سرور قفل میشود، ولی روش فعالسازی و تمدیدش با cPanel فرق دارد و در بخش بعدی آن را آوردهایم.
بهروزرسانی لایسنس DirectAdmin
در DirectAdmin خبری از cpkeyclt نیست؛ اینجا خودتان با یک اسکریپت، فایل لایسنس را از سرورهای DirectAdmin میگیرید. اگر لایسنس شما منقضی شده و آن را تمدید کردهاید، یا لایسنس تازهای روی همان آیپی خریدهاید، با کاربر root وارد SSH شوید. روشی که امروز در مستندات رسمی DirectAdmin آمده، دادن «کلید لایسنس» (یک رشتهٔ طولانی که در ناحیهٔ کاربری لایسنس میبینید) به اسکریپت است:
cd /usr/local/directadmin/scripts ./getLicense.sh 'YOUR-LICENSE-KEY-HERE'
لایسنسهای قدیمیتر بهجای کلید، یک Client ID و یک License ID داشتند و اسکریپت هنوز این شکل را هم میپذیرد. اگر فروشندهٔ شما این دو عدد را داده است، خط دوم را اینطور بنویسید:
./getLicense.sh 123 1234
در این نمونه 123 همان Client ID و 1234 همان License ID شماست که پس از خرید لایسنس به شما داده میشود؛ این دو عدد را با مقادیر خودتان جایگزین کنید و مراقب باشید جای آنها را عوض نکنید، چون این یکی از رایجترین خطاهاست. خلاصه اینکه شکل اعتبارنامهٔ لایسنس DirectAdmin در طول زمان تغییر کرده و ملاک، همان مقداری است که فروشنده به شما تحویل داده است.
پیش از ریاستارت، خروجی اسکریپت را بخوانید. اگر getLicense.sh پیام موفقیت نداد، سرویس را ریاستارت نکنید؛ در این حالت ممکن است فایل /usr/local/directadmin/conf/license.key ناقص نوشته شده باشد و ریاستارت، پنلی را که تا این لحظه بالا بوده هم از دسترس خارج کند. اگر میخواهید محتاط باشید، پیش از اجرای اسکریپت یک نسخهٔ پشتیبان از فایل فعلی بگیرید:
cp -a /usr/local/directadmin/conf/license.key /root/license.key.bak
وقتی خروجی اسکریپت موفق بود، سرویس را ریاستارت کنید:
systemctl restart directadmin
این ریاستارت فقط خود پنل DirectAdmin را چند ثانیه از دسترس خارج میکند و به وبسرور، ایمیل و دیتابیس کاری ندارد؛ سایتها در این فاصله بالا میمانند.
دستور آخر را از راهنماهای قدیمی کپی نکنید. در مطالب قدیمی راهاندازی مجدد سرویس به شکل service directadmin restart نوشته شده است. روی توزیعهایی که امروز برای DirectAdmin استفاده میشوند — AlmaLinux، Rocky Linux، CloudLinux، Debian و Ubuntu، و همچنین CentOS 7 که دیگر پشتیبانی نمیشود — مدیریت سرویسها با systemd انجام میشود و شکل درست دستور همان systemctl restart directadmin است. دستور قدیمی معمولاً هنوز جواب میدهد چون به systemd هدایت میشود، اما استاندارد نیست و روی همهٔ سیستمها قابل اتکا نیست.
برای اطمینان از نتیجه، وضعیت سرویس و فایل لایسنس را ببینید:
systemctl status directadmin ls -l /usr/local/directadmin/conf/license.key
دسترسی این فایل باید محدود بماند؛ اگر بازتر از 0600 بود آن را اصلاح کنید: chmod 0600 /usr/local/directadmin/conf/license.key.
اگر getLicense.sh خطا داد، همان فهرست علتهای بالا را مرور کنید: آیپی ثبتشده روی لایسنس با آیپی عمومی سرور یکی نیست، ترافیک خروجی سرور به سمت سرورهای لایسنس بسته است، یا سرور نمیتواند نام آنها را resolve کند.
جمعبندی
سه چیز را به خاطر بسپارید: لایسنس cPanel به آیپی اصلی سرور بسته است، فعالسازی و بهروزرسانی آن — چه بعد از نصب، چه بعد از تمدید، چه بعد از تغییر آیپی — با یک دستور یعنی /usr/local/cpanel/cpkeyclt انجام میشود، و هر تغییر آیپی نیازمند بهروزرسانی آیپی ثبتشدهٔ لایسنس پیش از اجرای دوبارهٔ همان دستور است. در DirectAdmin هم منطق یکسان است و فقط ابزار فرق میکند: getLicense.sh با کلید لایسنس (یا Client ID و License ID در لایسنسهای قدیمی)، و بعد یک systemctl restart directadmin. اگر این نکات را رعایت کنید، عملاً هیچوقت با سرور قفلشده روبهرو نمیشوید.