Konfigurasi CentOS Apache HTTPD (403 Dilarang)


8

Inilah yang saya miliki di httpd.conf saya

<VirtualHost *:80>
        ServerAdmin spero78@spero78.com
        ServerName mcmoddr.com
        ServerAlias www.mcmoddr.com
        DocumentRoot /home/mcmoddr/www/
        ErrorLog /mcmoddr/logs/error.log
        CustomLog /mcmoddr/logs/accesslog combined
</VirtualHost>

Ketika mengunjungi situs ini, saya mendapatkan 403 Forbidden error, File-file tersebut ditambahkan dengan vsftpd dan memiliki izin drwxr-xr-x

Jawaban:


12

Anda menggunakan instalasi stok CentOS, jika itu benar, periksa apakah SELinux dalam mode Penegakan

getenforce

jika hasilnya "Menegakkan"

ubah sementara untuk permisif

setenforce 0

dan coba lagi, Anda juga dapat memandu kondisi konten web ke file di direktori home Anda.


Ini berhasil dalam kasus saya. Tetapi jika saya kemudian memperkuat lagi (dengan setenforce 1 ) kesalahan 403 tidak muncul lagi, meskipun konfigurasinya sama seperti sebelumnya, ketika digunakan untuk muncul.
— damix911

ini tidak lebih dari hack kotor. Ini tentu bukan cara yang tepat untuk menonaktifkan fitur keamanan. Anda harus mengonfigurasinya.
— The Fool

9

Nonaktifkan SELinux atau jalankan di ROOT

setsebool -P httpd_enable_homedirs on
chcon -R -t httpd_sys_content_t /home/
chcon -R -t httpd_sys_rw_content_t /home/

5

Jawaban Freaktor untuk 'setenforce 0' berhasil "bekerja" untuk saya (terima kasih!)

Tetapi agar tetap berfungsi dan mengaktifkan kembali SELinux, saya harus melakukannya

sudo chcon -Rv --type=httpd_t /path/to/my/files

... ini memberikan direktori saya dan semua file dan direktori di dalamnya konteks keamanan "httpd_t" yang merupakan cara kikuk mengatakan SELinux membiarkan httpd membaca file-file itu.

mengaktifkan selinux lagi sesederhana

setenforce 1

2
Ini hanya sementara; setiap file baru yang Anda buat akan memiliki konteks aslinya dan SELinux akan tetap menolak akses ke file baru. Untuk solusi permanen, lihat jawaban ini .
— Michael Hampton

3

Anda mungkin memiliki tolak semua tempat di konfigurasi global. Coba tambahkan ini ke vhost stanza:

<Directory /home/mcmoddr/www>
  Order allow,deny
  Allow from all
</Directory>

1, Juga @ Spero78 harus membuat berkas memastikan tidak ada .htaccess di root vhost Anda dengan arahan membatasi

0

Anda harus menggunakan <Directory>wadah seperti yang disebutkan di atas.

Dan kemudian Anda perlu memeriksa dari DocumentRootjalur Anda , Setiap direktori harus memiliki izin baca sehingga apache pengguna layanan dapat mengakses.

Anda dapat memeriksa menggunakan ls -ld


-1

Silakan tambahkan baris di bawah ini dalam kode Anda yang ada.

restorecon -r /home/mcmoddr/www/

Itu harus memperbaiki masalah Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.