是否有任何理由将 apache webroot /var/www/html 设置为 root 拥有?

Is there any reason that the apache webroot /var/www/html is set as root-owned?

我刚刚从 Digital Ocean 启动了一个 LAMP dropplet 并开始编码。当试图在网络根目录中创建一个新目录时,它说

mkdir: cannot create directory ‘blog’: Permission denied

我可以通过 运行 chown -R user /var/www/html 解决这个问题,但我想知道这是否会破坏某些东西,或者是否有更好的方法来解决这个问题。谢谢!

您有多种权限选项,但本质上 www-data 需要读取(可能还有执行)权限。

无论如何,我想重新定义 DocumentRoot in my VirtualHost 定义以使用 /var/www/html 以外的东西。

例如,您可以使用 /srv/www/sitename,然后为其分配权限 myuser:www-data

在 DigitalOcean 论坛(以及互联网周围)上也有许多关于 Web 文件权限方案的话题。 (例如 Proper Permissions for Web Server Directory。)