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

خانه / WHM

WHM

نصب memcache در cPanel

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

yum install libevent memcached libmemcached libmemcached-devel

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

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

نصب memcache در سی پنل

 

گزینه memcache و memcached را نصب کنید.

  • امکان نصب memcache از طرق easy apache نیز وجود دارد.

 

 

تغییر document root دامنه اصلی در cPanel

برای تغییر مسیر documnet root دامنه اصلی (main domain) در cPanel باید دسترسی به ssh سرور داشته باشید.
برای تغییر مسیر documnet root فایل زیر را ویرایش کنید.

/var/cpanel/userdata/username/mysite.com

بجای username نام کاربری اکانت و بجای mysite.com نام دامنه را وارد کنید.

در این فایل خط documentroot: را به مسیر مورد نظر تغییر دهید

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

/var/cpanel/userdata/username/domain_SSL

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

/scripts/rebuildhttpdconf
systemctl restart httpd

نصب 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 را انتخاب کنید.

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

یکی از دغدغه های همیشگی کاربران این است که چگونه میشود از اسپم شدن ایمیل های ارسالی از سرور و سایت جلوگیری کرد. بسیار مهم است ایمیل های ارسالی به کاربران به پوشه 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 در ایمیل یا پیشنهاد درخواست پول،  ترساندن یا تهدید کردن کاربر

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

create a full cpanel backup of all cpanel accounts

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

for user in `ls /var/cpanel/users | grep -v "\."`;do /scripts/pkgacct $user;done


یا

for backup in `\ls /var/cpanel/users/`; do /scripts/pkgacct $backup; 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