- 
	
			
				
					October 22nd, 2014, 14:10
				
			
			
				
					#1
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
 
			
				
				
				
					 خطای 500 internal server error خطای 500 internal server error
					
						
							بر روی سرور  لینوکس خود جهت امنیت بیشتر ، ماژول PHPSUEXEC نصب شده است . و سوالات و  اشکالاتی که اکثرا در مورد این پیکربندی بوجود می آید را برایتان ذکر می  کنم :
 
 
 با نصب این ماژول چه تفاوتی ایجاد شده است ؟
 
 
 در اکثر سایتها  هیچ تفاوتی ایجاد نمی شود . Phpsuecex برای هر CGI ( نظیر اسکریپت های perl  ) که همانند سرورهایی که آنرا نصب نکردند کار خواهد کرد و و درواقع هیچ  تغییری در کدنویسی برنامه برای شما لازم نیست بوجود بیاد .suEXEC ، امکان  اجرای اسکریپت ها تحت آپاچی بهمراه یک User Id در مقابل یک Apache User Id  را فراهم می نماید در حقیقت suEXEC این امکان را برای کاربران آپاچی فراهم  می نماید که قادر به اجرای برنامه های SSI و CGI تحت یک User Id متفاوت  نسبت به User Id مربوط به فراخوانی سرویس دهنده وب باشند.بدین ترتیب  تهدیدات امنیـتی کاهش و امکان نوشتن و اجرای برنامه های SSI و CGI اختصاصی  نوشته شده توسط مهاجمان ، حذف خواهد شد . حداکثر دسترسی که شما می توانید  به شاخه ها و فایلهای خود بدهید 755 می باشد که و دسترسی بیشتر موجب خطای  شماره 500 ( خطای اینترتال سرور ) درهنگام اجرا خواهد شد .
 
 
 اما من برای برنامه ای که استفاده می کنم ، شاخه ها باید دسترسی 777 داشته باشند !!!
 
 
 در این سرور با  نصب این ماژول دیگر نیازی ندارید !!! برنامه ها با پرمیشن 755 بازهم بدرستی  کار خواهند کرد . فقط مالکیت فایلها باید از حالت Nobody به نام کاربری  خود در سرور تغییر کند که چنانچه در این مورد مشکل داشتید ، با پشتیبانی  تماس بگیرید .
 
 
 باقی تنظیمات را می توانید در صفحه phpinfo ببینید .
 
 
 .htaccess
 چنانچه شما با  htaccess مقادیر php_value را تغییر داده اید ، روی این سرور با نصب این  ماژول به خطای 500 ( اینترنال سرور ) برمی خورید . کلیه خط های مربوط به  تغییرات php_value را در فایل htaccess باید پاک کنید و فایلی بنام php.ini  ایجاد کرده و مقادیر را به شکلی که می خواهید در آن تغییر دهید .
 
 
 من می خواهم PHP را بر روی سرور با تنظیمات دلخواه خود اجرا کنم
 
 
 شاید شما نیاز  داشته باشید که تنظیمات php را بر روی هاست خود با توجه به نیاز برنامه  تغییر دهید . این تنظیمات بر روی هر شاخه از هاستتان قابل تغییر است .
 
 
 مثلا می خواهید  register_globals را در هاستتان فعال کنید . کافیست فایلی بنام php.ini در  شاخه که برنامه اجرا می شود ، ایجاد کرده و این متن را بنویسید :
 
 
 کد:
 
 
 register_globals = On
 
 
 
 
 مقادیر مهمی که در php معمولا برنامه نویسان تغییر می دهند بشرح زیر است که شما می توانید در یک فایل php.ini قرار دهید :
 
 
 کد:
 
 
 register_globals = Off
 register_argc_argv = Off
 safe_mode = On
 magic_quotes_gpc = Off
 
 
 
 
 رفع اشکال در صورت بروز اشکال روی هاستتان :
 
 
 اسکریپت PHP در هاستتان اجرا نمی شود . مراحل زیر را دنبال کنید :
 1- بررسی کنید که  برنامه شما با دسترسی حداکثر 755 درحال اجرا باشد . چنانچه از دسترسی 777  استفاده می کند ، موجب بروز خطای 500 ( خطای اینترنال سرور ) را می دهد .  معمولا فایلهای اسکریپت را با دسترسی 644 استفاده می کنند .
 
 
 2- بررسی کنید که  شاخه ای برنامه در آن اجرا می شود و همچنین کلیه شاخه هایی که به  ایناسکریپت مربوط می شود ، دسترسی 755 داشته باشد .
 
 
 3- بررسی کنید که  مالکیت فایل با خودتان باشد ! احتمال دارد مالیک فایلهای شما بشکل nobody  باشد که در این صورت با ارسال مسیر اسکرپیت به پشتبانی ، مالکیت فایلها به  کاربری شما تغییر خواهد کرد .
 
 
 4- htaccess خود  را چک کنید . چنانچه در آن تغییراتی برای php_value صورت گرفته باید از این  فایل حذف گردد که همانطور پیش ار این گفته شد ، با اعمال تغییرات  php_value در فایل htaccess موجب خطای 500 خواهید شد . این تغییرات باید در  فایل php.ini اعمال گردد .( می توانید htaccess را حذف نمایید)
 
 
 
 
 
 
 
- 
    
    
    
    
    
        
            تعداد تشکر ها از dryahost به دلیل پست مفید 
        
    
 
 
 
- 
		
			
						
						
							October 22nd, 2014 14:10
						
					
					
						
							 # ADS
						
					
			 
 
- 
	
			
				
					October 23rd, 2014, 14:19
				
			
			
				
					#2
				
				
				
			
	 
		
			
			
				عضو انجمن
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : خطای 500 internal server error پاسخ : خطای 500 internal server error
					
						
							
	
		
			
			
				
					  نوشته اصلی توسط  dryahost  
 بر روی سرور  لینوکس خود جهت امنیت بیشتر ، ماژول PHPSUEXEC نصب شده است . و سوالات و  اشکالاتی که اکثرا در مورد این پیکربندی بوجود می آید را برایتان ذکر می  کنم :
 
 
 با نصب این ماژول چه تفاوتی ایجاد شده است ؟
 
 
 در اکثر سایتها  هیچ تفاوتی ایجاد نمی شود . Phpsuecex برای هر CGI ( نظیر اسکریپت های perl  ) که همانند سرورهایی که آنرا نصب نکردند کار خواهد کرد و و درواقع هیچ  تغییری در کدنویسی برنامه برای شما لازم نیست بوجود بیاد .suEXEC ، امکان  اجرای اسکریپت ها تحت آپاچی بهمراه یک User Id در مقابل یک Apache User Id  را فراهم می نماید در حقیقت suEXEC این امکان را برای کاربران آپاچی فراهم  می نماید که قادر به اجرای برنامه های SSI و CGI تحت یک User Id متفاوت  نسبت به User Id مربوط به فراخوانی سرویس دهنده وب باشند.بدین ترتیب  تهدیدات امنیـتی کاهش و امکان نوشتن و اجرای برنامه های SSI و CGI اختصاصی  نوشته شده توسط مهاجمان ، حذف خواهد شد . حداکثر دسترسی که شما می توانید  به شاخه ها و فایلهای خود بدهید 755 می باشد که و دسترسی بیشتر موجب خطای  شماره 500 ( خطای اینترتال سرور ) درهنگام اجرا خواهد شد .
 
 
 اما من برای برنامه ای که استفاده می کنم ، شاخه ها باید دسترسی 777 داشته باشند !!!
 
 
 در این سرور با  نصب این ماژول دیگر نیازی ندارید !!! برنامه ها با پرمیشن 755 بازهم بدرستی  کار خواهند کرد . فقط مالکیت فایلها باید از حالت Nobody به نام کاربری  خود در سرور تغییر کند که چنانچه در این مورد مشکل داشتید ، با پشتیبانی  تماس بگیرید .
 
 
 باقی تنظیمات را می توانید در صفحه phpinfo ببینید .
 
 
 .htaccess
 چنانچه شما با  htaccess مقادیر php_value را تغییر داده اید ، روی این سرور با نصب این  ماژول به خطای 500 ( اینترنال سرور ) برمی خورید . کلیه خط های مربوط به  تغییرات php_value را در فایل htaccess باید پاک کنید و فایلی بنام php.ini  ایجاد کرده و مقادیر را به شکلی که می خواهید در آن تغییر دهید .
 
 
 من می خواهم PHP را بر روی سرور با تنظیمات دلخواه خود اجرا کنم
 
 
 شاید شما نیاز  داشته باشید که تنظیمات php را بر روی هاست خود با توجه به نیاز برنامه  تغییر دهید . این تنظیمات بر روی هر شاخه از هاستتان قابل تغییر است .
 
 
 مثلا می خواهید  register_globals را در هاستتان فعال کنید . کافیست فایلی بنام php.ini در  شاخه که برنامه اجرا می شود ، ایجاد کرده و این متن را بنویسید :
 
 
 کد:
 
 
 register_globals = On
 
 
 
 
 مقادیر مهمی که در php معمولا برنامه نویسان تغییر می دهند بشرح زیر است که شما می توانید در یک فایل php.ini قرار دهید :
 
 
 کد:
 
 
 register_globals = Off
 register_argc_argv = Off
 safe_mode = On
 magic_quotes_gpc = Off
 
 
 
 
 رفع اشکال در صورت بروز اشکال روی هاستتان :
 
 
 اسکریپت PHP در هاستتان اجرا نمی شود . مراحل زیر را دنبال کنید :
 1- بررسی کنید که  برنامه شما با دسترسی حداکثر 755 درحال اجرا باشد . چنانچه از دسترسی 777  استفاده می کند ، موجب بروز خطای 500 ( خطای اینترنال سرور ) را می دهد .  معمولا فایلهای اسکریپت را با دسترسی 644 استفاده می کنند .
 
 
 2- بررسی کنید که  شاخه ای برنامه در آن اجرا می شود و همچنین کلیه شاخه هایی که به  ایناسکریپت مربوط می شود ، دسترسی 755 داشته باشد .
 
 
 3- بررسی کنید که  مالکیت فایل با خودتان باشد ! احتمال دارد مالیک فایلهای شما بشکل nobody  باشد که در این صورت با ارسال مسیر اسکرپیت به پشتبانی ، مالکیت فایلها به  کاربری شما تغییر خواهد کرد .
 
 
 4- htaccess خود  را چک کنید . چنانچه در آن تغییراتی برای php_value صورت گرفته باید از این  فایل حذف گردد که همانطور پیش ار این گفته شد ، با اعمال تغییرات  php_value در فایل htaccess موجب خطای 500 خواهید شد . این تغییرات باید در  فایل php.ini اعمال گردد .( می توانید htaccess را حذف نمایید)
 
 
 
 
 
 باسلام
 دوست عزیز تاپیک را باید در قسمت مربوطه ایجاد می کردید
 لطف کنن مدیران محترم انجمن زحمت انتقالشو به قسمت مربوطه بکشند
 به هر حال بسیار عالی بود
 تشکر فراوان
 
 
 
 
				
				
				
					
						ویرایش توسط sina.click : October 23rd, 2014 در ساعت 14:24
					
					
				  ..: فــروش سـرور مـجازی بــا مـنابع اخـتصاصـی از انگلیس، هلند، کانادا و فرانسه :.. wWw.Top-Vps.CoM
دارای نماد اعتماد الکترونیکی دو ستاره 
 
 
 
 
 
-