Sudah lama sejak saya menggunakan web server Apache httpd. Saya menjalankan server lokal untuk sebuah proyek dan ketika saya mencoba untuk meminta localhost / index.html, saya mendapatkan kesalahan 500 dan saya melihat ini di log kesalahan:
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /index.html
[Tue Jan 21 09:23:58 2014] [error] an unknown filter was not added: DEFLATE
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /favicon.ico
Sepertinya ada 2 kesalahan di sini di konfigurasi apache, satu terkait dengan "AuthType not set!" dan mungkin yang lain terkait dengan "filter tidak ditambahkan: DEFLATE". Saya tidak tahu apa artinya ini atau di mana harus mulai menggali.
Pencarian Google dasar mengungkapkan tautan ini yang menunjukkan bahwa pelakunya mungkin "Membutuhkan semua yang diberikan". Baris ini di httpd.conf saya mungkin terlibat.
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
Konfigurasi apache ini sebagian besar digunakan dalam produksi untuk proyek ini, jadi saya tahu ini berfungsi, hanya saja saat ini tidak ada di workstation saya. Apa artinya ini dan apa yang harus saya coba selanjutnya? Saya mencoba mengomentari "Wajibkan semua diberikan" dan memulai kembali apache tetapi tidak berhasil.
Mengikuti pertanyaan SO ini, saya juga memuat mod_authz_host
LoadModule authz_host_module modules/mod_authz_host.so
dan menambahkan "Izinkan dari semua", server restart ,. tapi masalahnya tetap ada. Masalah deflate tampaknya tidak terkait, dan mudah diselesaikan dengan menambahkan
LoadModule deflate_module modules/mod_deflate.so
Pertanyaannya tetap, bagaimana cara mengatasi kesalahan 500 ini?
[Tue Jan 21 09:44:20 2014] [crit] [client ::1]
configuration error: couldn't perform authentication.
AuthType not set!: /index.html
Masalahnya di sini dapat dirumuskan dengan cara lain: bagaimana cara membuat konfigurasi yang berfungsi baik di apache 2.2 dan 2.4?
Require all granted
hanya di 2.4, tetapiAllow all ...
berhenti bekerja di 2.4, dan kami ingin dapat meluncurkan konfigurasi yang berfungsi di keduanya.Satu-satunya solusi yang saya temukan, yang saya tidak yakin adalah yang tepat, adalah dengan menggunakan:
Ini akan menyelesaikan masalah Anda, atau setidaknya berhasil untuk saya. Sekarang masalahnya mungkin akan jauh lebih sulit dipecahkan jika Anda memiliki aturan akses yang lebih kompleks ...
Lihat juga pertanyaan yang cukup mirip ini . Wiki Debian juga memiliki instruksi yang berguna untuk mendukung 2.2 dan 2.4 .
sumber
Alternatifnya, solusi ini bekerja dengan Apache2 versi <2.4 serta> = 2.4. Pastikan modul "versi" diaktifkan:
Dan kemudian gunakan kode ini sebagai gantinya:
sumber
Hapus / komentari baris berikut dari file httpd.conf Anda (etc / httpd / conf)
Wajibkan semua diberikan
Ini diperlukan hingga Apache Versi 2.2 dan tidak diperlukan sejak saat itu.
sumber
Saya pikir Anda memiliki Apache versi 2.4.x.
Sudahkah Anda yakin bahwa Anda memuat 2 modul ini? - mod_authn_core - mod_authz_core
PS: Rekomendasi saya untuk otorisasi dan hak adalah (secara default):
sumber
httpd -l
?Anda dapat mencoba
sudo a2enmod rewrite
jika Anda menggunakannya di konfigurasi Anda.sumber