فایل های آپلود شده با اسکریپت های PHP متعلق به آپاچی در دایرکت ادمین
زمانی که PHP در تنظیمات پیش فرض خود قرار دارد, اسکریپتهای آن با کاربر آپاچی اجرا میشود. در این مقاله از سری مقالات آموزشی مبین هاست قصد داریم به نحوه بررسی فایل های آپلود شده با اسکریپت های PHP بپردازیم. تا انتهای این مطلب با ما همراه باشید.
همانطور که می دانید اگر فایلی با اسکریپت PHP آپلود یا ساخته شود, آن فایل به عنوان کاربر آپاچی ذخیره میشود.
اگر شما میخواهید که PHP به جای کاربر آپاچی با کاربر سیستم اجرا شود باید suPHP را نصب کنید.
suPHP یک گزینه اختیاری است که هنگام کانفیگ و نصب بیلد سفارشی میتوانید آن را انتخاب نمایید.
برای این کار, بعد از دستور “./build update_data” این دستورات را وارد نمایید:
# ./build set php5_cgi yes
# ./build set php5_cli no
# ./build all d
# ./build rewrite_confs
نکته: تمام لاگهای suPHP در این مسیر ذخیره می شوند:
# /var/log/suphp.log
اگر شما خطای “Internal Server Error” دریافت کردید, لاگ فایل را چک کنید تا دلیل را بفهمید! معمولا اگر دسترسیهای مالکیت اشتباه باشند, همچین خطتایی رخ میدهد.
توجه داشته باشید که توسط suPhp پوشهها نمیتوانند دسترسی ۷۷۷ داشته باشند. معمولا دسترسی ۷۵۵ بیشترین دسترسی برای پوشهها است (تا زمانی که پیاچپی به عنوان کاربر مینوسد, نیازی به دسترسی ۷۷۷ نیست!)
در فایلهای آپلود شده، فایل ها نباید بیشتر از ۶۴۴ باشند, اما فایلهای پیاچپی میتوانند تا زمانی که توسط کاربر در حال خواندن هستند ۶۰۰ باشند.
تمام فایلها/پوشهها باید تغییر کاربر (chown) داده شوند به کاربر مورد نظر و نه کاربر آپاچی.
مهم: توجه کنید که safe_mode و open_basedir فقط به پیاچپی CLI داده شوند و نه به suPhp.
شاید شما نیاز داشته باشید تا برنامههای وب را درصورتی که به دلیل مالکیت آنها به مشکل خوردید بازنویسی کنید. برای مثال:
# ./build roundcube
# ./build squirrelmail
# ./build phpmyadmin