CentOS 上 Apache HTTP Server 的权限设置
一 运行身份与目录所有权
sudo chown -R apache:apache /var/www/htmlsudo find /var/www/html -type d -exec chmod 755 {} \;sudo find /var/www/html -type f -exec chmod 644 {} \;二 访问控制与目录策略
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory "/var/www/html/private">
Require all denied
Require ip 192.168.1.0/24
</Directory>
sudo htpasswd -c /etc/httpd/.htpasswd alice<Directory "/var/www/html/secret">
AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
</Directory>
sudo httpd -t && sudo systemctl reload httpd。三 SELinux 与端口上下文
sestatus;临时切换为宽容模式用于排查:sudo setenforce 0(排查后请恢复为 enforcing)。sudo chcon -t httpd_sys_content_t /var/www/htmlsudo chcon -R -t httpd_sys_content_t /var/www/htmlsudo semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"
sudo restorecon -Rv /var/www
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/uploadssudo chcon -R -t httpd_sys_rw_content_t /var/www/data四 防火墙与端口放行
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
五 日志排查与变更生效
sudo httpd -tsudo systemctl restart httpd 或 sudo systemctl reload httpdcurl -I http://服务器IP或域名。