دسته بندی:

تغییر صفحه ساس در سی پنل Account Suspended

صفحهٔ Account Suspended را از مسیر WHM › Account Functions › Web Template Editor و از زبانهٔ Account Suspended ویرایش می‌کنید؛ محتوایی که ذخیره می‌کنید در فایل /var/cpanel/webtemplates/<owner>/english/suspended.tmpl نوشته می‌شود که در آن <owner> نام کاربری مالک اکانت (root یا نام کاربری نماینده) است. دو سوءتفاهم رایج را همین ابتدا کنار بگذاریم: این کار داخل سی‌پنل کاربر انجام نمی‌شود، و ابزار Manage Account Suspension در WHM فقط اکانت را تعلیق و رفع تعلیق می‌کند و هیچ ارتباطی با ویرایش متن این صفحه ندارد.

این صفحه دقیقاً چه زمانی به بازدیدکننده نشان داده می‌شود

وقتی اکانتی در WHM تعلیق (Suspend) می‌شود، وب‌سرور دیگر سایت واقعی را سرو نمی‌کند و به‌جای آن این قالب را برمی‌گرداند. یعنی هر بازدیدکننده‌ای که دامنه را باز کند، به‌جای صفحهٔ اصلی این پیام را می‌بیند؛ چه تعلیق به‌دلیل عدم تمدید باشد، چه مصرف بیش از حد منابع، چه درخواست خود مشتری. این رفتار بخشی از خود cPanel است و روی هر سروری که با این کنترل‌پنل بالا آمده تکرار می‌شود، از جمله روی سرویس‌هایی مثل هاست لینوکس ایران با کنترل‌پنل cPanel.

همان ابزار Web Template Editor چهار قالب جدا دارد و بهتر است آن‌ها را با هم اشتباه نگیرید:

  • Default Website Page — دامنه‌ای که هنوز صاحبش سایتی روی آن بالا نیاورده (و سایت‌های حذف‌شده).
  • Account Move — اکانتی که به سرور دیگری منتقل شده.
  • Connection Selection — مشکل اتصال یا فایروال.
  • Account Suspended — همانی که موضوع این مقاله است.

این چهار مورد دقیقاً به همین چهار فایل روی دیسک نگاشت می‌شوند: default.tmpl، moving.tmpl، redirect.tmpl و suspended.tmpl.

صفحهٔ پیش‌فرض چه می‌گوید و ایراد آن کجاست

قالب کارخانه‌ای در مسیر /usr/local/cpanel/etc/webtemplates/english/suspended.tmpl قرار دارد. اگر بازش کنید می‌بینید که کل پیام آن سه عبارت انگلیسی است: عنوان صفحه Account Suspended، تیتر «This Account has been suspended.» و یک لینک با متن «Contact your hosting provider».

نکته‌ای که باید تصحیح شود: در نسخه‌های خیلی قدیمی این صفحه برند و نام سی‌پنل را نشان می‌داد و همین باعث سردرگمی مشتری می‌شد. در نسخه‌های امروزی (آنچه ما روی cPanel & WHM نسخهٔ 11.136 بررسی کردیم) دیگر هیچ‌جای متن صفحه به سی‌پنل اشاره نمی‌کند، اما مشکلات دیگری سر جای خودشان هستند:

  • کاملاً انگلیسی و چپ‌به‌راست است؛ برای مخاطب فارسی‌زبان عملاً بی‌معنی است.
  • هیچ راه تماس مشخصی مثل شماره تلفن، لینک تیکت یا آدرس پنل کاربری ندارد.
  • لینک «تماس با میزبان» فقط وقتی آدرس درستی دارد که اطلاعات Public Contact را در WHM پر کرده باشید؛ در غیر این صورت مقدار href خالی می‌ماند و کلیک روی آن عملاً هیچ کاری نمی‌کند.
  • برای نمایش یک آیکن، یک فایل CSS از دامنهٔ بیرونی use.fontawesome.com (فونت‌آوسام نسخهٔ 5.0.6) با آدرس پروتکل‌نسبی بارگذاری می‌شود. اگر بازدیدکننده به آن دسترسی نداشته باشد آیکن نمایش داده نمی‌شود، و در عمل این یک وابستگی بیرونیِ قدیمی است که هیچ لزومی ندارد در نسخهٔ سفارشی شما بماند.

چرا این کار برای نماینده‌ها حیاتی‌تر است

اگر شما نماینده هستید و زیر خودتان مشتری دارید، صفحهٔ تعلیقِ پیش‌فرض یعنی مشتری شما یک صفحهٔ انگلیسی ناشناس می‌بیند و نمی‌داند باید سراغ چه کسی برود. نتیجه‌اش تماس‌های سردرگم، تیکت‌های عصبی و گاهی از دست رفتن مشتری است.

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

مراحل عملی ویرایش در WHM

وارد WHM شوید (نه cPanel کاربر) و مسیر Account Functions › Web Template Editor را باز کنید. سپس:

  • زبانهٔ Account Suspended را انتخاب کنید.
  • کد HTML دلخواهتان را در کادر ویرایشگر بنویسید، یا فایل آماده را با بخش Upload Your Own Template پایین همان زبانه آپلود کنید.
  • حتماً <meta charset="utf-8"> و <html lang="fa" dir="rtl"> را بگذارید تا متن فارسی درست و راست‌به‌چپ نمایش داده شود.
  • پیش از ذخیره از دکمهٔ Preview استفاده کنید و بعد Save را بزنید. اگر خراب شد، Revert شما را به آخرین نسخهٔ ذخیره‌شده و Revert to Default شما را به قالب کارخانه‌ای برمی‌گرداند.
  • نتیجه را در یک پنجرهٔ ناشناس مرورگر تست کنید، نه در تبی که قبلاً صفحه را کش کرده است.

برای دیدن این ابزار، کاربر باید دسترسی basic-whm-functions را داشته باشد؛ یعنی نماینده‌ای که WHM محدود دارد هم معمولاً می‌تواند صفحهٔ خودش را ویرایش کند. اگر هنوز سروری با پنل رسمی ندارید، تهیهٔ لایسنس اورجینال cPanel پیش‌نیاز داشتن WHM سالم و به‌روز است.

اگر می‌خواهید تصویری (مثل لوگو) داخل قالب بگذارید، فایل تصویر باید در /usr/local/cpanel/img-sys/ قرار بگیرد و در HTML با مسیر /img-sys/ صدا زده شود. دلیلش هم ساده است: آپاچی برای همین یک Alias دارد و این صفحه از دایرکتوری سایت مشتری سرو نمی‌شود، پس به فایل‌های داخل public_html دسترسی ندارد.

تگ‌هایی که داخل قالب کار می‌کنند

این فایل یک قالب Template Toolkit است، نه HTML ساده. کادر «Available Tags» خود WHM فقط یک متغیر را معرفی می‌کند:

  • [% data.protocol %] — مقدار http یا https، برای لینک دادن به تصاویر و منابعی که بیرون از /img-sys/ هستند.

ولی خود قالب پیش‌فرضی که cPanel ارسال می‌کند دو متغیر دیگر را هم به‌کار می‌برد و شما هم می‌توانید از آن‌ها استفاده کنید:

  • [% data.name %] — نام میزبان
  • [% data.url %] — آدرس سایت میزبان

مقدار این دو از دیتااستور Public Contact خوانده می‌شود و برای هر مالک اکانت جداگانه ذخیره می‌گردد؛ در WHM از مسیر cPanel › Customization و زبانهٔ Public Contact آن را پر کنید. اگر خالی بماند، لینک تماسِ صفحه بی‌فایده می‌ماند. هنگام چاپ این متغیرها حتماً فیلتر FILTER html را بگذارید، دقیقاً مثل کاری که خود قالب پیش‌فرض می‌کند: [% data.url FILTER html %].

یک نکتهٔ مهم که مخصوصاً نماینده‌ها از قلم می‌اندازند: این «جداگانه بودن» شرطی است. اگر نماینده هر دو مقدار را خالی بگذارد، cPanel خودبه‌خود سراغ Public Contact کاربر root می‌رود و همان را چاپ می‌کند. نتیجه‌اش این است که شما قالب را با برند خودتان سفارشی کرده‌اید، اما لینک تماس همان صفحه مشتری‌تان را مستقیم به میزبان بالادستی می‌فرستد؛ دقیقاً همان چیزی که می‌خواستید از آن جلوگیری کنید. پس سفارشی‌سازی قالب بدون پر کردن Public Contact خودِ نماینده نیمه‌کاره است. ترتیب جایگزینی در نبود مقدار هم همین‌طور است: اگر name خالی باشد مقدار url جای آن می‌نشیند و اگر آن هم نباشد، cPanel عبارت webmaster@ به‌همراه نام میزبان سرور را می‌گذارد.

WHM قالب را با چه ترتیبی پیدا می‌کند

دانستن این ترتیب، نیمی از عیب‌یابی‌ها را حل می‌کند. cPanel به‌ترتیب این مسیرها را می‌گردد و اولین فایلی را که پیدا کند به‌کار می‌برد:

  • /var/cpanel/webtemplates/<owner>/english/suspended.tmpl — قالب اختصاصی همان مالک، همانی که ویرایشگر WHM می‌سازد
  • /var/cpanel/webtemplates/english/suspended.tmpl — قالب سفارشی سراسری، برای وقتی مالک قالب اختصاصی ندارد
  • public_html/suspended.page/index.html داخل هوم‌دایرکتوری مالک — مسیر قدیمی که فقط برای سازگاری با گذشته پشتیبانی می‌شود
  • /usr/local/cpanel/etc/webtemplates/<owner>/english/suspended.tmpl و سپس /usr/local/cpanel/etc/webtemplates/english/suspended.tmpl — قالب‌های کارخانه‌ای

روی همین بند سوم خیلی‌ها اشتباه می‌کنند: آن پوشهٔ suspended.page باید در هوم‌دایرکتوری مالک اکانت باشد، نه در هوم‌دایرکتوری مشتریِ تعلیق‌شده؛ و اگر مالک root باشد، cPanel به‌جای هوم‌دایرکتوری سراغ دایرکتوری اصلی اسناد آپاچی می‌رود.

پس اگر تغییراتتان اعمال نشد، اول مطمئن شوید فایل زیر نام کاربری درست ساخته شده است. قالبی که برای مالک root ذخیره شده، روی اکانت‌هایی که مالکشان یک نماینده است اعمال نمی‌شود، چون آن اکانت‌ها اول پوشهٔ همان نماینده را می‌بینند و بعد قالب سفارشی سراسری را.

آیا به‌روزرسانی WHM تغییرات را پاک می‌کند

این نگرانی قدیمی امروز نصفه‌درست است و باید دقیق گفته شود. اگر از راه رسمی جلو رفته باشید و فایل شما زیر /var/cpanel/webtemplates/ ذخیره شده باشد، به‌روزرسانی‌های cPanel آن را دست نمی‌زنند؛ این مسیر مخصوص داده‌های سفارشی سرور است.

اما اگر وسوسه شوید و مستقیم فایل کارخانه‌ای داخل /usr/local/cpanel/etc/webtemplates/ را ویرایش کنید، اولین به‌روزرسانی cPanel آن را با نسخهٔ جدید بازنویسی می‌کند و زحمتتان از بین می‌رود. همچنین روش خیلی قدیمیِ ساختن پوشهٔ suspended.page را توصیه نمی‌کنیم؛ هنوز کار می‌کند، اما با پاک شدن یا انتقال هوم‌دایرکتوری مالک از دست می‌رود و در ویرایشگر WHM هم دیده نمی‌شود.

اشتباه‌های رایجی که وقت می‌گیرند

اگر دامنه ریدایرکت شده باشد، بازدیدکننده اصلاً این قالب را نمی‌بیند؛ در آن حالت خود WHM هم توصیه می‌کند فایل /var/cpanel/webtemplates/<owner>/english/suspended.tmpl را در public_html دامنهٔ مقصد کپی کنید.

نکتهٔ دوم اینکه هیچ‌وقت دلیل تعلیق یا اطلاعات مالی مشتری را روی این صفحه ننویسید؛ این صفحه برای همهٔ اکانت‌های تعلیق‌شدهٔ آن مالک یکسان است و عمومی دیده می‌شود. یک متن کوتاه فارسی به‌همراه راه تماس کافی است. نکتهٔ سوم هم اینکه قالب سفارشی خود را بدون وابستگی بیرونی بنویسید: استایل را داخل خود فایل بگذارید و به هیچ CDN خارجی وصل نشوید، چون همان صفحه‌ای که قرار است مشتری را آرام کند نباید خودش کند بالا بیاید یا نیمه‌کاره رندر شود.

جمع‌بندی

خلاصه اینکه صفحهٔ Account Suspended یک قالب قابل ویرایش در WHM است، نه یک صفحهٔ ثابت. سه دقیقه وقت گذاشتن روی آن، متن فارسی گذاشتن و یک راه تماس شفاف اضافه کردن، جلوی حجم زیادی از تیکت‌های سردرگم را می‌گیرد و اعتبار برند شما را حفظ می‌کند. و اگر ترجیح می‌دهید کارهای سطح سرور و نصب و پیکربندی کنترل‌پنل را تیم میزبان انجام دهد، سرور مجازی مدیریت‌شدهٔ ایران همین بار را از دوش شما برمی‌دارد.