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

خانه / رفع مشکل سرور

رفع مشکل سرور

آموزش رفع خطای ۵۰۳ Service Unavailable

How to Fix 503 Service Unavailable Error

خطای ۵۰۳ یکی از خطاهای رایجی است که در سایت ها بروز میکند و گاها خود به خود رفع می شود، اما علت خطای ۵۰۳ در سایت ها چیست؟

امروز با روش رفع خطای ۵۰۳ آشنا خواهیم شد.

  •  اولین و مهمترین قدم بررسی لاگ های وب سایت است، اگر از دایرکت ادمین یا سی پنل استفاده میکنید ابتدا error_log ها را بررسی کنید، ممکن است علت خطا در error_log ها مشخص شود، اگر توانایی و تجربه کافی در لاگ خوانی ندارید از مدیر سرور خود کمک بگیرید.
  • در گام دوم debug (یا حالت عیب یابی)‌ سایت را فعال کنید، برای این کار از مدیریت برنامه سایت استفاده کنید، با فعال کردن نمایش خطا یا همان debug mode ممکن است علت خطا را مشاهده کنید.
  • گاها ممکن است مشکل در پلاگین یا قالب سایت باشد، برای بررسی این موضوع کافی هست تمام پلاگین ها را غیرفعال کنید ( ویا پوشه plugin ها را rename کنید)‌ و قالب سایت را به قالب پیش فرض تغییر دهید.
  • ممکن است مشکل در سرور یا سیستم cache یا فایروال سرور میزبان سایت باشد، بهتر است از پشتیبانی سرور خود بخواهید موضوع را بررسی کند اما بخاطر داشته باشید خطای های ۵۰X ( مانند ۵۰۰، ۵۰۲، ۵۰۳ و …) همیشه به تنظیمات سرور مرتبط نیست. گاهی نیز با ارتقا نسخه php سایت، خطای ۵۰۳ برطرف خواهد شد.
  • ممکن است مشکل در فایل .htaccess سایت شما باید باید کدهای این فایل را بررسی و از صحت آن اطمینان حاصل کنید. همچنین اگر به سایت شما نفوذ شده باشد احتمال قرار دادن کدهای مخربی که باعث بروز خطای ۵۰۳ وجود دارد بنابرین باید امنیت سایت خود را نیز بررسی کنید.
  • یکی از دلایل بسیار رایج اما کمتر شناخته شده خطای ۵۰۳، مشکل در سرویس دهنده اینترنت یا ISP شما  می باشد، در برخی از مواقع سیستم cache سرویس دهنده های اینترنتی یا ISP ها باعث بروز خطای ۵۰۳ می شوند که این مشکل با تغییر اینترنت یا استفاده از proxy رفع خواهد شد. همچنین ممکن است تغییر DNS های کارت شبکه سیستم کاربری نیز به رفع مشکل کمک کند.
  • از دیگر دلایل خطای ۵۰۳ مشکل در ارتباط با خارج کشور می باشد، اگر هاست شما در داخل کشور میزبانی می شود و پلاگین یا سرویسی در سایت شما نیاز به ارتباط با خارج کشور داشته باشد و ارتباط با خارج کشور به علت مشکلات زیرساختی کشور دارای اختلال باشد شما با خطای ۵۰۳ مواجه خواهید شد.

جلوگیری از اسپم شدن ایمیل های ارسالی سایت

یکی از دغدغه های همیشگی کاربران این است که چگونه میشود از اسپم شدن ایمیل های ارسالی از سرور و سایت جلوگیری کرد. بسیار مهم است ایمیل های ارسالی به کاربران به پوشه spam منتقل نشود، اما آیا راهی وجود دارد که جلوگیری از اسپم شدن ایمیل ها را تضمین کند؟

How to prevent cPanel mails to go into spam folder

جلوگیری از اسپم شدن ایمیل ها

باید بدانیم که سرویس دهنده های ایمیل مثل Gamil از مجموعه گسترده ای از قوانین و روال ها برای تشخیص ارسال اسپم استفاده میکنند، مانند اعتبار و پیشینه IP، محتوا و ساختار پیام، SMTP سازگار با RFC، بازخورد کاربر ایمیل و … است.

واقعا هیچ راه تضمین کننده ای برای این مشکل وجود ندارد اما روش هایی را با هم بررسی میکنیم که با انجام آنها احتمال اسپم شدن ایمیل های ارسالی به کمترین میزان برسد.

۱- تنظیم PTR Record

برای IP سرور حتما باید یک PTR تعریف کنیم، بهتر است PTR Record با hostname سرور مشابه باشد، برای تنظیم PTR رکورد باید از طریق دیتاسنتر یا مالک IP اقدام نمایید. برای اطمینان از تنظیم بودن PTR بروی IP سرور از سایت زیر کمک بگیرید:

https://mxtoolbox.com/ReverseLookup.aspx

بسیاری از سرویس دهندگان ایمیل PTR رکورد را به عنوان شاخصی از یک سرور پست الکترونیکی تحت تأیید در نظر می گیرند.

۲- تنظیم SPF و DKIM

سرویس دهنده های ایمیل معمولا از مشخصات غیرواقعی در قسمت From ایمیل استفاده میکنند، سرورهای ایمیل با استفاده از سوابق DNS به نام SPF (چارچوب خط مشی فرستنده) و DKIM (دامنه شناسایی شده توسط DomainKeys) با این امر مبارزه می کنند.

برای فعال سازی SPF و DKIM از طریق Cpanel به بخش Email و قسمت Authentication مراجعه کنید. این تنظیمات امنیتی پایه را فعال می کند، اما بسیاری از کاربران نیاز به تنظیمات اضافی مانند افزودن سرور های ایمیل شرکت، ایجاد hard fail و غیره دارند. ما این کار را با استفاده از ویرایشگر پیشرفته DNS انجام می دهیم.

مدیران سرور میتوانند از آموزش زیر استفاده کنند:
اضافه کردن SPF و DKIM رکورد برای تمام اکانت ها در Cpanel

۳- همیشه از SMTP استفاده کنید.

همیشه لیست ارسال پستی باید از SMTP استفاده کند تا authentication باعث اعتبار ارسال شود، هرگز به sendmail یا توابع نامه php / perl اعتماد نکنید. 

در سرورهای اشتراکی تمام ایمیل‌های سرور شما از یک IP ارسال میشوند، آدرس دامنه وب سایتها متفاوت است ولی تمام ایمیل‌ها از یک آدرس IP ارسال میشوند.

 

روش های دیگری نیز میتواند این مشکل را کاهش دهد:

  • فعال سازی SpamAssassin در WHM برای اعمال روش های کنترل اسپم سختگیرانه را بر روی ایمیلهای خروجی
    cPanel به طور پیش فرض تنها ایمیل های دریافتی را به عنوان هرزنامه اسکن می کند، با فعال کردن SpamAssassin، اگر یک پست حاوی هر گونه احتمال جاسوسی توسط جیمیل، هاتمیل و غیره باشد، پست الکترونیکی ارسال نخواهد شد.
  • استفاده از WAF : فایروال وب برنامه های در حال اجرا را از آلودگی وب سایت و آپلود بدافزار جلوگیری میکند. بنابراین اسکریپت های هرزنامه هرگز از طریق وب سایت های آسیب پذیر به سرور نمی رسند.
  • استفاده از malware scanner مانند CXS
  • محدود کردن تعداد ارسال ایمیل های روزانه در Cpanel
  • تنظیم رکورد DMARC :  یک هشدار اولیه از هرزنامه احتمالی در سرور می دهد و ما را قادر می سازد تا اقدامات اصلاحی قبل از اینکه IP در لیست سیاه قرار گیرد را انجام دهیم.
  • تغییر IP ارسال کننده ایمیل در سرور : گاهی با تغییر IP سرویس ایمیل مشکل Spam شدن ایمیل های ارسالی موقتا برطرف خواهد شد.

 

      مواردی که احتمال spam شدن را افزایش میدهد:

  • ارسال به آدرس های غیرواقعی یا غیرقانونی و نامرتبط
  • ارسال تغداد زیاد ایمیل در یک زمان
  • ارسال محتوای غیرقانونی و نادرست
  • محتوای ارسالی/فایل html تشکیل دهنده‌ی ایمیل، استفاده از عنوان نامناسب ایمیل و امثال آن نیز تاثیر فراوانی در این موضوع دارند.(همانطور که در قانون CAN-SPAM آمده است ، خلاف قانون است که شخصی را با عنوان موضوع خود گمراه کنید تا وی را وادار به مشاهده پیام کند)
  • شما از کلمات Spam Trigger اسنفاده میکنید، مانند، حیرت آور(Amazing)- چک یا حواله(Check or money order) – اینجا کلیک کنید(Click here) و …
  • طبق قانون CAN-SPAM ACT گمراه کردن افراد با قرار دادن اطلاعات غیرواقعی در فیلد های “از” (from)، “به”(to) ، “پاسخ به شما”(reply-to) خلاف است مانند‍استفاده از موارد زیر، ایمیل از سمت رئیس جمهور – ارسال ایمیل از سمت دولت یا در پاسخ به کمک به ریشه کن کردن کرونا و ….
  • لینک‌ها و پیوست هایی که در این ایمیل‌ها وجود دارند توجه کنید، اگر محتوای ایمیل خطرناک تشخیص داده شود ایمیل spam می شود، مانند وجود Phishing در ایمیل یا پیشنهاد درخواست پول،  ترساندن یا تهدید کردن کاربر

خطای Unable to detect Apache version

Unable to detect Apache version from binary

در صورتی که پس در سرور WHM در سرویس apache با خطای زیر مواجه شدید.

Failed to get apache configuration: Unable to detect Apache version from binary
Failed to build Apache configuration file (/etc/apache2/conf/httpd.conf.work.699ccf6e)
Failed to get apache configuration: Unable to detect Apache version from binary

ابتدا از طریق ssh با دستور زیر نسخه apache سرور را پیدا کنید.

rpm -qa |grep ea-apache

در این مثال نسخه apache 2.4 در نظر گرفته شده است.

خروجی این دستور را کپی کنید، خروجی مقداری مشابه زیر خواهد بود.

ea-apache24-2.4.34-3.3.1.cpanel.x86_64

سپس با توجه به خروجی دستور اول، دستور زیر را اجرا کنید.

yum reinstall ea-apache24-2.4.34-3.3.1.cpanel.x86_64

 

مشکل در دریافت ایمیل در Cpanel

email problems using exim and cPanel 

در صورتی که مشکل دریافت ایمیل در Cpanel مواجه هستید یا ایمیل های شما با پیغام زیر یرگشت میخورند.

۵۵۰ The mail server could not deliver mail. The account or domain may not exist

ابتدا IP سرور ایمیل را بررسی کنید که در بلک لیست ها نباشد. از سایت زیر کمک بگیرید.

https://mxtoolbox.com/blacklists.aspx

در صورتی که مشکلی در IP سرور وجود نداشت بررسی کنید آیا رکورد mx در DNS سرور و تنظیمات مربوط به دامنه درست تنظیم شده است. اگر DNS سرور شما بروی سرور cPanel خود قرار دارد از قسمت Edit DNS Zone  رکورد mx دامنه سایت مورد نظر را بررسی و از وجود و صحیح بودن آن اطمینان حاصل کنید. برای بررسی صحت رکوردهای دامنه از جمله رکورد mx از سایت زیر کمک بگیرید.

http://intodns.com

گاهی ممکن است تنظیمات درست باشد اما مشکل در دریافت ایمیل وجود داشته باشد، به عنوان مثال گاهی تغییر نام دامنه هاست در cPanel ممکن است باعث مشکل در دریافت ایمیل شود. برای رفع مشکل دستورات زیر استفاده کنید.

/scripts/updateuserdomains
/scripts/mailperm
/scripts/mailtroubleshoot
/scripts/fixeverything
/scripts/eximup --force

مشکل Unable to read the User data files for username در دایرکت ادمین

 Unable to read the User data files for username Directadmin

در صورتی که با خطای بالا مواجه شدید اگر در سرور اطلاعات و دیتای حساس و ضروری ندارید دستورات زیر را اجرا کنید.

userdel -r username

 

اکانت مورد نظر حذف میشود، میتوانید آن را مجددا ایجاد و یا restorte کنید.

اگر اکانت شما دارای اطلاعا حساسی است یا یوزر داری مشکل admin میباشد دستور زیر را اجرا کنید.

cd /usr/local/directadmin/scripts
./fix_da_user.sh username user domain.com

بجای username نام کاربری و بجای نام دامنه اسم دامنه اکانت مورد نظر را وارد کنید ( برای یوزر admin الزامی برای وارد کردن نام دامنه نیست)

اگر با روش بالا مشکل حل نشد دستور زیر را بررسی کنید.

cd /usr/local/directadmin
./directadmin i

اگر دستور بالا در زمان اجرا با خطاهایی مانند Unable to write ip.list file مواجه شد ما باید فایل user.conf یورز مورد نظر را ویرایش و اصلاح کنید.
برای یوزر admin مسیر بصورت زیر خواهد بود.

/usr/local/directadmin/data/users/admin/user.conf

در نهایت directadmin را restart کنید، اگر directadmin شما start نشد log مربوط به directadmin را بررسی کنید.

محدود کردن ارسال ایمیل برای یک اکانت در Cpanel

تعداد ارسال ایمیل ساعتی برای همه اکانت ها در فایل زیر ذخیره می شود.
/var/cpanel/maxemailsperhour
برای محدود کردن یک اکانت و دامنه خاص در cpanel باید فایل زیر را ویرایش نمایید:
nano /var/cpanel/maxemails
و خطوط زیر را اضافه کنید.
domain.com=100
بجای domain.com نام دامنه مورد نظر را وارد کنید.
پس از اعمال و ذخیره تغییرات دستور زیر را اجرا کنید.

 

/scripts/build_maxemails_config

مسیر زیر را ویرایش کنید:

/var/cpanel/users/username

بجای username نام اکانت مورد نظر را وارد کنید.

مقدار MAX_EMAIL_PER_HOUR را به عدد مورد نظر تغییر دهید.

در انتها دستور زیر را اجرا کنید.

/usr/local/cpanel/scripts/updateuserdomains

 

بررسی و رفع مشکل Server Not Found

  • Server Not Found – error 404

گاهی ممکن است هنگام نمایش یک سایت با خطای Server Not Found مواجه شوید. برای بررسی علت و رفع مشکل مراحل زیر را دنبال کنید:

– فایروال سرور را بررسی نمایید و برای اطمینان فایروال را غیرفعال نمایید.
– فایروال سیستم خود را غیرفعال کنید.
– مطمئن شوید به proxy یا VPN متصل نباشید.
– فایل host سیستم خود را بررسی کنید.
– DNS  های کارت شبکه سیستم خود را تغییر دهید.
– resolver های سرور خود را تغییر دهید.
– مطمئن شوید record های DNS دامنه بدرستی تنظیم شده است. برای اینکار از سایت intodns.com استفاده کنید.
– فایل های temp و cache مرورگر خود را حذف کنید.
– نمایش سایت را از نقاط دیگر جهان بررسی نمایید. برای این کار از سایت check-host.net استفاده نمایید.
– از در دسترس بودن سرور میزبان سایت اطمینان حاصل کنید. از دستورات ping و telnet کمک بگیرید.

رفع مشکل suspend شدن اکانت در دایرکت ادمین


suspend
 account problem Directadmin

در صورتی که اکانت (سایت) شما در دایرکت ادمین بدون علت (مانند تمام شدن پهنای باند) مسدود می شود و مسدود شدن اکانت در دایرکت ادمین مکررا رخ میدهد باید اطمینان حاصل نمایید پهنای باند user و یا اکانت reseller یا مالک این user به اتمام نرسیده باشد. در صورتی که suspend شدن اکانت در دایرکت ادمین بدون علت اتفاق می افتد مسیر زیر را بررسی کنید.

وارد اکانت خود شوید (login کنید)

وارد قسمت domain setup شوید.

domain setup

در صفحه جدید بروی نام دامنه خود کلیک نمایید.

و تیک Same as Main Account برای گزینه Bandwidth  را فعال کنید و تغییرات را ذخیره نمایید.

modify domain

اضافه کردن SPF و DKIM رکورد برای تمام اکانت ها در Cpanel

Add SPF Records for all Accounts on cPanel Server

برای اضافه کردن SPF برای یک اکانت دستور زیر را استفاده کنید:

/usr/local/cpanel/bin/spf_installer username

به جای username نام user مورد نظر را وارد کنید.

برای اضافه کردن SPF برای تمام اکانت ها دستور زیر را استفاده کنید:

for USER in /var/cpanel/users/*; do /usr/local/cpanel/bin/spf_installer "${USER##*/}"; done

برای اضافه کردن DKIM برای تمام اکانت ها دستور زیر را استفاده کنید:

for USER in /var/cpanel/users/*; do /usr/local/cpanel/bin/dkim_keys_install "${USER##*/}"; done

خطای Invalid command ‘MaxRequestWorkers

Invalid command 'MaxRequestWorkers

در صورتی که با مشکل Invalid command 'MaxRequestWorkers در زمان recompile وب سرور apache مواجه شدید کافی است دستورات زیر را اجرا کنید:

cd /usr/local/directadmin/custombuild
./build rewrite_confs