خطای Too many open files در MySQL

گاها ممکنه پیش اومده باشه هنگام کار با MySQL خصوصا تو سرورهای سی‌پنلی خطایی به شکل زیر دریافت کرده باشید:

Error    : Got error 24 "Too many open files" from storage engine MyISAM

برای رفع این خطا اول وارد MySQL shell بشید ( با تایپ دستور mysql روی شل لینوکس) و دستور زیر رو اجرا کنید تا مشخص بشه محدودیت open files چقدر هست:

SHOW VARIABLES LIKE 'open_files_limit';

خروجی این دستور چیزی مشابه زیر خواهد بود:

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 10000 |
+------------------+-------+
ادامه خواندن خطای Too many open files در MySQL

رفع اشکال lfd on HOSTNAEM: Email queue size alert

اگر احیانا از cPanel و میل سرور exim استفاده می‌کنید و روی این‌ها lfd نصب کردید ممکنه گاها پیام‌هایی به شکل زیر از lfd دریافت کنید:

 
lfd on HOSTNAME: Email queue size alert
Time: Mon Apr 6 14:41:15 2020 +0100

The exim delivery queue size is 1049

خب همونطور که مشخصه صف ایمیل شما پر شده، راه حل ساده برای رفع این مشکل مراجعه به گزینه Mail Queue Manager تو پنل WHM، مشاهده علت پر شدن صف ایمیل، رفع اون و حذف ایمیل‌های اضافی هست، اما گاها پیش میاد که شما وارد این بخش می‌شید اما هیچ ایمیلی نمی‌بینید.

در این حالت احتمالا شما قبلا ایمیل‌ها رو از صف پاک کردید اما id پیام‌ها از لاگ‌های exim حذف نشده. برای رفع این مشکل کافیه دستور زیر رو اجرا کنید.

exim -bp | exiqgrep -i | xargs exim -Mrm

دقت داشته باشید با اجرای این دستور همه ایمیل‌های توی صف exim پاک خواهند شد، پس بهتره وقتی دستور رو اجرا کنید که پیام حساسی توی صف نباشه. مثلا نیمه‌های شب.

برای این که ببینید در حال حاضر چه تعداد ایمیل در صف exim دارید هم می‌تونید از دستور زیر استفاده کنید:

exim -bpc

نمایش IP صحیح بازدیدکنندگان در Engintron

درود بر شما

همونطور که احتمالا اطلاع دارید Engintron یک ماژول از وب سرور انجین ایکسه که برای استفاده از این وب سرور روی سرورهای سی‌پنلی ساخته شده که به عنوان ریورز در کنار آپاچی پرفورمنس نسبتا مناسبی رو ارائه می‌ده.

ممکنه برای شما هم پیش اومده باشه که تو لاگ‌های آپاچی دیده باشید که به جای آی‌پی همه بازدیدکننده‌ها آی‌پی سرور درج شده باشه و کدهای php مثل کد زیر هم به جای برگردوندن آی‌پی بازدیدکننده آی‌پی سرور رو نمایش بدن.

$_SERVER['REMOTE_ADDR']

برای رفع این مشکل دو اقدام باید انجام داد،

اول از طریق EasyApache در پنل WHM باید ماژول‌های آپاچی mod_remoteip و mod_cloudflare رو فعال کنید.

سپس فایل زیر رو ادیت کنید:

nano /etc/apache2/conf.modules.d/370_mod_remoteip.conf

محتوای این فایل باید به صورت زیر باشه:

# Enable mod_remoteip
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader        X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1 192.168.1.1 192.168.1.2

تو کدهای بالا به جای 192.168.1.1 باید آی‌پی سرورتون رو وارد کنید و اگر IP اختصاصی هم دارید برای اکانتی به جای 192.168.1.2 وارد کنید، اگر هم آی‌پی اشتراکی یا اختصاصی دیگه‌ای ندارید که نیازی نیست چیز دیگه‌ای اضافه بشه.

مورد دیگه‌ای هم که باید مدنظر داشته باشید اینه که با فعال کردن mod_cloudflare باید کانفیگ‌های زیر به مسیر /etc/nginx/nginx.conf اضافه بشه، اگر نبود به صورت دستی اضافه کنید تا آی‌پی بازدیدکننده‌های سایت‌هایی که از کلودفلر استفاده می‌کنن هم به درستی لاگ بشه.

    # CloudFlare IPs
    # List from: https://www.cloudflare.com/ips-v4
    set_real_ip_from 103.21.244.0/22;
    set_real_ip_from 103.22.200.0/22;
    set_real_ip_from 103.31.4.0/22;
    set_real_ip_from 104.16.0.0/12;
    set_real_ip_from 108.162.192.0/18;
    set_real_ip_from 131.0.72.0/22;
    set_real_ip_from 141.101.64.0/18;
    set_real_ip_from 162.158.0.0/15;
    set_real_ip_from 172.64.0.0/13;
    set_real_ip_from 173.245.48.0/20;
    set_real_ip_from 188.114.96.0/20;
    set_real_ip_from 190.93.240.0/20;
    set_real_ip_from 197.234.240.0/22;
    set_real_ip_from 198.41.128.0/17;
    # List from: https://www.cloudflare.com/ips-v6
    set_real_ip_from 2400:cb00::/32;
    set_real_ip_from 2405:8100::/32;
    set_real_ip_from 2405:b500::/32;
    set_real_ip_from 2606:4700::/32;
    set_real_ip_from 2803:f800::/32;
    set_real_ip_from 2c0f:f248::/32;
    set_real_ip_from 2a06:98c0::/29;

    # Replace with correct visitor IP
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;

و پایان!

خطای sender verify fail در سی‌پنل

درود بر شما

لکن اگر مثل ما نیم روزی روی تنظیم اکانت ایمیل‌ها روی اوتلوک (خصوصی روی سرورهای سی‌پنلی) خطایی مطابق زیر ملاحظه فرمودید:

"Sending' reported error (0x800CCC65) : 'Your outgoing (SMTP) e-mail server has reported an internal error. If you continue to receive this message, contact your server administrator or Internet service provider (ISP). The server responded: 503 Valid RCPT command must precede DATA'"

و روی لاگ فایل وب سرور اگزیم که با دستور زیر قابل بررسیه:

tail -f /var/log/exim_rejectlog 

خطاهایی مثل زیر ملاحظه فرمودید:

 sender verify fail for : No such person at this address.
F= A=dovecot_login:test@farshid.xyz rejected RCPT : Sender verify failed

لکن موقتا می‌تونید وارد WHM و سپس Exim Configuration Manager بشید و گزینه Sender Verification رو روی off بذارید و تنظیمات رو ذخیره کنید تا کانفیگ exim ریبیلد و ریستارت بشه.

غیرفعال بودن این گزینه می‌تونه مشکل آفرین باشه. بعدا که دلیل اصلی خطا مشخص شد غیرفعالش کنید.

و تمام

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

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

طبیعتا تنها راه انجام این انتقال اینه که سرور جدیدی با کنترل‌پنل دایرکت‌ادمین ستاپ بشه و اکانت‌ها از سی‌پنل به دایرکت ادمین منتقل و ریستور بشن.

خبر خوب این که دایرکت‌ادمین اخیرا اسکریپت تبدیل بکاپ سی‌پنل به دایرکت‌ادمین رو تو نسخه جدیدش اضافه کرده و اگر شما فول بکاپ سی‌پنل رو با فرمت اسم cpmove-user.tar.gz روی دایرکت‌ادمین ریستور کنید، بصورت خودکار به فول بکاپ دایرکت‌ادمین تبدیل و ریستور می‌شه.

یک راه انتقال اینه که از همه اکانت‌های سی‌پنل فول بکاپ بگیرید، به یکباره همه رو به سرور دایرکت‌ادمین انتقال بدید و در نهایت همه اکانت‌ها رو یک جا ریستور بزنید.

این کار اشکالاتی داره…

ادامه خواندن اسکریپت انتقال اکانت‌های سی‌پنل به دایرکت‌ادمین

نمایش یک وب‌سایت برای IP اشتراکی در سی‌پنل

اگر روی سی‌پنل بیش از یک IP اشتراکی برای سایت‌ها داشته باشید، ممکنه یکی از IPهای اشتراکی به جای لود دیفالت پیج سی‌پنل که تو آدرس cgi-sys/defaultwebpage.cgi قرار داره، یکی از سایت‌های سرور رو لود کنه. این مورد می‌تونه اشکالاتی از جمله افت سئو برای باقی سایت‌های روی اون IP ایجاد کنه.

برای رفع این مشکل فایل کانفیگ آپاچی که در مسیر زیر قرار داره رو با یک ویرایش‌گر مثل nano باز کنید:

/usr/local/apache/conf/httpd.conf

و با کلیدهای ctrl+w که برای سرچ در nano بکار می‌ره دنبال ویرچوال هاست مربوط به هاست نیم بگردید. فرضا اگر هاست نیم من server1.farshid.xyz باشه، باید دنبال بخشی از کد که به صورت زیر هست باشم:

<VirtualHost 1.2.3.4:80>
    ServerName server1.farshid.xyz
    DocumentRoot /var/www/html
    ServerAdmin server1@farshid.xyz
    # Global DCV Rewrite Exclude
    <IfModule rewrite_module>
    RewriteOptions Inherit
    </IfModule>
ادامه خواندن نمایش یک وب‌سایت برای IP اشتراکی در سی‌پنل

عدم نمایش Optimize Website در سی‌پنل

لکن ممکن است هنگام مراجعه به سی‌پنل با جای خالی آیکن Optimize Website که در تب Software قرار دارد مواجه شوید، ولو این که این آپشن رو در تمامی featureهای WHM هم فعال کرده باشید.

علت عدم نمایش این آپشن فعال نبودن deflate_module در سی‌پنل شماست. کار این ماژول اینه که امکان فشرده‌سازی صفحات وب رو در لینوکس فراهم می‌کنه. برای فعالسازی این ماژول از EasyApache روی WHM می‌تونید اقدام کنید.

توضیحات لازم در خصوص ماژول‌های آپاچی در سی‌پنل:

https://documentation.cpanel.net/display/EA/Apache+Modules