温馨提示×

ubuntu apache如何调权限

小樊
41
2026-10-22 17:16:48
栏目: 智能运维

在 Ubuntu 上调整 Apache 的权限,通常包含以下几个方面,下面按常见场景给你说明:


一、Apache 运行用户和组

Ubuntu 下 Apache 默认运行用户是:

www-data:www-data

查看:

ps aux | grep apache2

二、修改网站目录权限(最常见)

假设你的网站目录是 /var/www/html

1️⃣ 修改目录所有者

sudo chown -R www-data:www-data /var/www/html

2️⃣ 设置目录权限

sudo find /var/www/html -type d -exec chmod 755 {} \;

3️⃣ 设置文件权限

sudo find /var/www/html -type f -exec chmod 644 {} \;

三、允许 Apache 写入目录(如上传、缓存)

例如 uploads 或 storage 目录:

sudo chown -R www-data:www-data /var/www/html/uploads
sudo chmod -R 775 /var/www/html/uploads

⚠️ 不建议整个网站设为 777


四、SELinux / AppArmor(Ubuntu 默认)

Ubuntu 默认 不使用 SELinux,而是 AppArmor

查看状态:

sudo aa-status

一般不需要改,除非你自定义了策略。


五、Apache 配置中的权限控制

1️⃣ 目录访问权限(Apache 2.4)

编辑虚拟主机或 /etc/apache2/apache2.conf

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

修改后重启:

sudo systemctl restart apache2

六、.htaccess 不生效

确保:

AllowOverride All

并启用模块(一般默认已启用):

sudo a2enmod rewrite
sudo systemctl restart apache2

七、用户家目录运行网站(如 ~/public_html)

sudo a2enmod userdir
sudo systemctl restart apache2

目录权限:

chmod 755 ~
chmod 755 ~/public_html

八、查看错误日志(排错必看)

sudo tail -f /var/log/apache2/error.log

九、常见错误速查

问题 原因
403 Forbidden 目录无权限 / Require all denied
500 错误 .htaccess 语法错
文件无法上传 目录无写权限
页面打不开 DocumentRoot 不对

如果你能告诉我:

  • Apache 版本(2.4?)
  • 网站路径
  • 具体报什么错(403 / 500 / Permission denied)

我可以给你更精确的权限方案。

0 踩