فواصل

حلول اخطاء ومشاكل Internal Server Error 500

كثيرا من أصحاب السيرفرات ما يعاني من المشكله المزمنه
Internal Server Error 500
هذه المشكله كثيرا ما تواجه اصحاب المواقع والسيرفرات وبالاخص
السيرفرات القائمه علي الموديل suphp او التي تعمل في بيئه cgi
هذا الخطأ قد يكون ناتج عن مشكلة ما داخل السيرفر او ناتجه من
عن مشكله ما داخل احد اليوزرات الموجوده بالسيرفر
بكل تأكيد يمكن حل المشكله بمجرد الرجوع الي ملف اللوج الخاص بالـ Apache
نقوم بتنفيذ الامر التالي لرؤيه الايرور لوج الخاص بالاباتشي والموجوده به سبب المشكله

tail -f /usr/local/apache/logs/error_log 

بعض الاسباب التي من الممكن ان تظهر لك والتي تسبب المشكله

1- أخطاء التصريحات

SoftException in Application.cpp:357: UID of script "/home/user/public_html/file.php" is smaller than min_uid 

SoftException in Application.cpp:422: Mismatch between target UID (511) and UID (510) of file "/home/user/public_html/file.php" 

SoftException in Application.cpp:264: File "/home/user/public_html/file.php" is writeable by others 

جميع هذه الاخطاء تأتي او تنتج عن مشكله في التصريحات او الصلاحيات الخاصه بالملفات
الموجود داخل الموقع او اليوزر وتنتج عن اما ان يكون الملف ممتلك لمستخدم اخر او له صلاحيات
لا تتيح للمستخدم بتشغيله وغير مسموح له بتنفيذه كما هو موجود بملف اعداد suphp.conf
حل هذه المشكله كالتالي
نقوم بتنفيذ الاوامر التاليه
مع مراعاة تغيير USER بـ اليوزر الخاص بالموقع الموجود به المشكله

find /home/USER/public_html/* -type d -exec chmod 755 {} \;

find /home/USER/public_html/* -type f -exec chmod 644 {} \;

في حال لم يتم اصلاح المشكله بالاوامر السابقه يمكنك تنفيذ الاوامر التاليه في الشل

cd /root
wget http://egprovider.com/Bash/fixpermissions.sh
./fixpermissions.sh USER

مع مراعاة تغيير USER بـ اليوزر الخاص بالموقع الموجود به المشكله

2- أخطاء ملف .htaccess

أذا كان السيرفر يعمل في بيئه CGI/suPHP فأنه لن يسمح بتفعيل او عدم تفعيل القيم والمتغيرات
الخاصه بأعدادات php في ملف .htaccess
لذا ستحتاج الي htscanner لكي تسمح للأباتشي بتحليل تلك المتغيرات وتغيرها مع ما يتوافق
مع اعدادات php.ini داخل مسار المستخدم نفسه
او انك تقوم بألغاء تلك المتغيرات نهائيا وحذفها من ملف .htaccess

بعض اخطاء ملف .htaccess

/home/user/public_html/.htaccess: Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration

 3- أخطاء الصلاحيات

أفتراضيا ملفات php و المجلدات الرئيسيه لليوزر لا يمكن ان تملك المجموعه او مستخدم اخر
تصريح الكتابه ولا يمكن ان تكون مملوكه ليوزر اخر علي نفس النظام غير اليوزر الذي يملك
المجلد الرئيسي الموجود به الملفات او المجلدات
بالاضافه الي ان suphp لا يسمح بتشغيل الملفات المطلوبه من خلال المتصفح من المواقع التي ليست داخل المجلد الرئيسي لليوزر
لذا لابد من التاكد من ان الاسكربتات او الملفات غير مملوكه لجروب او ليوزر اخر غير الاساسي
ويمكنك ان تعرف الخطأ من متابعه اللوج الخاص بـ suphp

/usr/local/apache/logs/suexec_log 

لذا ننصح بتعديل تلك الاعدادات داخل ملف suphp.conf

pico /home/cpeasyapache/src/suphp.conf

ثم تقوم بتعديل تلك القيم بالشكل التالي

; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false

اتمني ان اكون قد وفقت في الشرح
وتمنياتي بالتوفيق للجميع

مقالات ذات صلة

اضف رد