目前,在我的 VPS 上,我使用 apache2 在不同的虚拟主机上托管多个网站。
每个新网站的创建过程如下:
adduser websitename
su websitename
mkdir ~/public_html
mkdir ~/logs
exit
chmod g+s ~/public_html/
chown www-data:websitename ~/public_html/
然后,我添加 websitename.com 虚拟主机文件/etc/apache2/sites-available/
并运行a2ensite
命令并重新启动 apache2 进程。
我有两个问题:
- 目前,由于某种原因,
www-data
没有真正的权限来编辑文件/public_html/
,我该如何解决这个问题? - 在创建 vhost 的过程中您还有什么要添加的吗?
附言:我正在使用 Linode 上托管的 Ubuntu 10.04。
答案1
此命令:
chown www-data:websitename ~/public_html/
更改目录的所有者和组,但不更改目录下的任何内容。从您的问题中无法清楚了解目录内容的确切来源,但假设在运行命令时目录中有内容chown
,则需要告诉它递归目录,以便将这些权限应用于 ~/public_html 的内容,而不仅仅是目录本身。
chown -R www-data:websitename ~/public_html/
人们通常不赞成授予 Web 服务器写入任何内容的权限,您应该考虑它真正需要能够写入哪些文件才能正常运行,并且只允许它写入那些特定的文件。