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

خانه / Admin Level

Admin Level

آموزش رفع خطای ۵۰۰ Internal Server Error

How to Fix 500 Internal Server Error

خطای Internal Server Error با کد خطای ۵۰۰ یکی از رایج ترین و در عین حال پیچیده ترین خطا ها برای کاربران وب سایت می باشد…..

 

  •  اولین و مهمترین قدم بررسی لاگ های وب سایت است، اگر از دایرکت ادمین یا سی پنل استفاده میکنید ابتدا error_log ها را بررسی کنید، ممکن است علت خطا در error_log ها مشخص شود، اگر توانایی و تجربه کافی در لاگ خوانی ندارید از مدیر سرور خود کمک بگیرید.
  • فعال کردن حالت debug یا نمایش خطا در وب سایت، تمام سایت سازها مانند وردپرس یا پرستاشاپ در تنظیمات خود امکان فعال سازی نمایش خطا در مرورگر را دارند، میتوایند حالت debug را فعال کنید و آدرس داری مشکل را refresh کنید تا خطا نمایش داده شود، به عنوان مثال برای وردپرس از طریق فایل wp-config.php میتوانید debug را true کنید.
  • بررسی فایل htaccess
    یکی از رایج ترین دلایل خطای ۵۰۰ فایل .htaccess در مسیر مربوط است، برای اطمینان این فایل را rename کنید و مجددا بررسی نمایید، در صورتی که با rename کردن فایل .htaccess مشکل برطرف شد، کدهای داخل این فایل با تنظیمات سرور همخوانی ندارد یا اشتباه است، برای راهنمایی و رفع مشکل با مدیر سرور خود در ارتباط باشید.
  • ممکن است پلاگین ها یا ماژول ها باعث این مشکل شده باشند، مثلا در وردپرس یک پلاگین میتواند علت مشکل باشد، بنابراین میتوانید plugin ها را غیرفعال کنید و مجددا بررسی کنید.
  • یکی از دلایل رایج دیگر خطا نسخه php می باشد، ممکن است اسکریپت یا برنامه سایت شما به نسخه خاصی از php نیاز داشته باشد و اگر نسخه صحیح را برای سایت خود انتخاب نکنید با خطای ۵۰۰ مواجه میشوید.
  • برخی از CMS ها زمانی که فضای هاست شما پر می شود خطای ۵۰۰ را بروی سایت نمایش میدهد، این اتفاق در پرستاشاپ رخ میدهد، پس حتما از طریق کنترل پنل فضای هاست خود را کنترل و بررسی کنید.
  • گاهی ممکن است تنظیمات نادرست php مانند memory_limit یا php time out به اندازه لازم و مناسب تعریف نشده باشد.
    پشتیبانی سرورستاپ آماده راهنمایی و کمک به شما در زمینه رفع مشکلات سایت و سرور می باشد.

 

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

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 ویرایش نمایید.

مشکل 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

نصب ماژول 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

 

مشکل 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 را بررسی کنید.

تغییر زمان TTL در دایرکت ادمین

در دایرکت ادمین امکان تنظیم زمان TTL برای سرویس DNS از طریق کنترل پنل وجود ندارد، اما میتوان از طریق تغییر در مقادیر پیش فرض از طریق خط فرمان تغییرات مورد نظر را انجام داد.

برای این منظور بصورت زیر عمل کنید.

cd /usr/local/directadmin/data/templates/custom
cp ../named.db .
nano named.db

و مقدار زیر را به دلخواه تنظیم کنید.

|?A_TIME=14400|

در صورتی که میخواهید فقط برای یک دامنه تنظیمات را اعمال کنید قبل از عبارت

$TTL 14400

و عبارت زیر را با توجه به نام دامنه خود تنظیم کنید.

|*If DOMAIN="yourcustomdomain.com"|
|?A_TIME=3600|
|*endif|
دستور بالا مقدار تمام A رکوردها دامنه را تنظیم میکند.

 

ابزار مانیتورینگ پهنای باند و ترافیک و I/O دیسک در لینوکس

Live bandwidth monitor for network and disk I/O

گاهی اوقات بسیار مفید است بدانید دقیقا چه مقدار پهنای باند شبکه از یک میزبان خاص استفاده می کند و یا چه مقدار ترافیک توسط Gateway  استفاده میشود. به عنوان یک ابزار برای بررسی سریع فعالیت شبکه، ابزاری بهتر از bwm-ng پیدا نمیکنم.

Bandwidth Monitor NG یک برنامه نظارت بر پهنای باند ساده  است که می تواند از طریق کنسول در سیستم عامل لینوکس، BSD و سولاریس اجرا شود.

برای نصب این ابزار (در Centos) کافی است از دستور زیر کمک بگیرید:

yum install bwm-ng

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

bwm-ng

برای مشاهده مقادیر مصرف بر اساس معیارهای بالاتر مانند مگابایت از سوییچ -d  استفاده کنید.

bwm-ng  -d

برای مشاهده ترافیک تمام interface  ها از سوییچ -a  استفاده نمایید.

bwm-ng  -a

برای نمایش و جمع آوری امار در بازه زمانی مشخص بر حسب میلی ثانیه ( مقدار پیش فرض ۵۰۰msec)  سوییچ -t

bwm-ng  -t  ۰٫۵

برای مشاهده I/O دیسک دستور زیر را اجرا کنید.

bwm-ng -i disk

تغییر مسیر root دایرکتوری برای subdomain و addon در cPanel

cpanel subdomain folder outside of public_html

برای تغییر دایرکتوری اصلی root در subdomain و addon domain در cPanel باید این قابلیت در WHM فعال شود.

به مسیر زیر بروید:

WHM >> Home >> Server Configuration >> Tweak Settings

 

 ویژگی Restrict document roots to public_html را off کنید.

اتصال به دیتابیس از راه دور در DirectAdmin

Connect to your MySQL database from a remote connection

برای اتصال از راه دور به صورت remote به دیتابیس در دایرکت ادمین وارد کنترل پنل شوید.

در قسمت دیتابیس ها، دیتابیس مورد نظر خود را انتخاب کنید و سپس در قسمت Access Hosts میتوانید IP ها مورد نظر جهت دسترسی از راه دور را اضافه کنید.

در صورت استفاده از % تمام IP ها اجازه دسترسی خواهند داشت.

فراموش نکنید پورت mysql را در فایروال باز کنید. پورت پیش فرض ۳۳۰۶

عدم مشاهده اکانت در List Accounts در سی پنل

Missing account on the “List Accounts” in the WHM on a cPanel server

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

/etc/trueuserdomains
/etc/userdomains
/var/cpanel/users/USERNAME
/etc/apache2/conf/httpd.conf

به جای USERNAME نام کاربری را وارد کنید.

در دو فایل اول باید خطی مانند زیر وجود اشته باشد:

domain.com: username

که domain.com نام دامنه و username نام کاربری اکانت است.

در فایل سوم باید خطوط زیر موجود باشد:

DNS=domain.com
USER=username
IP=ipaddress
OWNER=root(or reseller owner)

که شامل نام دامنه، نام کاربری، IP و نماینده مالک یوزر می باشد. مطمئن شوید این ۴ خط در این فایل بصورت صحیح وجود داشته باشد.

فایل httpd.conf هم شامل تنظیمات آپاچی هر یوزر است بنابراین یوزر مورد نظر باید در این فایل دارای تنظیمات صحیح و مشابه سایر اکانت ها باشد. در صورت وجود مشکل و یا نیاز به ایجاد مجددا این فایل دستور زیر را اجرا کنید..

/scripts/rebuildhttpdconf

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

/scripts/updateuserdomains