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

خانه / WHM

WHM

نصب Imagick در cPanel

Install ImageMagick and Imagick on a cPanel

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

yum -y install ImageMagick-devel ImageMagick-c++-devel

 

سپس به WHM سرور خود لاگین کنید و در قسمت Module Installers به بخش PHP Pecl بروی manage کلیک کنید.

در کادر  Install a PHP Pecl عبارت imagick را وارد نمایید و بروی install Now کلیک کنید تا نصب انجام شود. توجه کنید در قسمت Select a PHP version نسخه مورد نظر PHP را انتخاب کنید.

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

How to prevent cPanel mails to go into spam folder

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

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

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

۱- تنظیم PRT 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 اعتماد نکنید. 

 

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

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

 

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

  • ارسال به آدرس های غیرواقعی یا غیرقانونی و نامرتبط
  • ارسال تغداد زیاد ایمیل در یک زمان
  • ارسال محتوای غیرقانونی و نادرست
  • وجود Phishing در ایمیل
  • پیشنهاد درخواست پول
  • ترساندن یا تهدید کردن کاربر
  • استفاده از عنوان نامناسب ایمیل

بک آپ گیری از تمام اکانت ها در سی پنل

create a full cpanel backup of all cpanel accounts

برای بک آپ گیری از تمام اکانت های cPanel میتوانید bash اسکریپت زیر را اجرا کنید.

for USER in /var/cpanel/users/*; do /scripts/pkgacct $USER ; done

کد بالا را در یک فایل با پسوند sh ( مثل bckacc.sh ) دخیره کنید و دسترسی لازم برای اجرا به آن بدهید. سپس کد زیر را از طریق Terminal اجرا کنید.

sh bckacc.sh


با اجرای دستور بالا از تمام اکانت ها بک آپ گیری و در مسیر /home سرور نگهداری میشود، قبل از اجرای دستور از وجود فضای کافی برای بک آپ گیری بروی سرور اطمینان حاصل کنید.


اگر میخواهید بک آپ ها پس از ایجاد به سرور دیگری از طریق دسترسی ssh منتقل شوند میتوانید از کد زیر کمک بگیرید:

for USER in `\ls -A1 /var/cpanel/users/`; do /scripts/pkgacct $USER ; rsync -aP --rsh='ssh -p227' /home/cpmove-$USER.tar.gz -e ssh root@destinationIP:/home/ ; rm -f /home/cpmove-$USER.tar.gz ; done



بجای destinationIP آدرس IP سرور مقصد و بجای ۲۲۷ پورت ssh سرور مقصد را وارد کنید.

برای بک آپ گیری از همه اطلاعات هاست ها بجز Home Directory میتوایند از دستور زیر در قسمت بک آپ گیری استفاده کنید.

/scripts/pkgacct --skiphomedir

 

اسکریپت Backup گیری و FTP از اکانت های cPanel را از لینک زیر مشاهده کنید.

اسکریپت Backup و FTP

در اسکریپت بالا تنها کافی است اطلاعات سرور FTP را در قسمت FTP server configuration ویرایش نمایید.

ریدایرکت ip سرور به دامنه سایت

Redirect IP address to Domain name

برای ریدایرکت کردن آدرس IP سرور لینوکسی به نام دامنه خود میتوانید از کد ریدایرکت در فایل htaccess کمک بگیرید.

وارد مسیر پیش فرض وب سرور خود شوید ( در سرورهای Directadmin و cPanel بصورت زیر است)

/var/www/html/

یک فایل با نام .htaccess ایجاد کنید و محتوای زیر را در آن قرار دهید. در قسمت HTTP_HOST باید IP سرور را وارد کنید و بجای domainname.com نام دامنه خود را قرار دهید.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ https://domainname.com/$1 [L,R=301]

 

  •  این آموزش تنها برای کاربرانی که از سرور مجازی یا اختصاصی استفاده میکنند قابل استفاده است و در هاست های اشتراکی قابل پیاده سازی نیست زیرا همه سایت های سرور از یک IP مشترک استفاده میکنند.

تنظیم پرمیژن اکانت ها در cPanel

script to fix permissions and ownership, on files and directories, for cPanel accounts

اسکریپت را در مسیر دلخواه در سرور خود از لینک زیر دانلود کنید:

https://serversetup.co/dl/fixperms.zip

فایل را از حالت فشرده خارج کنید و سطح دسترسی آم را ۷۵۵ قرار دهید.

chmod +x fixperms.sh

برای تنظیم permision و owner های یک یوزر سی پنل دستور زیر را در ssh اجرا نمایید.

sh ./fixperms.sh -a USER-NAME

بجای USER-NAME نام کاربری اکانت مورد نظر را وارد نمایید.

برای تنظیم permision و owner تمام اکانت ها دستور زیر را وادر نمایید.

sh ./fixperms.sh -all

میتوانید این فایل را در cron سرور جهت اجرای بصورت مداوم قرار دهید.

  • این اسکریپت توسط سرورستاپ بهینه سازی شده  است.  برای اطلاعات بیشتر مطلب “پرمیژن طلایی” را مطالعه کنید.

 

مشکل Timeout شدن وبمیل در cPanel

Cpanel/webmail timing out

گاهی ممکن است لاگین کردم در webmail سایت هایی که از کنترل پنل cPanel استفاده میکنند با مشکل روبرو شود و مدتی پس از اقدام به لاگین با timeout و خطاهای زیر مواجه شود.

login faild

connection to storage server failed

برای رفع این مشکل ابتدا تنظیمات فایروال سرور را بررسی نمایید و مطمئن شوید پورت های وب میل باز است، همچنین اگر از فایروال سخت افزاری استفاده میکنید مطمئن شوید محدودیتی در پورت های اعمال نشده باشد.

دستور زیر را در سرور تست کنید و مطمئن شوید مشکلی در ارتباط وجود ندارد.

telnet localhost 2095
telnet localhost 2096

مطمئن شوید IPv6 در تنظمیات ایمیل غیر فعال باشد، همچنین فایروال نسخه IPv6 در سرور فعال نباشد.( و یا در صورت فعال بودن تنظیمات دسترسی به پورت ها اعمال شده باشد)

service ip6tables stop

در Centos6

chkconfig ip6tables off

در Centos7

systemctl disable ip6tables

در صورت عدم رفع مشکل باید log های سرور را بررسی کنید.

/usr/local/cpanel/logs/login_log

خطای 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

 

نصب ماژول mongo برای php در cPanel

Install MongoDB PHP extension on cPanel/WHM Server

برای نصب ماژول Mongo بروی PHP در WHM باید به سرور ssh کنید زیرا این ماژول از طریق easy apache قابل نصب نیست.

برای نصب باید توابع popen و putenv بروی php باز باشد.

برای نصب بروی php 5.6 دستور زیر را اجرا کنید.

/opt/cpanel/ea-php56/root/usr/bin/pecl install mongo

برای نصب بروی php 7 و بالاتر دستور زیر را اجرا کنید.

/opt/cpanel/ea-php70/root/usr/bin/pecl install mongodb

 

مشکل در دریافت ایمیل در 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

خطای اضافه کردن addon domain در cPanel

  Cannot add a new addondomain in cPanel

اگر در زمان اضافه کردن addon domain به سی پنل با خطای زیر مواجه میشوید.

the domain is already pointed to an IP address that does not appear to use DNS servers associated with this server. Please transfer the domain to this servers nameservers or have your administrator add one of its nameservers to /etc/ips.remotedns and make the proper A entries on that remote nameserver.

وارد WHM سرور شوید و به قسمت Tweak Settings بروید و گزینه Allow Remote Domains را On کنید.