你问的“Ubuntu Apache2 怎么权限”,通常是指 Apache 能正常访问网站文件、不出现 403 Forbidden 的权限配置。下面按常见场景说明。
在 Ubuntu 中,Apache2 默认运行用户是:
www-data:www-data
查看:
ps aux | grep apache2
假设网站目录是:
/var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
✅ 这是最安全、最常用的权限方案。
如果你不想把目录全给 www-data,可以把自己加入 www-data 组:
sudo usermod -aG www-data $USER
然后:
sudo chown -R $USER:www-data /var/www/html
sudo chmod -R 775 /var/www/html
⚠️ 注意:775 仅适合开发环境,不建议生产环境。
sudo chown -R www-data:www-data /var/www/html/uploads
sudo chmod -R 755 /var/www/html/uploads
如果是图片上传:
sudo chmod -R 775 /var/www/html/uploads
编辑站点配置:
sudo nano /etc/apache2/sites-available/000-default.conf
确保有:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
如果是 Laravel / ThinkPHP / WordPress,通常需要:
AllowOverride All
然后重启:
sudo a2enmod rewrite
sudo systemctl restart apache2
Ubuntu 默认 没有 SELinux,所以不需要 chcon 之类的操作。
| 原因 | 解决 |
|---|---|
| 目录无执行权限 | chmod 755 |
| Apache 无访问权限 | chown www-data |
.htaccess 被禁 |
AllowOverride All |
| 没有 index 文件 | 加 index.php/index.html |
如果你能具体说一下:
我可以给你精确的一行命令方案。