Cấu hình HTTPD của CentOS (403 Bị cấm)


8

Đây là những gì tôi có trong httpd.conf của mình

<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>

Khi truy cập trang web của chúng tôi, tôi gặp lỗi 403 Bị cấm, Các tệp được thêm bằng vsftpd và có quyền drwxr-xr-x

Câu trả lời:


12

Bạn đang sử dụng cài đặt chứng khoán của CentOS, nếu đó là chính xác, vui lòng kiểm tra xem liệu Selinux có ở chế độ Thực thi không

getenforce

nếu kết quả là "Thực thi"

tạm thời thay đổi nó để cho phép

setenforce 0

và thử lại, bạn cũng có thể hướng dẫn điều kiện của nội dung web đến các tệp trong thư mục chính của bạn.


Điều này đã lừa trong trường hợp của tôi. Nhưng nếu sau đó tôi củng cố lại (với setenforce 1 ) thì lỗi 403 sẽ không xuất hiện nữa, mặc dù cấu hình vẫn giống như trước đây, khi nó được sử dụng để hiển thị.
damix911

đây không gì khác hơn là một bản hack bẩn. Nó chắc chắn không phải là cách thích hợp để đơn giản hóa các tính năng bảo mật. Bạn nên cấu hình chúng thay thế.
The Fool

9

Vô hiệu hóa SELinux hoặc chạy trong 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

Câu trả lời của Freaktor về 'setenforce 0' đã "làm việc" với tôi (cảm ơn!)

Nhưng để giữ cho nó hoạt động và kích hoạt lại SELinux, tôi cần phải

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

... điều này đã mang lại cho thư mục của tôi và tất cả các tệp và thư mục trong đó bối cảnh bảo mật của "httpd_t", đó là một cách khó hiểu khi nói SELinux cho phép httpd đọc các tệp đó.

bật lại selinux đơn giản như

setenforce 1

2
Đây chỉ là tạm thời; bất kỳ tệp mới nào bạn tạo sẽ có bối cảnh ban đầu của chúng và SELinux vẫn sẽ từ chối quyền truy cập vào các tệp mới. Đối với một giải pháp lâu dài, xem câu trả lời này .
Michael Hampton

3

Bạn có thể có một từ chối tất cả ở đâu đó trong cấu hình toàn cầu. Hãy thử thêm phần này vào khổ thơ vhost:

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

+1, Ngoài ra @ Spero78 phải đảm bảo không có tệp .htaccess nào trong thư mục gốc của vhost của bạn với các chỉ thị hạn chế

0

bạn cần sử dụng <Directory>container như đã đề cập ở trên.

Và sau đó bạn cần phải kiểm tra từ bạn DocumentRootcon đường, Mỗi thư mục phải có sự cho phép đọc vì vậy người dùng dịch vụ apache thể truy cập.

bạn có thể kiểm tra bằng ls -ld


-1

Vui lòng thêm dòng dưới đây trong mã hiện tại của bạn.

restorecon -r /home/mcmoddr/www/

Nó sẽ khắc phục vấn đề của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.