Saya memiliki instalasi baru Apache2 pada pengujian Debian dan mengkonfigurasi virtual host di direktori seperti ini:
<Directory "/path/to/project">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
Namun itu menunjukkan saya kesalahan Terlarang 403 ketika saya mengaksesnya dan log kesalahan menunjukkan:
[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file
Mengapa ini menunjukkan "hasil dari semua Persyaratan ditolak: ditolak" jika saya menggunakan "Perlu semua yang diberikan" ?
File-file tersebut dapat dibaca oleh setiap pengguna dan kalau-kalau saya mencoba mengubah pemilik ke Apache (www-data) tanpa keberuntungan. Juga, host default pada http://localhost
berfungsi normal dan phpmyadmin http://localhost/phpmyadmin
juga berfungsi.
Semua bantuan yang saya temukan di Internet adalah tentang mengganti arahan Pesanan dengan Persyaratan. Saya sudah melakukannya. Apa yang bisa menjadi masalah sekarang?
sumber
Jawaban:
Berikut adalah dua hal untuk dicoba:
1) Jalankan
apachectl -t
untuk memeriksa sintaks file Anda valid.2) Jalankan
apachectl -S
untuk menunjukkan file mana yang sedang diuraikan.Misalnya, Anda mungkin mengedit /usr/local/etc/apache2/2.4/httpd.conf dan apakah itu benar? ... tetapi jika Anda menjalankan apachectl -S Anda mungkin melihat:
yaitu. Tuan rumah virtual mengesampingkan httpd.conf Anda, dan mungkin berisi sendiri
Require all denied
atau serupa.sumber
Anda telah mengatur otorisasi, tetapi tidak ada otentikasi. Jadi, sementara 'Memerlukan semua yang diberikan' akan memberikan akses semua pengguna terotentikasi, pengguna Anda tidak benar-benar mengotentikasi.
sumber
Require all granted
secara khusus memungkinkan semua akses dan tidak memerlukan otentikasi apa pun. Tidak ada gunanya mengautentikasi ketika Anda secara metaforis membuka pintu dengan lebar.Karena Anda menggunakan
AllowOverride All
arahan, Anda mungkin juga memiliki.htaccess
file/path/to/project/
. Yang ini mungkin berisi arahan utama.Periksa juga jika Anda tidak memiliki beberapa parameter lain dalam VHost untuk dicontoh.
sumber
Setelah menginstal Wampserver 32, saya memiliki masalah yang sama dengan ditolak oleh Apache.
Saya telah memeriksa dan mencoba memodifikasi
httpd.conf
file dengan berbagai cara selama 3 hari tanpa hasil, berkeliling tutorial Apache dan forum Internet dengan kesalahan terkenal:Saya cukup yakin saya tidak mendefinisikan VirtualHost dan tidak ada yang terlihat di file httpd.conf.
Akhirnya, saya mengkonfigurasi server untuk file kesalahan "debug", yang memberi saya pesan yang lebih menarik:
yang pada gilirannya membawa saya ke pos ini.
Dan itu dia, tersembunyi di dalam
C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conf
file: VirtualHost yang tidak diinginkan dengan "Memerlukan lokal" eksplisit yang tentu saja menolak semua pertanyaan saya dari luar server.Sekarang, saya telah mengosongkan file ini sampai saya mungkin memerlukan VirtualHost, dan itu berfungsi dengan baik. Pada akhirnya, saya merasa agak aneh dari Wampserver untuk tidak hanya melakukan pra-konfigurasi file ini tanpa memberi tahu pengguna tetapi untuk menetapkan nilai default sehingga "server" tidak dapat melayani apa pun.
sumber