apache pada centos 5.6 memberi saya izin ditolak kesalahan

10

Saya menjalankan apache pada centos 5.6 dan setiap kali saya mencoba memuat skrip php di direktori mana pun, selain / var / www / html (direktori root default apache) itu memberi saya izin kesalahan yang ditolak.

Namun ketika saya memeriksa izin dir root baru saya (/ var / www-dev) terhadap dir default (/ var / www / html), mereka cocok secara identik. keduanya mengatakan: root: root 755

Saya bahkan mencoba mengubah kepemilikan menjadi apache: apache, dan masih mendapat kesalahan yang sama

Tetapi ketika saya mengubah konfigurasi apache kembali itu dir root default (/ var / www / html) semuanya berfungsi.

Apakah saya melakukan sesuatu yang salah?

Ini adalah pengaturan yang saya ubah:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Catatan: saya memulai ulang apache setiap kali saya mengubah konfigurasi dan izin apache.

juga: saya juga mengaktifkan REMI dan EPEL

koeder
sumber
Apakah SELinux diaktifkan?
Bart De Vos
@TiZon saya tidak percaya begitu. haruskah demikian?
koeder
Bisakah Anda memberi kami pesan yang tepat? Apakah ini "izin ditolak" berasal dari sistem file atau langsung dari apache (misalnya oleh beberapa perintah Order)? Dan apakah ada pesan di file error.log?
Raffael Luthiger
Dan periksa apakah Anda memiliki file .htaccess di dua subdirektori tersebut.
Raffael Luthiger
1
Terima kasih @TiZon! SELinux, diaktifkan. Setelah saya menonaktifkannya mengedit file / etc / selinux / config, aplikasi web saya dapat memuat di direksi lain.
koeder

Jawaban:

11

Biasanya yang datang dari Selinux tidak memberikan akses ke folder. melakukan

ls -alZ /var/www/

dan jika folder html tidak memiliki konteks system_u: object_r: httpd_sys_content_t, perbaiki dengan chcon

chcon -v -R --type=httpd_sys_content_t /var/www/html

http://wiki.centos.org/HowTos/SELinux

Julien Vehent
sumber
Terima kasih @ Julien Vehent! Saya akan memberi Anda jawaban karena metode Anda memungkinkan saya untuk mengedit izin SELinux pada folder tertentu daripada menonaktifkan SELinux secara bersamaan. Terima kasih banyak. Ini berhasil! dan menyelamatkan saya sakit kepala.
koeder