Setiap kali saya mengonfigurasi Apache di CentOS 7, sebagian besar waktu saya mendapatkan “(13) Permission denied: file permissions deny server access
” kesalahan seperti di bawah ini:
[Fri Nov 12 06:29:24.901157 2021] [core:error] [pid 8287] (13)Permission denied: [client 192.168.10.12:15979] AH00132: file permissions deny server access: /var/www/html/admin/images/logo.png
Cara memperbaiki izin file yang menolak akses server di Apache
Langkah 1: Periksa konfigurasi Apache di bawah ini yang akan memblokir akses ke semua file dan URL.
<Directory /> Order deny,allow Deny from all </Directory>
Sebaliknya, seharusnya seperti:
<Directory /> Order allow,deny Allow from all </Directory>
Langkah 2: Periksa Izin Baca/Tulis folder root situs web Anda dan file yang diperlukan oleh Apache. Untuk memberikan izin bagi Apache untuk membaca/menulis ke file/folder, jalankan perintah di bawah ini:
# chmod -R 755 /var/www/html-R opsi pada perintah di atas
akan memperbarui izin pengguna secara rekursif dari semua file &folder di lokasi root situs web Anda.
Langkah 3: Periksa kepemilikan folder/file root situs web . Kepemilikan harus dari Apache (www-data atau Apache). Pertama, cari tahu pengguna yang digunakan oleh proses Apache di sistem Anda dengan perintah berikut:
# egrep -iw --color=auto '^user|^group' /etc/httpd/conf/httpd.conf
atau
# ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
Sekarang ubah kepemilikan sesuai dengan perintah di bawah ini:
# chown -R www-data:root /var/www/html
atau
# chown -R apache:root /var/www/html
Langkah 4:Periksa SELinux (Linux yang Ditingkatkan Keamanan). Anda mungkin perlu menggunakan chcon
perintah untuk mengatur konteks keamanan direktori root situs web Anda seperti di bawah ini:
# chcon -R -h -t httpd_sys_content_t /var/www/html
Masalah terkait Apache SELinux serupa:
Gagal membuka streaming:Izin ditolak [Apache]