Apache-2.2
RHEL Apache:在 VirtualHost 上禁止 403
我的文件都歸 apache:apache 所有。所有目錄有770個權限,文件有660個權限。我原來的虛擬主機似乎很好,但第二個虛擬主機在所有路徑上都出現 403 錯誤。
這是我目前在 /etc/httpd/conf/httpd.conf 中的配置
<Directory "/var/www/site1"> Options Indexes FollowSymLinks AllowOverride All <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> <Directory "/var/www/site2"> Options Indexes FollowSymLinks AllowOverride All <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> <VirtualHost *:80> ServerAdmin serveradmin@domain.com DocumentRoot /var/www/site1/ ServerName site1.domain.com ErrorLog /var/log/httpd/site1.error.log CustomLog /var/log/httpd/site1.access.log common </VirtualHost> <VirtualHost *:80> ServerAdmin serveradmin@domain.com DocumentRoot /var/www/site2/ ServerName site2.domain.com ErrorLog /var/log/httpd/site2.error.log CustomLog /var/log/httpd/site2.access.log common </VirtualHost>
SELinux 很可能是這裡的罪魁禍首。
在目錄中創建文件/目錄時,以某種方式未正確繼承父上下文
/var/www
。
restorecon
使用隱式或顯式設置容器chcon
應該可以解決問題。
/var/log/audit.log
當您在 SELinux 設置中解決問題時,請注意線路。要解決手頭的問題,請執行:
# restorecon -R /var/www
作為根。這將恢復
/var/www
由 SELinux 的系統策略確定的上下文/var/www
及其下的所有文件夾和文件。