How to enable user directory for Apache in SELinux


  • در صورتی که SELinux فعال باشد ، صفحات مربوط به کاربران با پیغام خطا (forbidden) مواجه می‌شوند.
  • راه‌کار ساده خاموش کردن SELinux است.
  • راه‌کار درست اعمال تنظیمات صحیح است.
  • علت به وجود آمدن این مشکل یا علت جلوگیری کردن SELinux از نمایش صفحات کاربران درون وب سرور Apache این است که پوشه‌ی public_html یا پرونده‌های درون آن حاوی Context صحیح نیستند.
  • به صورت معمول به ساختن یک پرونده یا پوشه درون Home Directory ، به صورت پیش‌فرض برای بخش Type یک Context با نام user_home_t در نظر گرفته می‌شود که کارکتر t به منظور Type می‌باشد.
  • حال در صورتی که پوشه‌ی public_html یا پرونده‌های درون آن دارای این Context باشند ، وب سرور Apache اجازه‌ی دسترسی به آن‌ها را نخواهد داشت.
  • برای حل این مشکل نیاز است تا Context بخش Type از حالت پیش‌فرض که user_home_t می‌باشد به httpd_sys_content_t تغییر یابد.
  • برای این منظور به صورت زیر عمل نمایید.

  • نکته : با فعال بودن SELinux و اعمال تغییرات بالا ، زمانی که کاربر پرونده‌های دیگری درون public_html ایجاد نماید ، Context بخش Type آن پرونده‌ها به صورت خودکار بر روی httpd_sys_content_t تنظیم خواهد شد.
  • برای مشاهده‌ی تغییرات به صورت زیر عمل نمایید.


  • تشت شده بر روی CentOS 5.8